Chris Angelico <ros...@gmail.com>: > On Mon, Sep 21, 2015 at 11:55 AM, Cameron Simpson <c...@zip.com.au> wrote: >> Another nice thing about TCP is that wil a little effort you get to >> pack multiple data packets (or partial data packets) into a network >> packet, etc. > > Emphatically - a little effort sometimes, and other times no effort at > all! If you write a packet of data, then write another one, and > another, and another, and another, without waiting for responses, > Nagling should combine them automatically. And even if they're not > deliberately queued by Nagle's Algorithm, packets can get combined for > other reasons. So, yeah! Definitely can help a lot with packet counts > on small writes.
Unfortunately, Nagle and delayed ACK, which are both defaults, don't go well together (you get nasty 200-millisecond hickups). I recommend using socket.TCP_CORK with socket.TCP_NODELAY where they are available (Linux). They give you Nagle without delayed ACK. See <URL: http://linux.die.net/man/7/tcp> As for the topic, TCP doesn't need wrappers to abstract away the difficult bits. That's a superficially good idea that leads to trouble. Marko -- https://mail.python.org/mailman/listinfo/python-list