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

       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/