mirror of
https://github.com/python/cpython.git
synced 2025-07-30 06:34:15 +00:00
Add a feature to disable the Nagle algorithm on sockets in TCPServer
This commit is contained in:
parent
e021c9cb27
commit
afefcfd4bf
2 changed files with 16 additions and 1 deletions
|
@ -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."""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue