@deftypefun {ssize_t} {gnutls_record_recv_early_data} (gnutls_session_t @var{session}, void * @var{data}, size_t @var{data_size}) @var{session}: is a @code{gnutls_session_t} type. @var{data}: the buffer that the data will be read into @var{data_size}: the number of requested bytes This function can be used by a searver to retrieve data sent early in the handshake processes when resuming a session. This is used to implement a zero-roundtrip (0-RTT) mode. It has the same semantics as @code{gnutls_record_recv()} . This function can be called either in a handshake hook, or after the handshake is complete. @strong{Returns:} The number of bytes received and zero when early data reading is complete. A negative error code is returned in case of an error. If no early data is received during the handshake, this function returns @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} . The number of bytes received might be less than the requested @code{data_size} . @strong{Since:} 3.6.5 @end deftypefun