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::

