[−][src]Struct libp2p_identify::IdentifyTransport
Wraps around an implementation of Transport
that yields a muxer. Will use the muxer to
open a substream with the remote and retreive its peer id. Then yields a
(PeerId, impl StreamMuxer)
.
This transport can be used if you don't use any encryption layer, or if you want to make
encryption optional, in which case you have no other way to know the PeerId
of the remote
than to ask for it.
Note: If you use this transport, keep in mind that the
PeerId
returned by the remote can be anything and shouldn't necessarily be trusted.
Methods
impl<TTrans> IdentifyTransport<TTrans>
[src]
pub fn new(transport: TTrans) -> Self
[src]
Creates an IdentifyTransport
that wraps around the given transport.
Trait Implementations
impl<TTrans: Clone> Clone for IdentifyTransport<TTrans>
[src]
fn clone(&self) -> IdentifyTransport<TTrans>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<TTrans: Debug> Debug for IdentifyTransport<TTrans>
[src]
impl<TTrans, TMuxer> Transport for IdentifyTransport<TTrans> where
TTrans: Transport<Output = TMuxer>,
TTrans::Error: 'static,
TMuxer: StreamMuxer + Send + Sync + 'static,
TMuxer::Substream: Send + Sync + 'static,
[src]
TTrans: Transport<Output = TMuxer>,
TTrans::Error: 'static,
TMuxer: StreamMuxer + Send + Sync + 'static,
TMuxer::Substream: Send + Sync + 'static,
type Output = (PeerId, TMuxer)
The result of a connection setup process, including protocol upgrades. Read more
type Error = TransportUpgradeError<TTrans::Error, IoError>
An error that occurred during connection setup.
type Listener = Empty<(Self::ListenerUpgrade, Multiaddr), Self::Error>
A stream of Output
s for inbound connections. Read more
type ListenerUpgrade = Empty<Self::Output, Self::Error>
A pending Output
for an inbound connection, obtained from the Listener
stream. Read more
type Dial = AndThen<MapErr<TTrans::Dial, fn(_: TTrans::Error) -> Self::Error>, MapErr<IdRetriever<TMuxer>, fn(_: UpgradeError<IoError>) -> Self::Error>, fn(_: TMuxer) -> MapErr<IdRetriever<TMuxer>, fn(_: UpgradeError<IoError>) -> Self::Error>>
A pending Output
for an outbound connection, obtained from dialing. Read more
fn listen_on(
self,
addr: Multiaddr
) -> Result<(Self::Listener, Multiaddr), TransportError<Self::Error>>
[src]
self,
addr: Multiaddr
) -> Result<(Self::Listener, Multiaddr), TransportError<Self::Error>>
fn dial(
self,
addr: Multiaddr
) -> Result<Self::Dial, TransportError<Self::Error>>
[src]
self,
addr: Multiaddr
) -> Result<Self::Dial, TransportError<Self::Error>>
fn nat_traversal(&self, a: &Multiaddr, b: &Multiaddr) -> Option<Multiaddr>
[src]
fn boxed(self) -> Boxed<Self::Output, Self::Error> where
Self: Clone + Send + Sync + 'static,
Self::Dial: Send,
Self::Dial: 'static,
Self::Listener: Send,
Self::Listener: 'static,
Self::ListenerUpgrade: Send,
Self::ListenerUpgrade: 'static,
[src]
Self: Clone + Send + Sync + 'static,
Self::Dial: Send,
Self::Dial: 'static,
Self::Listener: Send,
Self::Listener: 'static,
Self::ListenerUpgrade: Send,
Self::ListenerUpgrade: 'static,
Turns this Transport
into an abstract boxed transport.
fn map<F, O>(self, map: F) -> Map<Self, F> where
F: FnOnce(Self::Output, ConnectedPoint) -> O + Clone,
[src]
F: FnOnce(Self::Output, ConnectedPoint) -> O + Clone,
Applies a function on the connections created by the transport.
fn map_err<F, TNewErr>(self, map_err: F) -> MapErr<Self, F> where
F: FnOnce(Self::Error) -> TNewErr + Clone,
[src]
F: FnOnce(Self::Error) -> TNewErr + Clone,
Applies a function on the errors generated by the futures of the transport.
fn or_transport<T>(self, other: T) -> OrTransport<Self, T>
[src]
Builds a new transport that falls back to another transport when encountering errors on dialing or listening for connections. Read more
fn with_upgrade<U, O, E>(self, upgrade: U) -> Upgrade<Self, U> where
U: InboundUpgrade<Self::Output, Output = O, Error = E> + OutboundUpgrade<Self::Output, Output = O, Error = E>,
Self::Output: AsyncRead,
Self::Output: AsyncWrite,
[src]
U: InboundUpgrade<Self::Output, Output = O, Error = E> + OutboundUpgrade<Self::Output, Output = O, Error = E>,
Self::Output: AsyncRead,
Self::Output: AsyncWrite,
Wraps this transport inside an [Upgrade
]. Read more
fn and_then<C, F, O>(self, upgrade: C) -> AndThen<Self, C> where
C: FnOnce(Self::Output, ConnectedPoint) -> F + Clone,
F: IntoFuture<Item = O>,
[src]
C: FnOnce(Self::Output, ConnectedPoint) -> F + Clone,
F: IntoFuture<Item = O>,
Applies a function producing an asynchronous result to every connection created by this transport. Read more
fn with_timeout(self, timeout: Duration) -> TransportTimeout<Self>
[src]
Adds a timeout to the connection setup (including upgrades) for all inbound and outbound connection attempts. Read more
fn with_outbound_timeout(self, timeout: Duration) -> TransportTimeout<Self>
[src]
Adds a timeout to the connection setup (including upgrades) for all outbound connection attempts. Read more
fn with_inbound_timeout(self, timeout: Duration) -> TransportTimeout<Self>
[src]
Adds a timeout to the connection setup (including upgrades) for all inbound connection attempts. Read more
Auto Trait Implementations
impl<TTrans> Send for IdentifyTransport<TTrans> where
TTrans: Send,
TTrans: Send,
impl<TTrans> Sync for IdentifyTransport<TTrans> where
TTrans: Sync,
TTrans: Sync,
Blanket Implementations
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
impl<T> From for T
[src]
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
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>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
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>
[src]
impl<T> Same for T
type Output = T
Should always be Self