mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-11-04 15:07:32 +00:00
TCP keep-alive probes are only sent while there is no unacknowledged data, so a connection that died with data in flight is only reported as failed when the OS gives up retransmitting - about 15 minutes on Linux and Android. The pinned simplexmq sets TCP_USER_TIMEOUT (TCP_RXT_CONNDROPTIME on Darwin) to the keep-alive detection time when the client asks for it, so such a connection fails after the same time as an idle one. It is off unless the client sets it, and it is not set for connections via a SOCKS proxy - the socket is then connected to the proxy, and a slow circuit should not fail the connection.