[comp.protocols.tcp-ip] PUSH bit in the TCP header question...

gerke@zeus.unomaha.edu (02/02/91)

I need to know how to force the PUSH bit in the TCP header using the Berkeley
Sockets implementation.  I have seen vague references but no definitive
answer.  I'd be a happy camper if someone could point me in the right
direction...

Thanks!

thorinn@diku.dk (Lars Henrik Mathiesen) (02/03/91)

gerke@zeus.unomaha.edu writes:
>I need to know how to force the PUSH bit in the TCP header using the Berkeley
>Sockets implementation.  I have seen vague references but no definitive
>answer.  I'd be a happy camper if someone could point me in the right
>direction...

You cannot explicitly force it. It will be set when the output buffer
drains (i.e., when the sent-but-not-ack'ed mark reaches the end of the
buffer). Depending on the relative speeds of reader, writer and
network, that can be on every packet sent, or never.

However, if your program writes some stuff to the socket and waits for
the other end to acknowledge, the last TCP packet will have been sent
with a PUSH bit. Short of kernel gropery, that is the only way to be
sure.

--
Lars Mathiesen, DIKU, U of Copenhagen, Denmark      [uunet!]mcsun!diku!thorinn
Institute of Datalogy -- we're scientists, not engineers.      thorinn@diku.dk