http://bugs.python.org/issue6192
Add a feature to disable the Nagle algorithm on sockets in TCPServer
diff --git a/Lib/SocketServer.py b/Lib/SocketServer.py
index f01cb5f..5f8facc 100644
--- a/Lib/SocketServer.py
+++ b/Lib/SocketServer.py
@@ -374,6 +374,7 @@
     - socket_type
     - request_queue_size (only for stream sockets)
     - allow_reuse_address
+    - disable_nagle_algorithm
 
     Instance variables:
 
@@ -391,6 +392,8 @@
 
     allow_reuse_address = False
 
+    disable_nagle_algorithm = False
+
     def __init__(self, server_address, RequestHandlerClass, bind_and_activate=True):
         """Constructor.  May be extended, do not override."""
         BaseServer.__init__(self, server_address, RequestHandlerClass)
@@ -441,7 +444,10 @@
         May be overridden.
 
         """
-        return self.socket.accept()
+        request = self.socket.accept()
+        if self.disable_nagle_algorithm:
+            request[0].setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, True)
+        return request
 
     def close_request(self, request):
         """Called to clean up an individual request."""