Skip to content

Commit c0ab25b

Browse files
sander-vissercogu
authored andcommitted
Add option to disable nagle algorithm when connecting a client
1 parent ae3b2a4 commit c0ab25b

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

apx/client.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ def create_node(self, apxText):
5252
if node is not None:
5353
self.attach_node(node)
5454

55-
def connect_tcp(self, address, port):
56-
self.socketAdapter = remotefile.TcpSocketAdapter()
55+
def connect_tcp(self, address, port, nagle=True):
56+
self.socketAdapter = remotefile.TcpSocketAdapter(nagle)
5757
self.socketAdapter.setReceiveHandler(self.fileManager)
5858
if self.socketAdapter.connect(address, port):
5959
self.fileManager.start()

remotefile/socket_adapter.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,15 @@ class TcpSocketAdapter:
1010
"""
1111
Remotefile TCP socket adapter
1212
"""
13-
def __init__(self):
13+
def __init__(self, nagle=True):
1414
self.isConnected = False
1515
self.isAlive = False
1616
# a receiveHandler is a class implementing the
1717
# remotefile.ReceiveHandler interface. Ex. the remotefile.FileManager
1818
self.receiveHandler = None
1919
self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
20+
if not nagle:
21+
self.socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, True)
2022
self.isAcknowledgeSeen = False
2123

2224
def worker():

0 commit comments

Comments
 (0)