Skip to main content

SubscribeErrorCode

Enum SubscribeErrorCode 

Source
#[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 = 4

Unauthorized

§

Timeout = 5

Timeout

Implementations§

Source§

impl SubscribeErrorCode

Source

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.

Source

pub fn from_u64(v: u64) -> Option<Self>

Convert a raw u64 to a SubscribeErrorCode, if draft-07 defines it.

Returns None for any code the draft does not assign; peers are free to send codes from later drafts or from private extensions.

Source

pub fn as_u64(self) -> u64

Return the raw u64 value of this error code.

Trait Implementations§

Source§

impl Clone for SubscribeErrorCode

Source§

fn clone(&self) -> SubscribeErrorCode

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for SubscribeErrorCode

Source§

impl Debug for SubscribeErrorCode

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for SubscribeErrorCode

Source§

impl PartialEq for SubscribeErrorCode

Source§

fn eq(&self, other: &SubscribeErrorCode) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for SubscribeErrorCode

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.