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
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.
This page is part of the GnuTLS (GnuTLS Transport Layer Security
Library) project. Information about the project can be found at
⟨http://www.gnutls.org/⟩. If you have a bug report for this
manual page, send it to email@example.com. This page was obtained
from the tarball gnutls-3.8.0.tar.xz fetched from
⟨http://www.gnutls.org/download.html⟩ on 2023-06-23. If you
discover any rendering problems in this HTML version of the page,
or you believe there is a better or more up-to-date source for
the page, or you have corrections or improvements to the
information in this COLOPHON (which is not part of the original
manual page), send a mail to firstname.lastname@example.org