diff options
author | Kristján Valur Jónsson <kristjan@ccpgames.com> | 2009-06-07 16:43:23 +0000 |
---|---|---|
committer | Kristján Valur Jónsson <kristjan@ccpgames.com> | 2009-06-07 16:43:23 +0000 |
commit | afefcfd4bff7a50ba9a5fdd2b1a355f133c4b956 (patch) | |
tree | f453467a64c3419d0af29374f2d0d94fd1ae0b5f /Lib/SocketServer.py | |
parent | e021c9cb27734bce1e03c9b4509b4c6a20590e1a (diff) | |
download | cpython-git-afefcfd4bff7a50ba9a5fdd2b1a355f133c4b956.tar.gz |
http://bugs.python.org/issue6192
Add a feature to disable the Nagle algorithm on sockets in TCPServer
Diffstat (limited to 'Lib/SocketServer.py')
-rw-r--r-- | Lib/SocketServer.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/Lib/SocketServer.py b/Lib/SocketServer.py index f01cb5f2cc..5f8facce16 100644 --- a/Lib/SocketServer.py +++ b/Lib/SocketServer.py @@ -374,6 +374,7 @@ class TCPServer(BaseServer): - socket_type - request_queue_size (only for stream sockets) - allow_reuse_address + - disable_nagle_algorithm Instance variables: @@ -391,6 +392,8 @@ class TCPServer(BaseServer): 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 @@ class TCPServer(BaseServer): 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.""" |