Stream

Struct Stream 

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

An ICE Stream

Implementations§

Source§

impl Stream

Source

pub fn id(&self) -> usize

An agent-global unique identifier for the ICE stream.

Source

pub fn agent(&self) -> Agent

The Agent that handles this Stream.

Source

pub fn add_component(&self) -> Component

Add a Component to this stream.

Source

pub fn component(&self, id: usize) -> Option<Component>

Retrieve a Component from this stream. If the index doesn’t exist or a component is not available at that index, None is returned

Source

pub fn local_credentials(&self) -> Option<Credentials>

Retreive the previouly set local ICE credentials for this Stream.

Source

pub fn remote_credentials(&self) -> Option<Credentials>

Retreive the previouly set remote ICE credentials for this Stream.

Source

pub fn set_local_credentials(&self, credentials: &Credentials)

Set local ICE credentials for this Stream.

§Examples
let mut agent = Agent::default();
let stream = agent.add_stream();
let credentials = Credentials::new("user", "pass");
stream.set_local_credentials(&credentials);
assert_eq!(stream.local_credentials(), Some(credentials));
Source

pub fn set_remote_credentials(&self, credentials: &Credentials)

Set remote ICE credentials for this Stream.

§Examples
let agent = Agent::default();
let stream = agent.add_stream();
let credentials = Credentials::new("user", "pass");
stream.set_remote_credentials(&credentials);
assert_eq!(stream.remote_credentials(), Some(credentials));
Source

pub fn end_of_local_candidates(&self)

Signal the end of local candidates. Calling this function may allow ICE processing to complete.

Source

pub fn add_remote_candidate(&self, cand: &Candidate)

Add a remote candidate for connection checks for use with this stream

Source

pub fn end_of_remote_candidates(&self)

Indicate that no more candidates are expected from the peer. This may allow the ICE process to complete.

Source

pub fn add_local_gathered_candidate(&self, gathered: GatheredCandidate) -> bool

Add a local candidate for this stream.

Returns whether the candidate was added internally.

Source

pub fn allocated_socket( &self, component_id: usize, transport: TransportType, from: &Address, to: &Address, socket_addr: Option<Address>, )

Provide a reply to the AgentPoll::AllocateSocket request. The component_id, transport, from, and to values must match exactly with the request.

Source

pub fn component_ids(&self) -> Vec<usize>

The list of component ids available in this stream

Source

pub fn handle_incoming_data<'a>( &self, component_id: usize, transport: TransportType, from: Address, to: Address, data: &'a [u8], now: Instant, ) -> StreamIncomingDataReply<'a>

Provide the stream with data that has been received on an external socket. The returned value indicates what has been done with the data and any application data that has been received.

Source

pub fn poll_recv(&self) -> Option<PollRecv>

Poll for any received data.

Must be called after handle_incoming_data if have_more_data is true.

Trait Implementations§

Source§

impl Clone for Stream

Source§

fn clone(&self) -> Self

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 Stream

Source§

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

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

impl Drop for Stream

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl Send for Stream

Source§

impl Sync for Stream

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, 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.