ngtcp2_conn_open_uni_stream =========================== Synopsis -------- *#include * .. function:: int ngtcp2_conn_open_uni_stream(ngtcp2_conn *conn, int64_t *pstream_id, void *stream_user_data) `ngtcp2_conn_open_uni_stream` opens new unidirectional stream. The *stream_user_data* is the user data specific to the stream. The stream ID of the opened stream is stored in *\*pstream_id*. Application can call this function before handshake completes. For 0-RTT packet, application can call this function after calling `ngtcp2_conn_decode_and_set_0rtt_transport_params`. For 1-RTT packet, application can call this function after calling `ngtcp2_conn_decode_and_set_remote_transport_params` and `ngtcp2_conn_install_tx_key`. If ngtcp2 crypto support library is used, application can call this function after calling `ngtcp2_crypto_derive_and_install_tx_key` for 1-RTT packet. This function returns 0 if it succeeds, or one of the following negative error codes: :macro:`NGTCP2_ERR_NOMEM` Out of memory :macro:`NGTCP2_ERR_STREAM_ID_BLOCKED` The remote endpoint does not allow *stream_id* yet.