Skip to main content

FetchErrorCode

Enum FetchErrorCode 

Source
#[repr(u64)]
pub enum FetchErrorCode { InternalError = 0, Unauthorized = 1, Timeout = 2, NotSupported = 3, TrackDoesNotExist = 4, InvalidRange = 5, NoObjects = 6, InvalidJoiningRequestId = 7, UnknownStatusInRange = 8, MalformedTrack = 9, MalformedAuthToken = 16, ExpiredAuthToken = 18, }
Expand description

FETCH_ERROR codes (draft-13 Section 8.18).

Carried in the Error Code field of FETCH_ERROR.

The table assigns 0x0 through 0x9, then 0x10 and 0x12. 0xA through 0xF and 0x11 are unassigned.

Draft-13 names two of these codes inconsistently between its table and the prose immediately below it. The table cell for 0x3 reads Not Supported while the prose reads Not supported, and the table cell for 0x7 reads Invalid Joining Request ID while the prose still reads Invalid Joining Subscribe ID. The table spelling is used for the variant names here; the prose is quoted on the variants unchanged.

Variants§

§

InternalError = 0

Internal Error — An implementation specific or generic error occurred.

§

Unauthorized = 1

Unauthorized — The subscriber is not authorized to fetch from the given track.

§

Timeout = 2

Timeout — The fetch could not be completed before an implementation specific timeout. For example, a relay could not FETCH missing objects within the timeout.

§

NotSupported = 3

Not Supported — The endpoint does not support the FETCH method.

§

TrackDoesNotExist = 4

Track Does Not Exist — The requested track is not available at the publisher.

§

InvalidRange = 5

Invalid Range — The end of the requested range is earlier than the beginning, the start of the requested range is beyond the Largest Location, or the track has not published any Objects yet.

§

NoObjects = 6

No Objects — No Objects exist between the requested Start and End Locations.

§

InvalidJoiningRequestId = 7

Invalid Joining Request ID — The joining Fetch referenced a Request ID that did not belong to an active Subscription.

§

UnknownStatusInRange = 8

Unknown Status in Range — The requested range contains objects with unknown status.

§

MalformedTrack = 9

Malformed Track — A relay publisher detected the track was malformed (see Section 2.5).

§

MalformedAuthToken = 16

Malformed Auth Token — Invalid Auth Token serialization during registration (see Section 8.2.1.1).

§

ExpiredAuthToken = 18

Expired Auth Token — Authorization token has expired Section 8.2.1.1).

Implementations§

Source§

impl FetchErrorCode

Source

pub const ALL: &[FetchErrorCode]

Every FETCH_ERROR code draft-13 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 FetchErrorCode, if valid.

Source

pub fn as_u64(self) -> u64

Return the raw u64 value of this error code.

Trait Implementations§

Source§

impl Clone for FetchErrorCode

Source§

fn clone(&self) -> FetchErrorCode

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 FetchErrorCode

Source§

impl Debug for FetchErrorCode

Source§

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

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

impl Eq for FetchErrorCode

Source§

impl PartialEq for FetchErrorCode

Source§

fn eq(&self, other: &FetchErrorCode) -> 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 FetchErrorCode

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.