Add a feature to disable the Nagle algorithm on sockets in TCPServer
This commit is contained in:
Kristján Valur Jónsson 2009-06-07 16:43:23 +00:00
parent e021c9cb27
commit afefcfd4bf
2 changed files with 16 additions and 1 deletions

View file

@ -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."""