ort_set_pull_timeout_function (gnutls_session_t SESSION, gnutls_pull_timeout_func FUNC) SESSION: is a ‘gnutls_session_t’ type. FUNC: a callback function This is the function where you set a function for gnutls to know whether data are ready to be received. It should wait for data a given time frame in milliseconds. The callback should return 0 on timeout, a positive number if data can be received, and -1 on error. You'll need to override this function if ‘select()’ is not suitable for the provided transport calls. As with ‘select()’ , if the timeout value is zero the callback should return zero if no data are immediately available. The special value ‘GNUTLS_INDEFINITE_TIMEOUT’ indicates that the callback should wait indefinitely for data. ‘gnutls_pull_timeout_func’ is of the form, int (*gnutls_pull_timeout_func)(gnutls_transport_ptr_t, unsigned int ms); This callback is necessary when ‘gnutls_handshake_set_timeout()’ or ‘gnutls_record_set_timeout()’ are set, under TLS1.3 and for enforcing the DTLS mode timeouts when in blocking mode. For compatibility with future GnuTLS versions this callback must be set when a custom pull function is registered. The callback will not be used when the session is in TLS mode with non-blocking sockets. That is, when ‘GNUTLS_NONBLOCK’ is specified for a TLS session in ‘gnutls_init()’ . The helper function ‘gnutls_system_recv_timeout()’ is provided to simplify writing callbacks. *Since:* 3.0 -- Function: unsigned int gnutls_dtls_get_timeout (gnutls_session_t SESSION) SESSION: is a ‘gnutls_session_t’ type. This function will return the milliseconds remaining for a retransmission of the previously sent handshake message. This function is useful when DTLS is used in non-blocking mode, to estimate when to call ‘gnutls_handshake()’ if no packets have been received. *Returns:* the remaining time in milliseconds. *Since:* 3.0 * Menu: * Asynchronous operation:: * Reducing round-trips:: * Zero-roundtrip mode:: * Anti-replay protection:: * DTLS sessions:: * DTLS and SCTP::