gnutls_transport_set_pull_timeout_function
Section: gnutls (3)
Updated: 3.7.1
Page Index
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 © 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
notice and this notice are preserved.
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/
-