diff options
| author | Laurent Bercot <ska-skaware@skarnet.org> | 2025-08-29 20:54:24 +0000 |
|---|---|---|
| committer | Laurent Bercot <ska@appnovation.com> | 2025-08-29 20:54:24 +0000 |
| commit | 62cc58a2589b136176d4bb49ba19cab7fa76f8f8 (patch) | |
| tree | 0173f0c2ee6b78d2a98b09109a089468bb4824dd | |
| parent | a83de08e41f91f878e5bf975cd0e30d23b4dda16 (diff) | |
| download | skalibs-62cc58a2589b136176d4bb49ba19cab7fa76f8f8.tar.gz | |
Add socket_tcpdelay
Signed-off-by: Laurent Bercot <ska@appnovation.com>
| -rw-r--r-- | NEWS | 2 | ||||
| -rw-r--r-- | doc/upgrade.html | 3 | ||||
| -rw-r--r-- | package/deps.mak | 1 | ||||
| -rw-r--r-- | src/include/skalibs/socket.h | 1 | ||||
| -rw-r--r-- | src/libstddjb/socket_tcpdelay.c | 15 | ||||
| -rw-r--r-- | src/libstddjb/socket_tcpnodelay.c | 4 |
6 files changed, 22 insertions, 4 deletions
@@ -8,7 +8,7 @@ In 2.14.5.0 - crc32c implementation: skalibs/crc32c.h - new skalibs/prog.h header for PROG modifications - new functions: symlink_at, mkdirp, mkdirp2, mkntemp, - atomic_symlink4, qsortr, env_dump4 + atomic_symlink4, qsortr, env_dump4, socket_tcpdelay In 2.14.4.0 diff --git a/doc/upgrade.html b/doc/upgrade.html index e9d30cd..1536a04 100644 --- a/doc/upgrade.html +++ b/doc/upgrade.html @@ -22,7 +22,8 @@ <li> Support for shared libraries on MacOS </li> <li> New <tt>skalibs/prog.h</tt> header, for PROG modifications </li> <li> New functions: <tt>crc32c</tt>, <tt>symlink_at</tt>, <tt>mkdirp</tt>, -<tt>atomic_symlink4</tt>, <tt>mkdirp2</tt>, <tt>mkntemp</tt>, <tt>qsortr</tt>, <tt>env_dump4</tt> </li> +<tt>atomic_symlink4</tt>, <tt>mkdirp2</tt>, <tt>mkntemp</tt>, <tt>qsortr</tt>, +<tt>env_dump4</tt>, <tt>socket_tcpdelay</tt> </li> </ul> <h2> in 2.14.4.0 </h2> diff --git a/package/deps.mak b/package/deps.mak index 420fb67..dbf3401 100644 --- a/package/deps.mak +++ b/package/deps.mak @@ -570,6 +570,7 @@ src/libstddjb/socket_send4.o src/libstddjb/socket_send4.lo: src/libstddjb/socket src/libstddjb/socket_send6.o src/libstddjb/socket_send6.lo: src/libstddjb/socket_send6.c src/include/skalibs/ip46.h src/include/skalibs/nonposix.h src/include/skalibs/socket.h src/include/skalibs/uint16.h src/libstddjb/socket_tcp4.o src/libstddjb/socket_tcp4.lo: src/libstddjb/socket_tcp4.c src/include/skalibs/nonposix.h src/include/skalibs/socket.h src/libstddjb/socket_tcp6.o src/libstddjb/socket_tcp6.lo: src/libstddjb/socket_tcp6.c src/include/skalibs/djbunix.h src/include/skalibs/ip46.h src/include/skalibs/nonposix.h src/include/skalibs/socket.h +src/libstddjb/socket_tcpdelay.o src/libstddjb/socket_tcpdelay.lo: src/libstddjb/socket_tcpdelay.c src/include/skalibs/nonposix.h src/include/skalibs/socket.h src/libstddjb/socket_tcpnodelay.o src/libstddjb/socket_tcpnodelay.lo: src/libstddjb/socket_tcpnodelay.c src/include/skalibs/nonposix.h src/include/skalibs/socket.h src/libstddjb/socket_timeoutconn.o src/libstddjb/socket_timeoutconn.lo: src/libstddjb/socket_timeoutconn.c src/include/skalibs/socket.h src/include/skalibs/tai.h src/libstddjb/socket_tryreservein.o src/libstddjb/socket_tryreservein.lo: src/libstddjb/socket_tryreservein.c src/include/skalibs/nonposix.h src/include/skalibs/socket.h 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)) ; } |
