summaryrefslogtreecommitdiff
path: root/listen.c
diff options
context:
space:
mode:
authorRosen Penev <rosenp@gmail.com>2017-01-25 17:14:23 -0800
committerJo-Philipp Wich <jo@mein.io>2017-01-26 17:18:29 +0100
commita8bf9c00842224edb394e79909053f7628ee6a82 (patch)
treeaf20dfe38ace914d1e3479a700ff838603e41718 /listen.c
parente6cfc911811b904494776938a480e0b77a14124a (diff)
uhttpd: Add TCP_FASTOPEN support
Provides a small speedup when resuming the connection. Signed-off by: Rosen Penev <rosenp@gmail.com>
Diffstat (limited to 'listen.c')
-rw-r--r--listen.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/listen.c b/listen.c
index 92ca680..2a54888 100644
--- a/listen.c
+++ b/listen.c
@@ -107,15 +107,17 @@ void uh_setup_listeners(void)
/* TCP keep-alive */
if (conf.tcp_keepalive > 0) {
#ifdef linux
- int tcp_ka_idl, tcp_ka_int, tcp_ka_cnt;
+ int tcp_ka_idl, tcp_ka_int, tcp_ka_cnt, tcp_fstopn;
tcp_ka_idl = 1;
tcp_ka_cnt = 3;
tcp_ka_int = conf.tcp_keepalive;
+ tcp_fstopn = 5;
setsockopt(sock, SOL_TCP, TCP_KEEPIDLE, &tcp_ka_idl, sizeof(tcp_ka_idl));
setsockopt(sock, SOL_TCP, TCP_KEEPINTVL, &tcp_ka_int, sizeof(tcp_ka_int));
setsockopt(sock, SOL_TCP, TCP_KEEPCNT, &tcp_ka_cnt, sizeof(tcp_ka_cnt));
+ setsockopt(sock, SOL_TCP, TCP_FASTOPEN, &tcp_fstopn, sizeof(tcp_fstopn));
#endif
setsockopt(sock, SOL_SOCKET, SO_KEEPALIVE, &yes, sizeof(yes));