#[repr(u64)]pub enum SessionErrorCode {
Show 19 variants
NoError = 0,
InternalError = 1,
Unauthorized = 2,
ProtocolViolation = 3,
InvalidRequestId = 4,
DuplicateTrackAlias = 5,
KeyValueFormattingError = 6,
TooManyRequests = 7,
InvalidPath = 8,
MalformedPath = 9,
GoawayTimeout = 16,
ControlMessageTimeout = 17,
DataStreamTimeout = 18,
AuthTokenCacheOverflow = 19,
DuplicateAuthTokenAlias = 20,
VersionNegotiationFailed = 21,
MalformedAuthToken = 22,
UnknownAuthTokenAlias = 23,
ExpiredAuthToken = 24,
}Expand description
Session termination codes (draft-13 Section 3.4, Termination).
Sent in the QUIC CONNECTION_CLOSE frame or the WebTransport CLOSE_WEBTRANSPORT_SESSION
capsule. Draft-13: “When terminating the Session, the application MAY use any error message
and SHOULD use a relevant code, as defined below”.
The table assigns 0x0 through 0x9 and 0x10 through 0x18. 0xA through 0xF are unassigned.
Variants§
NoError = 0
No Error — The session is being terminated without an error.
InternalError = 1
Internal Error — An implementation specific error occurred.
Unauthorized — The client is not authorized to establish a session.
ProtocolViolation = 3
Protocol Violation — The remote endpoint performed an action that was disallowed by
the specification.
InvalidRequestId = 4
Invalid Request ID — The session was closed because the endpoint used a Request ID
that was smaller than or equal to a previously received request ID, or the
least-significant bit of the request ID was incorrect for the endpoint.
DuplicateTrackAlias = 5
Duplicate Track Alias — The endpoint attempted to use a Track Alias that was already
in use.
KeyValueFormattingError = 6
Key-Value Formatting Error — the key-value pair has a formatting error.
TooManyRequests = 7
Too Many Requests — The session was closed because the endpoint used a Request ID
equal to or larger than the current Maximum Request ID.
InvalidPath = 8
Invalid Path — The PATH parameter was used by a server, on a WebTransport session, or
the server does not support the path.
MalformedPath = 9
Malformed Path — The PATH parameter does not conform to the rules in Section 8.3.2.1.
GoawayTimeout = 16
GOAWAY Timeout — The session was closed because the peer took too long to close the
session in response to a GOAWAY (Section 8.4) message. See session migration (Section
3.5).
ControlMessageTimeout = 17
Control Message Timeout — The session was closed because the peer took too long to
respond to a control message.
DataStreamTimeout = 18
Data Stream Timeout — The session was closed because the peer took too long to send
data expected on an open Data Stream (see Section 9). This includes fields of a stream
header or an object header within a data stream. If an endpoint times out waiting for a
new object header on an open subgroup stream, it MAY send a STOP_SENDING on that stream
or terminate the subscription.
AuthTokenCacheOverflow = 19
Auth Token Cache Overflow — the Session limit Section 8.3.2.3 of the size of all
registered Authorization tokens has been exceeded.
DuplicateAuthTokenAlias = 20
Duplicate Auth Token Alias — Authorization Token attempted to register an Alias that
was in use (see Section 8.2.1.1).
VersionNegotiationFailed = 21
Version Negotiation Failed — The client didn’t offer a version supported by the
server.
MalformedAuthToken = 22
Malformed Auth Token — Invalid Auth Token serialization during registration (see
Section 8.2.1.1).
UnknownAuthTokenAlias = 23
Unknown Auth Token Alias — No registered token found for the provided Alias (see
Section 8.2.1.1).
ExpiredAuthToken = 24
Expired Auth Token — Authorization token has expired Section 8.2.1.1).
Implementations§
Source§impl SessionErrorCode
impl SessionErrorCode
Sourcepub const ALL: &[SessionErrorCode]
pub const ALL: &[SessionErrorCode]
Every session termination code draft-13 assigns, in ascending wire order.
This is the set Self::from_u64 accepts, written out so that it can
be enumerated: nothing can iterate an enum’s variants, so a caller that
wants the registry has to be handed it. Writing it down is also what
lets a test state its claims about the registry itself rather than about
the range some sweep happens to reach.
Trait Implementations§
Source§impl Clone for SessionErrorCode
impl Clone for SessionErrorCode
Source§fn clone(&self) -> SessionErrorCode
fn clone(&self) -> SessionErrorCode
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more