pub enum Outcome {
Registered(Box<Registered>),
Challenged(Box<Challenge>),
PushNotSupported {
reason: String,
},
Rejected {
status: u16,
reason: String,
},
}Expand description
What a registration attempt produced.
Variants§
Registered(Box<Registered>)
Registered, with the lease the registrar granted and the route vectors it returned.
Challenged(Box<Challenge>)
The registrar wants credentials. Answer with authorize and send again.
PushNotSupported
555: the registrar does not support the push notification service this Contact named
(RFC 8599 §8.1).
Its own variant rather than a Outcome::Rejected with a number in it, because it is the
one refusal that is not about this attempt. Credentials can be corrected and a lease can
be re-asked for; a push service the registrar cannot use will not become usable on the next
try, and a client that retries into it is unreachable for as long as it keeps trying. The
answer is to register without push, or with a service the registrar names — which is what
Registered::push reports.
Fields
reason: StringThe reason phrase, which §8.1 registers as push::NOT_SUPPORTED_REASON.
Rejected
The registrar refused.
Trait Implementations§
impl Eq for Outcome
impl StructuralPartialEq for Outcome
Auto Trait Implementations§
impl Freeze for Outcome
impl RefUnwindSafe for Outcome
impl Send for Outcome
impl Sync for Outcome
impl Unpin for Outcome
impl UnsafeUnpin for Outcome
impl UnwindSafe for Outcome
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more