ngtcp2_decode_transport_params_new

Synopsis

#include <ngtcp2/ngtcp2.h>

int ngtcp2_decode_transport_params_new(ngtcp2_transport_params **pparams, uint32_t flags, ngtcp2_transport_params_type exttype, const uint8_t *data, size_t datalen, const ngtcp2_mem *mem)

ngtcp2_decode_transport_params_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_decode_transport_params(), all direct and indirect fields are also allocated dynamically if needed.

flags is bitwise OR of zero or more of NGTCP2_TRANSPORT_PARAMS_DECODE_FLAG_*. If NGTCP2_TRANSPORT_PARAMS_DECODE_FLAG_IGNORE_MISSING_REQUIRED_FIELDS is set, this function does not check the missing required fields, and NGTCP2_ERR_REQUIRED_TRANSPORT_PARAM will not be returned.

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:

NGTCP2_ERR_REQUIRED_TRANSPORT_PARAM

The required parameter is missing.

NGTCP2_ERR_MALFORMED_TRANSPORT_PARAM

The input is malformed.

NGTCP2_ERR_NOMEM

Out of memory.