Skip to content

Commit 47971d6

Browse files
committed
examples/bench: Update server to use bigger bufs and TCP_NODELAY
1 parent eaaeb8f commit 47971d6

File tree

1 file changed

+18
-9
lines changed

1 file changed

+18
-9
lines changed

examples/bench/server.py

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,21 @@ async def echo_server(loop, address, unix):
2424
print('Server listening at', address)
2525
with sock:
2626
while True:
27-
client, addr = await loop.sock_accept(sock)
28-
if PRINT:
27+
client, addr = await loop.sock_accept(sock)
28+
if PRINT:
2929
print('Connection from', addr)
30-
loop.create_task(echo_client(loop, client))
30+
loop.create_task(echo_client(loop, client))
3131

3232

3333
async def echo_client(loop, client):
34+
try:
35+
client.setsockopt(IPPROTO_TCP, TCP_NODELAY, 1)
36+
except (OSError, NameError):
37+
pass
38+
3439
with client:
3540
while True:
36-
data = await loop.sock_recv(client, 10000)
41+
data = await loop.sock_recv(client, 1000000)
3742
if not data:
3843
break
3944
await loop.sock_sendall(client, data)
@@ -42,14 +47,18 @@ async def echo_client(loop, client):
4247

4348

4449
async def echo_client_streams(reader, writer):
50+
sock = writer.get_extra_info('socket')
51+
try:
52+
sock.setsockopt(IPPROTO_TCP, TCP_NODELAY, 1)
53+
except (OSError, NameError):
54+
pass
4555
if PRINT:
46-
sock = writer.get_extra_info('socket')
4756
print('Connection from', sock.getpeername())
4857
while True:
49-
data = await reader.read(100000)
50-
if not data:
51-
break
52-
writer.write(data)
58+
data = await reader.read(1000000)
59+
if not data:
60+
break
61+
writer.write(data)
5362
if PRINT:
5463
print('Connection closed')
5564
writer.close()

0 commit comments

Comments
 (0)