#[non_exhaustive]pub enum Reason {
IceFailed,
InviteTimeout,
IceTimeout,
UserHangup,
UserMediaFailed,
UserBusy,
UnknownError,
}
Expand description
A reason for a hangup.
Should not be provided when the user naturally ends or rejects the call. When there was an error
in the call negotiation, this should be ice_failed
for when ICE negotiation fails or
invite_timeout
for when the other party did not answer in time.
This type can hold an arbitrary string. To build this with a custom value, convert it from a
string with ::from()
/ .into()
. To check for values that are not available as a
documented variant here, use its string representation, obtained through
.as_str()
.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
IceFailed
ICE negotiation failure.
InviteTimeout
Party did not answer in time.
IceTimeout
The connection failed after some media was exchanged.
Note that, in the case of an ICE renegotiation, a client should be sure to send
ice_timeout
rather than ice_failed
if media had previously been received successfully,
even if the ICE renegotiation itself failed.
UserHangup
The user chose to end the call.
UserMediaFailed
The client was unable to start capturing media in such a way as it is unable to continue the call.
UserBusy
The user is busy.
UnknownError
Some other failure occurred that meant the client was unable to continue the call rather than the user choosing to end it.
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Reason
impl<'de> Deserialize<'de> for Reason
Source§fn deserialize<D>(
deserializer: D,
) -> Result<Reason, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<Reason, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Source§impl Serialize for Reason
impl Serialize for Reason
Source§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
impl Eq for Reason
impl StructuralPartialEq for Reason
Auto Trait Implementations§
impl Freeze for Reason
impl RefUnwindSafe for Reason
impl Send for Reason
impl Sync for Reason
impl Unpin for Reason
impl UnwindSafe for Reason
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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