Функции API (API function)
Имя (Name)
gnutls_transport_set_pull_timeout_function - API function
Синопсис (Synopsis)
#include <gnutls/gnutls.h>
void gnutls_transport_set_pull_timeout_function(gnutls_session_t
session, gnutls_pull_timeout_func
func);
Аргументы (Arguments)
gnutls_session_t session
is a gnutls_session_t
type.
gnutls_pull_timeout_func func
a callback function
Описание (Description)
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.
Сообщение об ошибках (Reporting bugs)
Report bugs to <bugs@gnutls.org>.
Home page: https://www.gnutls.org
Смотри также (See also)
The full documentation for gnutls
is maintained as a Texinfo
manual. If the /usr/share/doc/gnutls/ directory does not contain
the HTML form visit
https://www.gnutls.org/manual/