|
NAME | SYNOPSIS | ARGUMENTS | DESCRIPTION | SINCE | REPORTING BUGS | COPYRIGHT | SEE ALSO | COLOPHON |
gnutls_transport_set_pull_timeout_function(3)rt_set_pull_timeout_function(3)
gnutls_transport_set_pull_timeout_function - API function
#include <gnutls/gnutls.h>
void gnutls_transport_set_pull_timeout_function(gnutls_session_t
session, gnutls_pull_timeout_func func);
gnutls_session_t session
is a gnutls_session_t type.
gnutls_pull_timeout_func 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. It will not be used when
non-blocking sockets are in use. That is, this function will not
operate when GNUTLS_NONBLOCK is specified in gnutls_init(), or a
custom pull function is registered without updating the pull timeout
function.
The helper function gnutls_system_recv_timeout() is provided to
simplify writing callbacks.
3.0
Report bugs to <bugs@gnutls.org>.
Home page: http://www.gnutls.org
Copyright © 2001-2017 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.
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
http://www.gnutls.org/manual/
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 bugs@gnutls.org.. This page was obtained from the
tarball gnutls-3.5.9.tar.xz fetched from
⟨http://www.gnutls.org/download.html⟩ on 2017-07-05. 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 man-pages@man7.org
gnutls gnutl3s._5t.r9ansport_set_pull_timeout_function(3)