[e2e] Need help: setting winsock receive low watermark while using completion port and TCP

Bob Braden braden at ISI.EDU
Wed Aug 24 05:43:01 PDT 2005

BTW, the designers of TCP included a protocol mechanism to deal with this
problem.  It is called "Push".  The Berkeley folks chose to ignore it
when they developed the socket interface, because it did not fit into
their model of a connection as a virtual file.  Interesting example
of an atrophied protocol mechanism.

Bob Braden

At 10:06 AM 8/24/2005 +0200, Lars Eggert wrote:
>On Aug 24, 2005, at 0:21, Alex Krivonosov (alexkr) wrote:
>>I have a TCP connection handled by the completion port IO model.
>>What is happening is in case I specify a large buffer for receiving
>>(WSARecv), the operation completes only after the buffer is full,
>>not after receiving about 500 bytes (a packet), so a significant
>>delay is introduced. In case of small buffers, performance
>>degrades. Any advice on this? Completion port model is a must.
>Please understand that TCP doesn't deliver "packets" to the
>application, it provides a byte stream. You may want to look into
>using non-blocking I/O for the receive call. (I don't know what you
>mean by "completion port model.")
>Lars Eggert                                     NEC Network Laboratories

More information about the end2end-interest mailing list