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
impl Clone for KnownRtcIceTransportState
Source§fn clone(&self) -> KnownRtcIceTransportState
fn clone(&self) -> KnownRtcIceTransportState
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for KnownRtcIceTransportState
impl Debug for KnownRtcIceTransportState
Source§impl<'de> Deserialize<'de> for KnownRtcIceTransportState
impl<'de> Deserialize<'de> for KnownRtcIceTransportState
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 Display for KnownRtcIceTransportState
impl Display for KnownRtcIceTransportState
Source§impl Hash for KnownRtcIceTransportState
impl Hash for KnownRtcIceTransportState
impl Copy for KnownRtcIceTransportState
impl Eq for KnownRtcIceTransportState
impl StructuralPartialEq for KnownRtcIceTransportState
Auto Trait Implementations§
impl Freeze for KnownRtcIceTransportState
impl RefUnwindSafe for KnownRtcIceTransportState
impl Send for KnownRtcIceTransportState
impl Sync for KnownRtcIceTransportState
impl Unpin for KnownRtcIceTransportState
impl UnwindSafe for KnownRtcIceTransportState
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)