Dan Stromberg <drsali...@gmail.com>: > On Mon, Oct 20, 2014 at 9:41 PM, Marko Rauhamaa <ma...@pacujo.net> wrote: >> Nagle affects the communication between the peer OS kernels and isn't >> directly related to anything the application does. > > Actually, Nagle can cause two or more small packets to be merged, > which is something an application must be able to deal with, because > they could show up in the receiving application as one or more (but > anyway: fewer) merged recv()'s.
Packets have barely anything to do with TCP sockets since they provide an octet stream abstraction. > Of course, but who's doing one byte per second? You and I in our > tests, and perhaps some application developers with remarkably > undemanding I/O. That doesn't really mean we should _recommend_ a > series of os.read(0, 1)'s. No, here's my statement: if you need to process input as soon as it becomes available, you can't use sys.stdin. Instead, you need to use os.read(). You typically supply os.read() with a buffer of a kilobyte or more. Key is, os.read() returns right away if fewer bytes are available. Marko -- https://mail.python.org/mailman/listinfo/python-list