Здравствуйте, v2, Вы писали:
v2>Если я правильно понимаю, то, обычно, перед очередным WSASend на IOCP можно не ждать завершения предыдущего WSASend. v2> В таком случаи система перекладывает данные к себе, меня по-быстрому отпускает, а сама потихоньку отправляет данные.
А насколько я понимаю она не перекладывает себе данные. если ты их разрушишь до того как она пошлет, то будет ошибка.
У тебя уже есть IOCP. Тогда делается так, в WSAsend передается не overlapped а твоя структура большего размера в котором только начало overlapped.
Когда wsasend произойдет, ты получишь указатель на свою структуру (он же на overlapped). Исходя из нее, поймешь какие буфера посланы и что можно освобождать.
Очень удобно в одном потоке создаешь буферы и в сенд, в другом получаешь completition и освобождаешь (или складываешь в пустые)