pub struct MockConnectionFactory { /* private fields */ }Expand description
Mock peer connection factory
Creates mock data channels instead of real WebRTC connections. Uses a global registry to connect offer/answer sides.
Implementations§
Source§impl MockConnectionFactory
impl MockConnectionFactory
Sourcepub fn new_with_latency_mode(
peer_id: String,
latency_ms: u64,
latency_mode: MockLatencyMode,
) -> Self
pub fn new_with_latency_mode( peer_id: String, latency_ms: u64, latency_mode: MockLatencyMode, ) -> Self
Create a mock connection factory with explicit latency mode.
Trait Implementations§
Source§impl PeerLinkFactory for MockConnectionFactory
impl PeerLinkFactory for MockConnectionFactory
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 MockConnectionFactory
impl !RefUnwindSafe for MockConnectionFactory
impl Send for MockConnectionFactory
impl Sync for MockConnectionFactory
impl Unpin for MockConnectionFactory
impl UnsafeUnpin for MockConnectionFactory
impl !UnwindSafe for MockConnectionFactory
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