#[repr(u64)]pub enum RequestErrorCode {
Show 13 variants
InternalError = 0,
Unauthorized = 1,
Timeout = 2,
NotSupported = 3,
MalformedAuthToken = 4,
ExpiredAuthToken = 5,
DoesNotExist = 16,
InvalidRange = 17,
MalformedTrack = 18,
DuplicateSubscription = 25,
Uninterested = 32,
PrefixOverlap = 48,
InvalidJoiningRequestId = 50,
}Expand description
Error codes carried in the REQUEST_ERROR control message.
REQUEST_ERROR answers any request (SUBSCRIBE, FETCH, PUBLISH, SUBSCRIBE_NAMESPACE, PUBLISH_NAMESPACE, TRACK_STATUS). Most codes mean the same thing for every request type, but a few are request-specific. Assigned in Section 13.4.2 of draft-16; the code definitions are in Section 9.8.
PUBLISH_NAMESPACE_CANCEL carries a code from this registry as well: Section 9.24 states it uses the same error codes as the REQUEST_ERROR that responds to PUBLISH_NAMESPACE.
Draft-16 assigns 0x0 through 0x5, 0x10 through 0x12, 0x19, 0x20, 0x30 and 0x32. The registry is sparse by design and reserves no greasing range.
Variants§
InternalError = 0
INTERNAL_ERROR — An implementation specific or generic error occurred.
UNAUTHORIZED — The subscriber is not authorized to perform the requested action on the
given track. This might be retryable if the authorization token is not yet valid.
Timeout = 2
TIMEOUT — The subscription could not be completed before an implementation specific
timeout. For example, a relay could not establish an upstream subscription within the
timeout.
NotSupported = 3
NOT_SUPPORTED — The endpoint does not support the type of request.
MalformedAuthToken = 4
MALFORMED_AUTH_TOKEN — Invalid Auth Token serialization during registration (see Section
9.2.2.1).
ExpiredAuthToken = 5
EXPIRED_AUTH_TOKEN — Authorization token has expired (Section 9.2.2.1).
DoesNotExist = 16
DOES_NOT_EXIST — The track or namespace is not available at the publisher.
InvalidRange = 17
INVALID_RANGE — In response to SUBSCRIBE or FETCH, specified Filter or range of Locations
cannot be satisfied.
MalformedTrack = 18
MALFORMED_TRACK — In response to a FETCH, a relay publisher detected the track was
malformed (see Section 2.4.2).
DuplicateSubscription = 25
DUPLICATE_SUBSCRIPTION — The PUBLISH or SUBSCRIBE request attempted to create a
subscription to a Track with the same role as an existing subscription.
Uninterested = 32
UNINTERESTED — The subscriber is not interested in the track or namespace.
PrefixOverlap = 48
PREFIX_OVERLAP — In response to SUBSCRIBE_NAMESPACE, the namespace prefix overlaps with
another SUBSCRIBE_NAMESPACE in the same session.
InvalidJoiningRequestId = 50
INVALID_JOINING_REQUEST_ID — In response to a Joining FETCH, the referenced Request ID is
not an Established Subscription.
Implementations§
Source§impl RequestErrorCode
impl RequestErrorCode
Sourcepub const ALL: &[RequestErrorCode]
pub const ALL: &[RequestErrorCode]
Every REQUEST_ERROR code draft-16 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 RequestErrorCode
impl Clone for RequestErrorCode
Source§fn clone(&self) -> RequestErrorCode
fn clone(&self) -> RequestErrorCode
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more