[comp.protocols.tcp-ip] TCP Push?

willis@CSSUN.TAMU.EDU (Willis Marti) (09/28/90)

This has to be one of the novice questions, but I haven't been able to dig out
the answer.
Programming under SunOS 4.1, using sockets and send and all that, how can I
tell the TCP to "push" the (possibly buffered) data out *now* and not wait to
piggyback anything.  I don't want to use URGENT (and I'm not sure it has the
same effect).  The only thing I see is to use setsockopt so that TCP *never*
delays... Not really the effect I want either.
What I want is flush for a socket.
Is the PUSH bit implemented? Can I (an application program) set it?
RTFM's accepted, if you'll give me the page.
Thanks,
-------------------------------------------------------------------------------
 Willis F. Marti                Internet: willis@cs.tamu.edu
 Director, Computer Services Group, Dept of Computer Science, Texas A&M Univ.
        ---Not an official document of Texas A&M---

rpw3@rigden.wpd.sgi.com (Rob Warnock) (09/30/90)

In article <9009281442.AA26616@cssun.tamu.edu> willis@CSSUN.TAMU.EDU
(Willis Marti) writes:
+---------------
| This has to be one of the novice questions, but I haven't been able to dig
| out the answer. Programming under SunOS 4.1, using sockets and send and all
| that, how can I tell the TCP to "push" the (possibly buffered) data out *now*
| and not wait to piggyback anything....
+---------------

All "BSD 4.x"-derived TCPs (and I believe that includes Sun's) automatically
set the "PUSH" bit on the last packet of any Unix "write()". That is, a write
to a socket *is* a "write-and-push".

There are too many applications that would break if this were not the case.


-Rob

-----
Rob Warnock, MS-9U/510		rpw3@sgi.com		rpw3@pei.com
Silicon Graphics, Inc.		(415)335-1673		Protocol Engines, Inc.
2011 N. Shoreline Blvd.
Mountain View, CA  94039-7311