aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/include/skalibs/socket.h1
-rw-r--r--src/libstddjb/socket_tcpdelay.c15
-rw-r--r--src/libstddjb/socket_tcpnodelay.c4
3 files changed, 18 insertions, 2 deletions
diff --git a/src/include/skalibs/socket.h b/src/include/skalibs/socket.h
index f13b2ee..944fdd0 100644
--- a/src/include/skalibs/socket.h
+++ b/src/include/skalibs/socket.h
@@ -156,6 +156,7 @@ extern int socket_remote6 (int, char *, uint16_t *) ;
extern int socket_ipoptionskill (int) ;
extern int socket_tcpnodelay (int) ;
+extern int socket_tcpdelay (int) ;
extern void socket_tryreservein (int, unsigned int) ;
diff --git a/src/libstddjb/socket_tcpdelay.c b/src/libstddjb/socket_tcpdelay.c
new file mode 100644
index 0000000..8f1c026
--- /dev/null
+++ b/src/libstddjb/socket_tcpdelay.c
@@ -0,0 +1,15 @@
+/* ISC license. */
+
+#include <skalibs/nonposix.h>
+
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <netinet/tcp.h>
+
+#include <skalibs/socket.h>
+
+int socket_tcpdelay (int s)
+{
+ static int const val = 0 ;
+ return setsockopt(s, IPPROTO_TCP, TCP_NODELAY, &val, sizeof(int)) ;
+}
diff --git a/src/libstddjb/socket_tcpnodelay.c b/src/libstddjb/socket_tcpnodelay.c
index 5ea10b0..8880af4 100644
--- a/src/libstddjb/socket_tcpnodelay.c
+++ b/src/libstddjb/socket_tcpnodelay.c
@@ -10,6 +10,6 @@
int socket_tcpnodelay (int s)
{
- static int const opt = TCP_NODELAY ;
- return setsockopt(s, IPPROTO_TCP, 1, &opt, sizeof(int)) ;
+ static int const val = 1 ;
+ return setsockopt(s, IPPROTO_TCP, TCP_NODELAY, &val, sizeof(int)) ;
}