Skip to content

Commit 9a810a9

Browse files
feature: add socket options keepintvl and keepcnt for tcp.
1 parent 1a954ef commit 9a810a9

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

src/ngx_http_lua_socket_tcp.c

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,8 @@ enum {
183183
NGX_HTTP_LUA_SOCKOPT_TCP_NODELAY,
184184
NGX_HTTP_LUA_SOCKOPT_SNDBUF,
185185
NGX_HTTP_LUA_SOCKOPT_RCVBUF,
186+
NGX_HTTP_LUA_SOCKOPT_KEEPINTVL,
187+
NGX_HTTP_LUA_SOCKOPT_KEEPCNT,
186188
};
187189

188190

@@ -6637,6 +6639,16 @@ ngx_http_lua_ffi_socket_tcp_getoption(ngx_http_lua_socket_tcp_upstream_t *u,
66376639
rc = getsockopt(fd, SOL_SOCKET, SO_KEEPALIVE, (void *) val, &len);
66386640
break;
66396641

6642+
#if (NGX_HAVE_KEEPALIVE_TUNABLE)
6643+
case NGX_HTTP_LUA_SOCKOPT_KEEPINTVL:
6644+
rc = getsockopt(fd, IPPROTO_TCP, TCP_KEEPINTVL, (void *) val, &len);
6645+
break;
6646+
6647+
case NGX_HTTP_LUA_SOCKOPT_KEEPCNT:
6648+
rc = getsockopt(fd, IPPROTO_TCP, TCP_KEEPCNT, (void *) val, &len);
6649+
break;
6650+
#endif
6651+
66406652
case NGX_HTTP_LUA_SOCKOPT_REUSEADDR:
66416653
rc = getsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (void *) val, &len);
66426654
break;
@@ -6695,6 +6707,18 @@ ngx_http_lua_ffi_socket_tcp_setoption(ngx_http_lua_socket_tcp_upstream_t *u,
66956707
(const void *) &val, len);
66966708
break;
66976709

6710+
#if (NGX_HAVE_KEEPALIVE_TUNABLE)
6711+
case NGX_HTTP_LUA_SOCKOPT_KEEPINTVL:
6712+
rc = setsockopt(fd, IPPROTO_TCP, TCP_KEEPINTVL,
6713+
(const void *) &val, len);
6714+
break;
6715+
6716+
case NGX_HTTP_LUA_SOCKOPT_KEEPCNT:
6717+
rc = setsockopt(fd, IPPROTO_TCP, TCP_KEEPCNT,
6718+
(const void *) &val, len);
6719+
break;
6720+
#endif
6721+
66986722
case NGX_HTTP_LUA_SOCKOPT_REUSEADDR:
66996723
rc = setsockopt(fd, SOL_SOCKET, SO_REUSEADDR,
67006724
(const void *) &val, len);

0 commit comments

Comments
 (0)