#[repr(u64)]pub enum SessionErrorCode {
Show 16 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,
}Expand description
Session termination codes, from the table in draft-11 section 3.4 (Termination). Carried in the session-level termination error code.
The draft assigns 0x0 through 0x9 and then 0x10 through 0x15; 0xA through 0xF are not assigned.
Variants§
NoError = 0
No Error — the session is being terminated without an error.
InternalError = 1
Internal Error — an implementation specific error occurred.
Unauthorized — the endpoint breached an agreement, which MAY have been
pre-negotiated by the application.
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 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
draft-11 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 message. See session
migration, draft-11 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. This includes fields
of a stream header or an object header within a data stream. An endpoint
that times out waiting for a new object header on an open subgroup
stream MAY instead send STOP_SENDING on that stream or terminate the
subscription.
AuthTokenCacheOverflow = 19
Auth Token Cache Overflow — the session limit on the total size of all
registered authorization tokens has been exceeded. See draft-11
section 8.3.2.3.
DuplicateAuthTokenAlias = 20
Duplicate Auth Token Alias — an Authorization Token attempted to
register an alias that was in use. See draft-11 section 8.2.1.1.
VersionNegotiationFailed = 21
Version Negotiation Failed — the client didn’t offer a version
supported by the server.
Implementations§
Source§impl SessionErrorCode
impl SessionErrorCode
Sourcepub const ALL: &[SessionErrorCode]
pub const ALL: &[SessionErrorCode]
Every session termination code draft-11 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