#[repr(u64)]pub enum PublishDoneStatusCode {
InternalError = 0,
Unauthorized = 1,
TrackEnded = 2,
SubscriptionEnded = 3,
GoingAway = 4,
Expired = 5,
TooFarBehind = 6,
UpdateFailed = 8,
MalformedTrack = 18,
}Expand description
Status codes carried in the PUBLISH_DONE control message.
Indicates why a subscription ended, and whether ending it was an error. Assigned in Section 13.4.3 of draft-16; the code definitions are in Section 9.15.
Draft-16 assigns 0x0 through 0x6, 0x8 and 0x12. The hole at 0x7 is real and deliberate: draft-15 assigned 0x7 to MALFORMED_TRACK, and draft-16 moved that code to 0x12 without reassigning 0x7. Section 9.15 also lists MALFORMED_TRACK ahead of UPDATE_FAILED in its prose while the registry table lists both in numeric order; the two agree on names and values.
Variants§
InternalError = 0
INTERNAL_ERROR — An implementation specific or generic error occurred.
UNAUTHORIZED — The subscriber is no longer authorized to subscribe to the given track.
TrackEnded = 2
TRACK_ENDED — The track is no longer being published.
SubscriptionEnded = 3
SUBSCRIPTION_ENDED — The publisher reached the end of an associated subscription filter.
GoingAway = 4
GOING_AWAY — The subscriber or publisher issued a GOAWAY message.
Expired = 5
EXPIRED — The publisher reached the timeout specified in SUBSCRIBE_OK.
TooFarBehind = 6
TOO_FAR_BEHIND — The publisher’s queue of objects to be sent to the given subscriber
exceeds its implementation defined limit.
UpdateFailed = 8
UPDATE_FAILED — REQUEST_UPDATE failed on this subscription (see Section 9.11).
MalformedTrack = 18
MALFORMED_TRACK — A relay publisher detected that the track was malformed (see Section
2.4.2).
Implementations§
Source§impl PublishDoneStatusCode
impl PublishDoneStatusCode
Sourcepub const ALL: &[PublishDoneStatusCode]
pub const ALL: &[PublishDoneStatusCode]
Every PUBLISH_DONE status 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 PublishDoneStatusCode
impl Clone for PublishDoneStatusCode
Source§fn clone(&self) -> PublishDoneStatusCode
fn clone(&self) -> PublishDoneStatusCode
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more