# nghttp2_session_change_extpri_stream_priority

## Synopsis

#include <nghttp2/nghttp2.h>

int nghttp2_session_change_extpri_stream_priority(nghttp2_session *session, int32_t stream_id, const nghttp2_extpri *extpri, int ignore_client_signal)

  Changes the priority of the existing stream denoted by stream_id. The new priority is extpri. This function is meant to be used by server for RFC 9218 extensible prioritization scheme.

  If session is initialized as client, this function returns `nghttp2_error.NGHTTP2_ERR_INVALID_STATE`. For client, use `nghttp2_submit_priority_update()` instead.

  If `extpri->urgency` is out of bound, it is set to `NGHTTP2_EXTPRI_URGENCY_LOW`.

  If ignore_client_signal is nonzero, server starts to ignore client priority signals for this stream.

  If `nghttp2_settings_id.NGHTTP2_SETTINGS_NO_RFC7540_PRIORITIES` of value of 1 is not submitted via `nghttp2_submit_settings()`, this function does nothing and returns 0.

  `nghttp2_error.NGHTTP2_ERR_NOMEM`

    Out of memory.

  `nghttp2_error.NGHTTP2_ERR_INVALID_STATE`

    The session is initialized as client.

  `nghttp2_error.NGHTTP2_ERR_INVALID_ARGUMENT`

    stream_id is zero; or a stream denoted by stream_id is not found.