



@deftypefun {int} {gnutls_session_key_update} (gnutls_session_t @var{session}, unsigned @var{flags})
@var{session}: is a @code{gnutls_session_t}  type.

@var{flags}: zero of @code{GNUTLS_KU_PEER} 

This function will update/refresh the session keys when the
TLS protocol is 1.3 or better. The peer is notified of the
update by sending a message, so this function should be
treated similarly to @code{gnutls_record_send()}  --i.e., it may
return @code{GNUTLS_E_AGAIN}  or @code{GNUTLS_E_INTERRUPTED} .

When this flag @code{GNUTLS_KU_PEER}  is specified, this function
in addition to updating the local keys, will ask the peer to
refresh its keys too.

If the negotiated version is not TLS 1.3 or better this
function will return @code{GNUTLS_E_INVALID_REQUEST} .

@strong{Returns:} @code{GNUTLS_E_SUCCESS}  on success, otherwise a negative error code.

@strong{Since:} 3.6.3
@end deftypefun
