From 0ef6eec3f5dc4a3399baf80b7307404a2078424a Mon Sep 17 00:00:00 2001 From: Kent Bair Date: Wed, 16 Nov 2022 13:27:42 -0700 Subject: [PATCH] Added a tcp keep alive to the socket --- lib/cosmos/streams/tcpip_client_stream.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/cosmos/streams/tcpip_client_stream.rb b/lib/cosmos/streams/tcpip_client_stream.rb index 63d09cdfd..422ad007f 100644 --- a/lib/cosmos/streams/tcpip_client_stream.rb +++ b/lib/cosmos/streams/tcpip_client_stream.rb @@ -55,6 +55,8 @@ def initialize(hostname, write_port, read_port, write_timeout, read_timeout, con if @write_addr write_socket = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM, 0) write_socket.setsockopt(Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1) + write_socket.setsockopt(Socket::SOL_SOCKET, Socket::SO_KEEPALIVE, true) + write_socket.setsockopt(Socket::SOL_TCP, Socket::TCP_KEEPCNT, 7200) end read_socket = nil @@ -62,6 +64,8 @@ def initialize(hostname, write_port, read_port, write_timeout, read_timeout, con if @write_port != @read_port read_socket = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM, 0) read_socket.setsockopt(Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1) + read_socket.setsockopt(Socket::SOL_SOCKET, Socket::SO_KEEPALIVE, true) + read_socket.setsockopt(Socket::SOL_TCP, Socket::TCP_KEEPCNT, 7200) else read_socket = write_socket end