#[repr(u64)]pub enum SubscribeErrorCode {
InternalError = 0,
InvalidRange = 1,
RetryTrackAlias = 2,
TrackDoesNotExist = 3,
Unauthorized = 4,
Timeout = 5,
}Expand description
SUBSCRIBE_ERROR codes, from draft-07 section 5.1 “Subscriber Interactions” (Table 2).
The draft introduces the table with: “The application SHOULD use a relevant error code in SUBSCRIBE_ERROR, as defined below”. Draft-07 places this table under a narrative section rather than under the SUBSCRIBE_ERROR message definition in section 6.16.
No list of definitions follows this table. Two of the six codes have a stated rule elsewhere in the draft and carry it below; for the other four the Reason text is all there is.
Variants§
InternalError = 0
Internal Error
InvalidRange = 1
Invalid Range — section 6.4 requires this code when the requested range
cannot be served: for the AbsoluteStart and AbsoluteRange filters when
StartGroup is prior to the current group, and when the publisher cannot
satisfy the requested start or end, or the end has already been published.
RetryTrackAlias = 2
Retry Track Alias — section 6.16: the SUBSCRIBE_ERROR carries a Track
Alias field, and the subscriber should re-issue the SUBSCRIBE with that
alias instead. If that alias is itself already in use, the subscriber must
close the session with Duplicate Track Alias
(SessionErrorCode::DuplicateTrackAlias).
TrackDoesNotExist = 3
Track Does Not Exist
Unauthorized
Timeout = 5
Timeout
Implementations§
Source§impl SubscribeErrorCode
impl SubscribeErrorCode
Sourcepub const ALL: &[SubscribeErrorCode]
pub const ALL: &[SubscribeErrorCode]
Every SUBSCRIBE_ERROR code draft-07 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 SubscribeErrorCode
impl Clone for SubscribeErrorCode
Source§fn clone(&self) -> SubscribeErrorCode
fn clone(&self) -> SubscribeErrorCode
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more