This is a TLS extension that allows to ping and receive confirmation from the peer,
and is described in [RFC6520]. The extension is disabled by default and
gnutls_heartbeat_enable can be used to enable it. A policy
may be negotiated to only allow sending heartbeat messages or sending and receiving.
The current session policy can be checked with gnutls_heartbeat_allowed.
The requests coming from the peer result to
being returned from the receive function. Ping requests to peer can be send via
unsigned gnutls_heartbeat_allowed (gnutls_session_t session, unsigned int type)
void gnutls_heartbeat_enable (gnutls_session_t session, unsigned int type)
int gnutls_heartbeat_ping (gnutls_session_t session, size_t data_size, unsigned int max_tries, unsigned int flags)
int gnutls_heartbeat_pong (gnutls_session_t session, unsigned int flags)
void gnutls_heartbeat_set_timeouts (gnutls_session_t session, unsigned int retrans_timeout, unsigned int total_timeout)
unsigned int gnutls_heartbeat_get_timeout (gnutls_session_t session)