#[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 — 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
impl FetchErrorCode
Sourcepub const ALL: &[FetchErrorCode]
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.
Trait Implementations§
Source§impl Clone for FetchErrorCode
impl Clone for FetchErrorCode
Source§fn clone(&self) -> FetchErrorCode
fn clone(&self) -> FetchErrorCode
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more