Struct Candidate

Source
pub struct Candidate { /* private fields */ }
Expand description

ICE candidates are network addresses used to connect to a peer.

There are different kinds of ICE candidates. The simplest kind is a host candidate which is a socket address on a local (host) network interface.

Implementations§

Source§

impl Candidate

Source

pub fn host( addr: SocketAddr, proto: impl TryInto<Protocol>, ) -> Result<Self, IceError>

Creates a host ICE candidate.

Host candidates are local sockets directly on the host.

Source

pub fn server_reflexive( addr: SocketAddr, base: SocketAddr, proto: impl TryInto<Protocol>, ) -> Result<Self, IceError>

Creates a server reflexive ICE candidate.

Server reflexive candidates are local sockets mapped to external ip discovered via a STUN binding request. The base is the local interface that this address corresponds to.

Source

pub fn relayed( addr: SocketAddr, proto: impl TryInto<Protocol>, ) -> Result<Self, IceError>

Creates a relayed ICE candidate.

Relayed candidates are server sockets relaying traffic to a local socket. Allocate a TURN addr to use as a local candidate.

Source

pub fn from_sdp_string(s: &str) -> Result<Self, IceError>

Creates a new ICE candidate from a string.

Source

pub fn prio(&self) -> u32

Returns the priority value for the specified ICE candidate.

The priority is a positive integer between 1 and 2^31 - 1 (inclusive), calculated according to the ICE specification defined in RFC 8445, Section 5.1.2.

Source

pub fn addr(&self) -> SocketAddr

Returns the address for the specified ICE candidate.

Source

pub fn proto(&self) -> Protocol

Returns a reference to the String containing the transport protocol of the ICE candidate. For example tcp/udp/..

Source

pub fn kind(&self) -> CandidateKind

Returns the kind of this candidate.

Source

pub fn to_sdp_string(&self) -> String

Generates a candidate attribute string.

Trait Implementations§

Source§

impl Clone for Candidate

Source§

fn clone(&self) -> Candidate

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Candidate

Source§

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

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

impl<'de> Deserialize<'de> for Candidate

Deserialize Candidate from a candidate info.

Similar to Candidate::serialize, we drop sdpMid and sdpMLineIndex when parsing.

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 Candidate

Source§

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

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

impl Hash for Candidate

Source§

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

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

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 Candidate

Source§

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

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

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 Candidate

Serialize Candidate into candidate info.

Always set sdpMid to null and sdpMLineIndex to 0, as we only support one media line.

e.g. serde_json would produce:

{
 "candidate": "candidate:12044049749558888150 1 udp 2130706175 1.2.3.4 1234 typ host",
 "sdpMid": null,
 "sdpMLineIndex": 0
 "usernameFragment": "ufrag"
}
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 Eq for Candidate

Source§

impl StructuralPartialEq for Candidate

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

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

Source§

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
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

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

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

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

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

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

Source§

type Error = Infallible

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

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

Performs the conversion.
Source§

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

Source§

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

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

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> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

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