#[repr(u64)]pub enum SessionErrorCode {
Show 21 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,
InvalidAuthority = 25,
MalformedAuthority = 26,
}Expand description
Session Termination Error Codes (draft-15 Section 13.3.1, defined in Section 3.4).
Sent when closing the session. Draft-15 assigns 0x0 through 0x9 and 0x10 through 0x1A; it reserves no greasing range in this registry.
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 9.3.1.2.
GoawayTimeout = 16
GOAWAY_TIMEOUT — the session was closed because the peer took too long to
close the session in response to a GOAWAY (Section 9.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 10). 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 9.3.1.4) 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 9.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 9.2.1.1).
UnknownAuthTokenAlias = 23
UNKNOWN_AUTH_TOKEN_ALIAS — no registered token found for the provided Alias
(see Section 9.2.1.1).
ExpiredAuthToken = 24
EXPIRED_AUTH_TOKEN — authorization token has expired (Section 9.2.1.1).
InvalidAuthority = 25
INVALID_AUTHORITY — the specified AUTHORITY does not correspond to this
server or cannot be used in this context.
MalformedAuthority = 26
MALFORMED_AUTHORITY — the AUTHORITY value is syntactically invalid.
Implementations§
Source§impl SessionErrorCode
impl SessionErrorCode
Sourcepub const ALL: &[SessionErrorCode]
pub const ALL: &[SessionErrorCode]
Every session termination code draft-15 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