Mercurial > cpython-lru_cache-weakref
diff Lib/SocketServer.py @ 54606:da6871b9d884 legacy-trunk
http://bugs.python.org/issue6192
Add a feature to disable the Nagle algorithm on sockets in TCPServer
| author | Kristján Valur Jónsson <kristjan@ccpgames.com> |
|---|---|
| date | Sun, 07 Jun 2009 16:43:23 +0000 |
| parents | fa080c4f539a |
| children | a20a377cc327 |
line wrap: on
line diff
--- a/Lib/SocketServer.py Sun Jun 07 16:24:48 2009 +0000 +++ b/Lib/SocketServer.py Sun Jun 07 16:43:23 2009 +0000 @@ -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."""
