An endpoint sends a MAX_REQUEST_ID message to increase the number of requests the peer can send within a session.
The Maximum Request ID MUST only increase within a session, and receipt of a MAX_REQUEST_ID message with an equal or smaller Request ID value is a 'Protocol Violation'.
MAX_REQUEST_ID Message {
Type (i) = 0x15,
Length (16),
Request ID (i),
}
-
Request ID: The new Maximum Request ID for the session plus one. If a Request ID equal or larger than this is received by the endpoint that sent the MAX_REQUEST_ID in any request message (ANNOUNCE, FETCH, SUBSCRIBE, SUBSCRIBE_NAMESPACE or TRACK_STATUS), the endpoint MUST close the session with an error of 'Too Many Requests'.
MAX_REQUEST_ID is similar to MAX_STREAMS in ([RFC9000], Section 4.6), and similar considerations apply when deciding how often to send MAX_REQUEST_ID. For example, implementations might choose to increase MAX_REQUEST_ID as subscriptions close to keep the number of subscriptions available roughly consistent.