Функции API (API function)
Имя (Name)
gnutls_transport_set_fastopen - API function
Синопсис (Synopsis)
#include <gnutls/socket.h>
void gnutls_transport_set_fastopen(gnutls_session_t
session, int
fd, struct sockaddr *
connect_addr, socklen_t
connect_addrlen,
unsigned int
flags);
Аргументы (Arguments)
gnutls_session_t session
is a gnutls_session_t
type.
int fd is the session's socket descriptor
struct sockaddr * connect_addr
is the address we want to connect to
socklen_t connect_addrlen
is the length of connect_addr
unsigned int flags
must be zero
Описание (Description)
Enables TCP Fast Open (TFO) for the specified TLS client session.
That means that TCP connection establishment and the transmission
of the first TLS client hello packet are combined. The peer's
address must be specified in connect_addr and connect_addrlen
, and the socket specified by fd should not be connected.
TFO only works for TCP sockets of type AF_INET and AF_INET6. If
the OS doesn't support TCP fast open this function will result to
gnutls using connect()
transparently during the first write.
Примечание (Note)
This function overrides all the transport callback functions. If
this is undesirable, TCP Fast Open must be implemented on the
user callback functions without calling this function. When using
this function, transport callbacks must not be set, and
gnutls_transport_set_ptr()
or gnutls_transport_set_int()
must not
be called.
On GNU/Linux TFO has to be enabled at the system layer, that is
in /proc/sys/net/ipv4/tcp_fastopen, bit 0 has to be set.
This function has no effect on server sessions.
Сообщение об ошибках (Reporting bugs)
Report bugs to <bugs@gnutls.org>.
Home page: https://www.gnutls.org
Смотри также (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/