From 1822a0a6f82e47f688e374cd48e4c497b2fb15e6 Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Fri, 4 Apr 2008 17:13:27 +0200 Subject: * digital/avr/modules/host, host/mex: - added TCP_NODELAY option. --- digital/avr/modules/host/socket.host.c | 8 ++++++++ host/mex/mex/hub.py | 1 + host/mex/mex/node.py | 1 + 3 files changed, 10 insertions(+) diff --git a/digital/avr/modules/host/socket.host.c b/digital/avr/modules/host/socket.host.c index 9953b3a9..f91140af 100644 --- a/digital/avr/modules/host/socket.host.c +++ b/digital/avr/modules/host/socket.host.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include @@ -72,6 +73,13 @@ socket_client (const char *addr, const char *port) perror ("socket"); exit (EXIT_FAILURE); } + int on = 1; + if (setsockopt (s, IPPROTO_TCP, TCP_NODELAY, (void *) &on, sizeof (on)) + < 0) + { + perror ("setsockopt (NODELAY)"); + exit (EXIT_FAILURE); + } if (connect (s, (struct sockaddr *) &saddr, sizeof (saddr)) < 0) { perror ("connect"); diff --git a/host/mex/mex/hub.py b/host/mex/mex/hub.py index 5255ae1d..a3dd785b 100644 --- a/host/mex/mex/hub.py +++ b/host/mex/mex/hub.py @@ -40,6 +40,7 @@ class Hub: self.date = 0 self.socket = socket.socket () self.socket.setsockopt (socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + self.socket.setsockopt (socket.SOL_TCP, socket.TCP_NODELAY, 1) self.socket.bind (self.addr) self.socket.listen (5) diff --git a/host/mex/mex/node.py b/host/mex/mex/node.py index c51d7c79..e54d1ba6 100644 --- a/host/mex/mex/node.py +++ b/host/mex/mex/node.py @@ -37,6 +37,7 @@ class Node: def __init__ (self, addr = mex.DEFAULT_ADDR): """Create a new Node and connect it to given Hub address.""" self.socket = socket.socket () + self.socket.setsockopt (socket.SOL_TCP, socket.TCP_NODELAY, 1) self.socket.connect (addr) self.date = 0 self.seq = 0 -- cgit v1.2.3