
ngtcp2_conn_encode_0rtt_transport_params
========================================

Synopsis
--------

*#include <ngtcp2/ngtcp2.h>*

.. function:: ngtcp2_ssize ngtcp2_conn_encode_0rtt_transport_params(ngtcp2_conn *conn, uint8_t *dest, size_t destlen)

    
    `ngtcp2_conn_encode_0rtt_transport_params` encodes the QUIC
    transport parameters that are used for 0-RTT data in the buffer
    pointed by *dest* of length *destlen*.  It includes at least the
    following fields:
    
    - :member:`ngtcp2_transport_params.initial_max_streams_bidi`
    - :member:`ngtcp2_transport_params.initial_max_streams_uni`
    - :member:`ngtcp2_transport_params.initial_max_stream_data_bidi_local`
    - :member:`ngtcp2_transport_params.initial_max_stream_data_bidi_remote`
    - :member:`ngtcp2_transport_params.initial_max_stream_data_uni`
    - :member:`ngtcp2_transport_params.initial_max_data`
    - :member:`ngtcp2_transport_params.active_connection_id_limit`
    - :member:`ngtcp2_transport_params.max_datagram_frame_size`
    
    If *conn* is initialized as server, the following additional fields
    are also included:
    
    - :member:`ngtcp2_transport_params.max_idle_timeout`
    - :member:`ngtcp2_transport_params.max_udp_payload_size`
    - :member:`ngtcp2_transport_params.disable_active_migration`
    
    If *conn* is initialized as client, these parameters are
    synthesized from the remote transport parameters received from
    server.  Otherwise, it is the local transport parameters that are
    set by the local endpoint.
    
    This function returns the number of bytes written, or one of the
    following negative error codes:
    
    :macro:`NGTCP2_ERR_NOBUF`
        Buffer is too small.
