pub struct RealPeerConnectionFactory { /* private fields */ }Expand description
Real WebRTC peer-link factory
Creates actual WebRTC connections using the webrtc crate.
Implementations§
Trait Implementations§
Source§impl Default for RealPeerConnectionFactory
impl Default for RealPeerConnectionFactory
Source§impl PeerLinkFactory for RealPeerConnectionFactory
impl PeerLinkFactory for RealPeerConnectionFactory
Source§fn create_offer<'life0, 'life1, 'async_trait>(
&'life0 self,
target_peer_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(Arc<dyn PeerLink>, String), TransportError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create_offer<'life0, 'life1, 'async_trait>(
&'life0 self,
target_peer_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(Arc<dyn PeerLink>, String), TransportError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Create an outgoing negotiated link.
Returns
(our_link, offer_sdp).Source§fn accept_offer<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
from_peer_id: &'life1 str,
offer_sdp: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(Arc<dyn PeerLink>, String), TransportError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn accept_offer<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
from_peer_id: &'life1 str,
offer_sdp: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(Arc<dyn PeerLink>, String), TransportError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Accept an incoming negotiated link.
Returns
(our_link, answer_sdp).Source§fn handle_answer<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
target_peer_id: &'life1 str,
answer_sdp: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Arc<dyn PeerLink>, TransportError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn handle_answer<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
target_peer_id: &'life1 str,
answer_sdp: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Arc<dyn PeerLink>, TransportError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Complete a link after receiving the answer.
Source§fn handle_candidate<'life0, 'life1, 'async_trait>(
&'life0 self,
_peer_id: &'life1 str,
_candidate: IceCandidate,
) -> Pin<Box<dyn Future<Output = Result<(), TransportError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn handle_candidate<'life0, 'life1, 'async_trait>(
&'life0 self,
_peer_id: &'life1 str,
_candidate: IceCandidate,
) -> Pin<Box<dyn Future<Output = Result<(), TransportError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Apply a trickle candidate update for an in-flight link, if relevant.
Source§fn handle_candidates<'life0, 'life1, 'async_trait>(
&'life0 self,
peer_id: &'life1 str,
candidates: Vec<IceCandidate>,
) -> Pin<Box<dyn Future<Output = Result<(), TransportError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn handle_candidates<'life0, 'life1, 'async_trait>(
&'life0 self,
peer_id: &'life1 str,
candidates: Vec<IceCandidate>,
) -> Pin<Box<dyn Future<Output = Result<(), TransportError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Apply a batch of trickle candidate updates.
Source§fn remove_peer<'life0, 'life1, 'async_trait>(
&'life0 self,
_peer_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), TransportError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn remove_peer<'life0, 'life1, 'async_trait>(
&'life0 self,
_peer_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), TransportError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Drop any factory-owned state for a peer that has been removed.
Auto Trait Implementations§
impl !Freeze for RealPeerConnectionFactory
impl !RefUnwindSafe for RealPeerConnectionFactory
impl Send for RealPeerConnectionFactory
impl Sync for RealPeerConnectionFactory
impl Unpin for RealPeerConnectionFactory
impl UnsafeUnpin for RealPeerConnectionFactory
impl !UnwindSafe for RealPeerConnectionFactory
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more