Enum ruma_events::call::hangup::Reason
source · #[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<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
source§impl PartialEq for Reason
impl PartialEq for Reason
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§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)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.