Struct libp2p_webrtc::tokio::Transport
source · pub struct Transport { /* private fields */ }
Available on crate feature
tokio
only.Expand description
A WebRTC transport with direct p2p communication (without a STUN server).
Implementations§
source§impl Transport
impl Transport
sourcepub fn new(id_keys: Keypair, certificate: Certificate) -> Self
pub fn new(id_keys: Keypair, certificate: Certificate) -> Self
Creates a new WebRTC transport.
§Example
use libp2p_identity as identity;
use rand::thread_rng;
use libp2p_webrtc::tokio::{Transport, Certificate};
let id_keys = identity::Keypair::generate_ed25519();
let transport = Transport::new(id_keys, Certificate::generate(&mut thread_rng()).unwrap());
Trait Implementations§
source§impl Transport for Transport
impl Transport for Transport
source§fn poll(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
) -> Poll<TransportEvent<Self::ListenerUpgrade, Self::Error>>
fn poll( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<TransportEvent<Self::ListenerUpgrade, Self::Error>>
Poll all listeners.
§type Output = (PeerId, Connection)
type Output = (PeerId, Connection)
The result of a connection setup process, including protocol upgrades. Read more
§type ListenerUpgrade = Pin<Box<dyn Future<Output = Result<<Transport as Transport>::Output, <Transport as Transport>::Error>> + Send>>
type ListenerUpgrade = Pin<Box<dyn Future<Output = Result<<Transport as Transport>::Output, <Transport as Transport>::Error>> + Send>>
§type Dial = Pin<Box<dyn Future<Output = Result<<Transport as Transport>::Output, <Transport as Transport>::Error>> + Send>>
type Dial = Pin<Box<dyn Future<Output = Result<<Transport as Transport>::Output, <Transport as Transport>::Error>> + Send>>
source§fn listen_on(
&mut self,
id: ListenerId,
addr: Multiaddr,
) -> Result<(), TransportError<Self::Error>>
fn listen_on( &mut self, id: ListenerId, addr: Multiaddr, ) -> Result<(), TransportError<Self::Error>>
Listens on the given
Multiaddr
for inbound connections with a provided ListenerId
.source§fn remove_listener(&mut self, id: ListenerId) -> bool
fn remove_listener(&mut self, id: ListenerId) -> bool
Remove a listener. Read more
source§fn dial(
&mut self,
addr: Multiaddr,
dial_opts: DialOpts,
) -> Result<Self::Dial, TransportError<Self::Error>>
fn dial( &mut self, addr: Multiaddr, dial_opts: DialOpts, ) -> Result<Self::Dial, TransportError<Self::Error>>
source§fn map<F, O>(self, f: F) -> Map<Self, F>
fn map<F, O>(self, f: F) -> Map<Self, F>
Applies a function on the connections created by the transport.
source§fn map_err<F, E>(self, f: F) -> MapErr<Self, F>
fn map_err<F, E>(self, f: F) -> MapErr<Self, F>
Applies a function on the errors generated by the futures of the transport.
source§fn or_transport<U>(self, other: U) -> OrTransport<Self, U>
fn or_transport<U>(self, other: U) -> OrTransport<Self, U>
Adds a fallback transport that is used when encountering errors
while establishing inbound or outbound connections. Read more
Auto Trait Implementations§
impl !Freeze for Transport
impl !RefUnwindSafe for Transport
impl Send for Transport
impl !Sync for Transport
impl Unpin for Transport
impl !UnwindSafe for Transport
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> 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