summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikhail Burakov <mburakov@mailbox.org>2024-05-05 15:15:45 +0200
committerMikhail Burakov <mburakov@mailbox.org>2024-05-05 15:15:45 +0200
commit0f19915421fb2398fb4753bf2d427ef5c447c0dd (patch)
treeb16dbbd31ca37c02242ab1d46f9dc1d32fc35d1c
parentcca29bc591e3309fcdc650c8b9463e254414de43 (diff)
Set TCP_NODELAY on accepted client connections
-rw-r--r--main.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/main.c b/main.c
index 7bd2c7b..a180bca 100644
--- a/main.c
+++ b/main.c
@@ -17,11 +17,13 @@
#include <errno.h>
#include <netinet/in.h>
+#include <netinet/tcp.h>
#include <signal.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <sys/socket.h>
#include <unistd.h>
#include "capture.h"
@@ -228,6 +230,11 @@ static void OnClientConnecting(void* user) {
return;
}
+ if (setsockopt(client_fd, IPPROTO_TCP, TCP_NODELAY, &(int){1}, sizeof(int))) {
+ LOG("Failed to set TCP_NODELAY (%s)", strerror(errno));
+ goto drop_client;
+ }
+
contexts->client_fd = client_fd;
if (!IoMuxerOnRead(&contexts->io_muxer, contexts->client_fd, &OnClientWriting,
user)) {