Если я правильно понимаю, то, обычно, перед очередным WSASend на IOCP можно не ждать завершения предыдущего WSASend.
В таком случаи система перекладывает данные к себе, меня по-быстрому отпускает, а сама потихоньку отправляет данные.
Если данных будет слишком — я получу WSAENOBUFS — после чего нормально работать с сокетом уже невозможно (у меня не получилось).
Решение с WSAGetOverlappedResult когда (fWait = false) уж очень некрасивое, а когда (fWait = true) – может усыпить поток навсегда.
Как правильно (не создавая Event-ов или прочей синхры) разрешить эту ситуацию (подождать завершения предыдущего WSASend) ?