summaryrefslogtreecommitdiff
path: root/Lib/SocketServer.py
diff options
context:
space:
mode:
authorKristján Valur Jónsson <kristjan@ccpgames.com>2009-06-07 16:43:23 +0000
committerKristján Valur Jónsson <kristjan@ccpgames.com>2009-06-07 16:43:23 +0000
commitafefcfd4bff7a50ba9a5fdd2b1a355f133c4b956 (patch)
treef453467a64c3419d0af29374f2d0d94fd1ae0b5f /Lib/SocketServer.py
parente021c9cb27734bce1e03c9b4509b4c6a20590e1a (diff)
downloadcpython-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.py8
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."""