package tcpip
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=fac07ce986811cf5e3d71373d92b631cc30fbef548d6da21b0917212dcf90b03
sha512=01de13f560d58b1524c39619e4e4cb6ebbf069155eb43d0f264aa12b00e0cc8c39792719e3ca46585dd596b692b8e1e3f8c132f005ed9e2d77747c0c158bf4d9
doc/tcpip.tcp/Tcp/Keepalive/index.html
Module Tcp.Keepalive
Source
TCP keepalives.
A TCP implementation may send "keep-alives" (empty TCP ACKs with the sequence number set to one less than the current sequence number for the connection) in order to provoke the peer to respond with an ACK of the current sequence number. If the peer doesn't recognise the connection (e.g. because the connection state has been dropped) then it will return a RST; if the peer (or the network in-between) fails to respond to a configured number of repeated probes then the connection is assumed to be lost.
type action = [
| `SendProbe
(*we should send a keep-alive now
*)| `Wait of Duration.t
(*sleep for a given number of nanoseconds
*)| `Close
(*connection should be closed
*)
]
An I/O action to perform
State of a current connection
next ~configuration ~ns state
returns the action we should take given that we last received a packet ns
nanoseconds ago and the new state of the connection
A keep-alive timer
create configuration f clock
returns a keep-alive timer which will call f
in future depending on both the configuration
and any calls to refresh