FreeBSD manual
download PDF document: gnutls_transport_set_pull_timeout_function.3.pdf
gnutls_transport_set_pull_timeout_function(3) gnutls
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.
SINCE
3.0
REPORTING BUGS
Report bugs to <bugs@gnutls.org>.
Home page: https://www.gnutls.org
COPYRIGHT
Copyright (C) 2001- Free Software Foundation, Inc., and others.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
https://www.gnutls.org/manual/
gnutls 3.7.9
gnutls_transport_set_pull_timeout_function(3)