
ngtcp2_transport_params_decode_new
==================================

Synopsis
--------

*#include <ngtcp2/ngtcp2.h>*

.. function:: int ngtcp2_transport_params_decode_new(ngtcp2_transport_params **pparams, const uint8_t *data, size_t datalen, const ngtcp2_mem *mem)

    
    `ngtcp2_transport_params_decode_new` decodes transport parameters
    in *data* of length *datalen*, and stores the result in the object
    allocated dynamically.  The pointer to the allocated object is
    assigned to *\*pparams*.  Unlike `ngtcp2_transport_params_decode`,
    all direct and indirect fields are also allocated dynamically if
    needed.
    
    *mem* is a memory allocator to allocate memory.  If *mem* is
    ``NULL``, the memory allocator returned by `ngtcp2_mem_default()`
    is used.
    
    If the optional parameters are missing, the default value is
    assigned.
    
    `ngtcp2_transport_params_del` frees the memory allocated by this
    function.
    
    This function returns 0 if it succeeds, or one of the following
    negative error codes:
    
    :macro:`NGTCP2_ERR_MALFORMED_TRANSPORT_PARAM`
        The input is malformed.
    :macro:`NGTCP2_ERR_NOMEM`
        Out of memory.
