KnownRtcIceTransportState

Enum KnownRtcIceTransportState 

Source
pub enum KnownRtcIceTransportState {
    Closed,
    Failed,
    Disconnected,
    New,
    Checking,
    Completed,
    Connected,
}
Expand description

Possible states of the underlying ICE transport used by a RTCPeerConnection.

Variants§

§

Closed

RTCIceTransport has shut down and is no longer responding to STUN requests.

§

Failed

RTCIceTransport has finished gathering, received an indication that there are no more remote candidates, finished checking all candidate pairs, and all pairs have either failed connectivity checks or lost consent, and either zero local candidates were gathered or the PAC timer has expired (see RFC8863).

This is a terminal state until ICE is restarted. Since an ICE restart may cause connectivity to resume, entering the Failed state doesn’t cause DTLS transports, SCTP associations or the data channels that run over them to close, or tracks to mute.

§

Disconnected

ICE Agent has determined that connectivity is currently lost for thw RTCIceTransport.

This is a transient state that may trigger intermittently (and resolve itself without action) on a flaky network. The way this state is determined is implementation dependent. Examples include:

  • Losing the network interface for the connection in use.
  • Repeatedly failing to receive a response to STUN requests.

Alternatively, the RTCIceTransport has finished checking all existing candidates pairs and not found a connection (or consent checks RFC7675 once successful, have now failed), but it is still gathering and/or waiting for additional remote candidates.

§

New

RTCIceTransport is gathering candidates and/or waiting for remote candidates to be supplied, and has not yet started checking.

§

Checking

RTCIceTransport has received at least one remote candidate (by means of addIceCandidate() or discovered as a peer-reflexive candidate when receiving a STUN binding request) and is checking candidate pairs and has either not yet found a connection or consent checks RFC7675 have failed on all previously successful candidate pairs.

In addition to checking, it may also still be gathering.

§

Completed

RTCIceTransport has finished gathering, received an indication that there are no more remote candidates, finished checking all candidate pairs and found a connection.

If consent checks RFC7675 subsequently fail on all successful candidate pairs, the state transitions to Failed.

§

Connected

RTCIceTransport has found a usable connection, but is still checking other candidate pairs to see if there is a better connection.

It may also still be gathering and/or waiting for additional remote candidates. If consent checks RFC7675 fail on the connection in use, and there are no other successful candidate pairs available, then the state transitions to Checking (if there are candidate pairs remaining to be checked) or Disconnected (if there are no candidate pairs to check, but the peer is still gathering and/or waiting for additional remote candidates).

Trait Implementations§

Source§

impl Clone for KnownRtcIceTransportState

Source§

fn clone(&self) -> KnownRtcIceTransportState

Returns a duplicate of the value. Read more
1.0.0§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for KnownRtcIceTransportState

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for KnownRtcIceTransportState

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Display for KnownRtcIceTransportState

Source§

fn fmt(&self, __derive_more_f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Hash for KnownRtcIceTransportState

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for KnownRtcIceTransportState

Source§

fn eq(&self, other: &KnownRtcIceTransportState) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for KnownRtcIceTransportState

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Copy for KnownRtcIceTransportState

Source§

impl Eq for KnownRtcIceTransportState

Source§

impl StructuralPartialEq for KnownRtcIceTransportState

Auto Trait Implementations§

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CloneToUninit for T
where T: Clone,

§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> ToString for T
where T: Display + ?Sized,

§

fn to_string(&self) -> String

Converts the given value to a String. Read more
§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,