Struct libp2p::core::transport::Boxed[][src]

pub struct Boxed<O> { /* fields omitted */ }
Expand description

A Boxed transport is a Transport whose Dial, Listener and ListenerUpgrade futures are Boxed and only the Output and Error types are captured in type variables.

Trait Implementations

impl<O> Clone for Boxed<O>[src]

pub fn clone(&self) -> Boxed<O>[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl<O> Debug for Boxed<O>[src]

pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>[src]

Formats the value using the given formatter. Read more

impl<O> Transport for Boxed<O>[src]

type Output = O

The result of a connection setup process, including protocol upgrades. Read more

type Error = Error

An error that occurred during connection setup.

type Listener = Pin<Box<dyn Stream<Item = Result<ListenerEvent<Pin<Box<dyn Future<Output = Result<O, Error>> + 'static + Send, Global>>, Error>, Error>> + 'static + Send, Global>>

A stream of Outputs for inbound connections. Read more

type ListenerUpgrade = Pin<Box<dyn Future<Output = Result<O, Error>> + 'static + Send, Global>>

A pending Output for an inbound connection, obtained from the Listener stream. Read more

type Dial = Pin<Box<dyn Future<Output = Result<O, Error>> + 'static + Send, Global>>

A pending Output for an outbound connection, obtained from dialing. Read more

pub fn listen_on(
    self,
    addr: Multiaddr
) -> Result<<Boxed<O> as Transport>::Listener, TransportError<<Boxed<O> as Transport>::Error>>
[src]

Listens on the given Multiaddr, producing a stream of pending, inbound connections and addresses this transport is listening on (cf. ListenerEvent). Read more

pub fn dial(
    self,
    addr: Multiaddr
) -> Result<<Boxed<O> as Transport>::Dial, TransportError<<Boxed<O> as Transport>::Error>>
[src]

Dials the given Multiaddr, returning a future for a pending outbound connection. Read more

pub fn address_translation(
    &self,
    server: &Multiaddr,
    observed: &Multiaddr
) -> Option<Multiaddr>
[src]

Performs a transport-specific mapping of an address observed by a remote onto a local listen address to yield an address for the local node that may be reachable for other peers. Read more

fn boxed(self) -> Boxed<Self::Output> where
    Self: Transport + Clone + Send + Sync + 'static,
    Self::Dial: Send,
    Self::Dial: 'static,
    Self::Listener: Send,
    Self::Listener: 'static,
    Self::ListenerUpgrade: Send,
    Self::ListenerUpgrade: 'static,
    Self::Error: Send,
    Self::Error: Sync
[src]

Boxes the transport, including custom transport errors.

fn map<F, O>(self, f: F) -> Map<Self, F> where
    F: FnOnce(Self::Output, ConnectedPoint) -> O + Clone
[src]

Applies a function on the connections created by the transport.

fn map_err<F, E>(self, f: F) -> MapErr<Self, F> where
    F: FnOnce(Self::Error) -> E + Clone
[src]

Applies a function on the errors generated by the futures of the transport.

fn or_transport<U>(self, other: U) -> OrTransport<Self, U> where
    U: Transport,
    <U as Transport>::Error: 'static, 
[src]

Adds a fallback transport that is used when encountering errors while establishing inbound or outbound connections. Read more

fn and_then<C, F, O>(self, f: C) -> AndThen<Self, C> where
    C: FnOnce(Self::Output, ConnectedPoint) -> F + Clone,
    F: TryFuture<Ok = O>,
    <F as TryFuture>::Error: Error,
    <F as TryFuture>::Error: 'static, 
[src]

Applies a function producing an asynchronous result to every connection created by this transport. Read more

fn upgrade(self, version: Version) -> Builder<Self> where
    Self::Error: 'static, 
[src]

Begins a series of protocol upgrades via an upgrade::Builder. Read more

Auto Trait Implementations

impl<O> !RefUnwindSafe for Boxed<O>

impl<O> Send for Boxed<O>

impl<O> Sync for Boxed<O>

impl<O> Unpin for Boxed<O>

impl<O> !UnwindSafe for Boxed<O>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

pub fn vzip(self) -> V