bionic (3) gnutls_transport_set_pull_timeout_function.3.gz

Provided by: gnutls-doc_3.5.18-1ubuntu1.6_all bug

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,
       and for calculating the DTLS mode timeouts.

       In short, this callback should 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().  For  compatibility  with  future  GnuTLS  versions  it  is
       recommended to always set this function when a custom pull function is registered.

       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: http://www.gnutls.org

       Copyright © 2001-2022 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

       http://www.gnutls.org/manual/