Struct libp2p_core::transport::Boxed
source · [−]pub struct Boxed<O> { /* private fields */ }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
sourceimpl<O> FusedStream for Boxed<O>
impl<O> FusedStream for Boxed<O>
sourcefn is_terminated(&self) -> bool
fn is_terminated(&self) -> bool
Returns true if the stream should no longer be polled.
sourceimpl<O> Stream for Boxed<O>
impl<O> Stream for Boxed<O>
type Item = TransportEvent<Pin<Box<dyn Future<Output = Result<O, Error>> + Send + 'static, Global>>, Error>
type Item = TransportEvent<Pin<Box<dyn Future<Output = Result<O, Error>> + Send + 'static, Global>>, Error>
Values yielded by the stream.
sourceimpl<O> Transport for Boxed<O>
impl<O> Transport for Boxed<O>
sourcefn listen_on(
&mut self,
addr: Multiaddr
) -> Result<ListenerId, TransportError<Self::Error>>
fn listen_on(
&mut self,
addr: Multiaddr
) -> Result<ListenerId, TransportError<Self::Error>>
Listens on the given Multiaddr for inbound connections.
sourcefn remove_listener(&mut self, id: ListenerId) -> bool
fn remove_listener(&mut self, id: ListenerId) -> bool
Remove a listener. Read more
sourcefn dial_as_listener(
&mut self,
addr: Multiaddr
) -> Result<Self::Dial, TransportError<Self::Error>>
fn dial_as_listener(
&mut self,
addr: Multiaddr
) -> Result<Self::Dial, TransportError<Self::Error>>
As Transport::dial but has the local node act as a listener on the outgoing connection. Read more
sourcefn address_translation(
&self,
server: &Multiaddr,
observed: &Multiaddr
) -> Option<Multiaddr>
fn address_translation(
&self,
server: &Multiaddr,
observed: &Multiaddr
) -> Option<Multiaddr>
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
sourcefn 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 for TransportEvents. Read more
sourcefn map<F, O>(self, f: F) -> Map<Self, F>where
Self: Sized,
F: FnOnce(Self::Output, ConnectedPoint) -> O,
fn map<F, O>(self, f: F) -> Map<Self, F>where
Self: Sized,
F: FnOnce(Self::Output, ConnectedPoint) -> O,
Applies a function on the connections created by the transport.
sourcefn map_err<F, E>(self, f: F) -> MapErr<Self, F>where
Self: Sized,
F: FnOnce(Self::Error) -> E,
fn map_err<F, E>(self, f: F) -> MapErr<Self, F>where
Self: Sized,
F: FnOnce(Self::Error) -> E,
Applies a function on the errors generated by the futures of the transport.
sourcefn or_transport<U>(self, other: U) -> OrTransport<Self, U>where
Self: Sized,
U: Transport,
<U as Transport>::Error: 'static,
fn or_transport<U>(self, other: U) -> OrTransport<Self, U>where
Self: Sized,
U: Transport,
<U as Transport>::Error: 'static,
Adds a fallback transport that is used when encountering errors while establishing inbound or outbound connections. 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
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> StreamExt for Twhere
T: Stream + ?Sized,
impl<T> StreamExt for Twhere
T: Stream + ?Sized,
fn next(&mut self) -> Next<'_, Self>where
Self: Unpin,
fn next(&mut self) -> Next<'_, Self>where
Self: Unpin,
Creates a future that resolves to the next item in the stream. Read more
fn into_future(self) -> StreamFuture<Self>where
Self: Unpin,
fn into_future(self) -> StreamFuture<Self>where
Self: Unpin,
fn map<T, F>(self, f: F) -> Map<Self, F>where
F: FnMut(Self::Item) -> T,
fn map<T, F>(self, f: F) -> Map<Self, F>where
F: FnMut(Self::Item) -> T,
Maps this stream’s items to a different type, returning a new stream of the resulting type. Read more
fn enumerate(self) -> Enumerate<Self>
fn enumerate(self) -> Enumerate<Self>
Creates a stream which gives the current iteration count as well as the next value. Read more
fn filter<Fut, F>(self, f: F) -> Filter<Self, Fut, F>where
F: FnMut(&Self::Item) -> Fut,
Fut: Future<Output = bool>,
fn filter<Fut, F>(self, f: F) -> Filter<Self, Fut, F>where
F: FnMut(&Self::Item) -> Fut,
Fut: Future<Output = bool>,
Filters the values produced by this stream according to the provided asynchronous predicate. Read more
fn filter_map<Fut, T, F>(self, f: F) -> FilterMap<Self, Fut, F>where
F: FnMut(Self::Item) -> Fut,
Fut: Future<Output = Option<T>>,
fn filter_map<Fut, T, F>(self, f: F) -> FilterMap<Self, Fut, F>where
F: FnMut(Self::Item) -> Fut,
Fut: Future<Output = Option<T>>,
Filters the values produced by this stream while simultaneously mapping them to a different type according to the provided asynchronous closure. Read more
fn then<Fut, F>(self, f: F) -> Then<Self, Fut, F>where
F: FnMut(Self::Item) -> Fut,
Fut: Future,
fn then<Fut, F>(self, f: F) -> Then<Self, Fut, F>where
F: FnMut(Self::Item) -> Fut,
Fut: Future,
Computes from this stream’s items new items of a different type using an asynchronous closure. Read more
fn collect<C>(self) -> Collect<Self, C>where
C: Default + Extend<Self::Item>,
fn collect<C>(self) -> Collect<Self, C>where
C: Default + Extend<Self::Item>,
Transforms a stream into a collection, returning a future representing the result of that computation. Read more
fn unzip<A, B, FromA, FromB>(self) -> Unzip<Self, FromA, FromB>where
FromA: Default + Extend<A>,
FromB: Default + Extend<B>,
Self: Stream<Item = (A, B)>,
fn unzip<A, B, FromA, FromB>(self) -> Unzip<Self, FromA, FromB>where
FromA: Default + Extend<A>,
FromB: Default + Extend<B>,
Self: Stream<Item = (A, B)>,
Converts a stream of pairs into a future, which resolves to pair of containers. Read more
fn concat(self) -> Concat<Self>where
Self::Item: Extend<<Self::Item as IntoIterator>::Item>,
Self::Item: IntoIterator,
Self::Item: Default,
fn concat(self) -> Concat<Self>where
Self::Item: Extend<<Self::Item as IntoIterator>::Item>,
Self::Item: IntoIterator,
Self::Item: Default,
Concatenate all items of a stream into a single extendable destination, returning a future representing the end result. Read more
fn count(self) -> Count<Self>
fn count(self) -> Count<Self>
Drives the stream to completion, counting the number of items. Read more
fn fold<T, Fut, F>(self, init: T, f: F) -> Fold<Self, Fut, T, F>where
F: FnMut(T, Self::Item) -> Fut,
Fut: Future<Output = T>,
fn fold<T, Fut, F>(self, init: T, f: F) -> Fold<Self, Fut, T, F>where
F: FnMut(T, Self::Item) -> Fut,
Fut: Future<Output = T>,
Execute an accumulating asynchronous computation over a stream, collecting all the values into one final result. Read more
fn any<Fut, F>(self, f: F) -> Any<Self, Fut, F>where
F: FnMut(Self::Item) -> Fut,
Fut: Future<Output = bool>,
fn any<Fut, F>(self, f: F) -> Any<Self, Fut, F>where
F: FnMut(Self::Item) -> Fut,
Fut: Future<Output = bool>,
Execute predicate over asynchronous stream, and return true if any element in stream satisfied a predicate. Read more
fn all<Fut, F>(self, f: F) -> All<Self, Fut, F>where
F: FnMut(Self::Item) -> Fut,
Fut: Future<Output = bool>,
fn all<Fut, F>(self, f: F) -> All<Self, Fut, F>where
F: FnMut(Self::Item) -> Fut,
Fut: Future<Output = bool>,
Execute predicate over asynchronous stream, and return true if all element in stream satisfied a predicate. Read more
fn flatten(self) -> Flatten<Self>where
Self::Item: Stream,
fn flatten(self) -> Flatten<Self>where
Self::Item: Stream,
Flattens a stream of streams into just one continuous stream. Read more
fn flatten_unordered(
self,
limit: impl Into<Option<usize>>
) -> FlattenUnordered<Self>where
Self::Item: Stream,
Self::Item: Unpin,
fn flatten_unordered(
self,
limit: impl Into<Option<usize>>
) -> FlattenUnordered<Self>where
Self::Item: Stream,
Self::Item: Unpin,
Flattens a stream of streams into just one continuous stream. Polls inner streams concurrently. Read more
fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>where
F: FnMut(Self::Item) -> U,
U: Stream,
fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>where
F: FnMut(Self::Item) -> U,
U: Stream,
Maps a stream like [StreamExt::map] but flattens nested Streams. Read more
fn flat_map_unordered<U, F>(
self,
limit: impl Into<Option<usize>>,
f: F
) -> FlatMapUnordered<Self, U, F>where
U: Stream + Unpin,
F: FnMut(Self::Item) -> U,
fn flat_map_unordered<U, F>(
self,
limit: impl Into<Option<usize>>,
f: F
) -> FlatMapUnordered<Self, U, F>where
U: Stream + Unpin,
F: FnMut(Self::Item) -> U,
Maps a stream like [StreamExt::map] but flattens nested Streams
and polls them concurrently, yielding items in any order, as they made
available. Read more
fn scan<S, B, Fut, F>(self, initial_state: S, f: F) -> Scan<Self, S, Fut, F>where
F: FnMut(&mut S, Self::Item) -> Fut,
Fut: Future<Output = Option<B>>,
fn scan<S, B, Fut, F>(self, initial_state: S, f: F) -> Scan<Self, S, Fut, F>where
F: FnMut(&mut S, Self::Item) -> Fut,
Fut: Future<Output = Option<B>>,
Combinator similar to [StreamExt::fold] that holds internal state
and produces a new stream. Read more
fn skip_while<Fut, F>(self, f: F) -> SkipWhile<Self, Fut, F>where
F: FnMut(&Self::Item) -> Fut,
Fut: Future<Output = bool>,
fn skip_while<Fut, F>(self, f: F) -> SkipWhile<Self, Fut, F>where
F: FnMut(&Self::Item) -> Fut,
Fut: Future<Output = bool>,
Skip elements on this stream while the provided asynchronous predicate
resolves to true. Read more
fn take_while<Fut, F>(self, f: F) -> TakeWhile<Self, Fut, F>where
F: FnMut(&Self::Item) -> Fut,
Fut: Future<Output = bool>,
fn take_while<Fut, F>(self, f: F) -> TakeWhile<Self, Fut, F>where
F: FnMut(&Self::Item) -> Fut,
Fut: Future<Output = bool>,
Take elements from this stream while the provided asynchronous predicate
resolves to true. Read more
fn take_until<Fut>(self, fut: Fut) -> TakeUntil<Self, Fut>where
Fut: Future,
fn take_until<Fut>(self, fut: Fut) -> TakeUntil<Self, Fut>where
Fut: Future,
Take elements from this stream until the provided future resolves. Read more
fn for_each<Fut, F>(self, f: F) -> ForEach<Self, Fut, F>where
F: FnMut(Self::Item) -> Fut,
Fut: Future<Output = ()>,
fn for_each<Fut, F>(self, f: F) -> ForEach<Self, Fut, F>where
F: FnMut(Self::Item) -> Fut,
Fut: Future<Output = ()>,
Runs this stream to completion, executing the provided asynchronous closure for each element on the stream. Read more
fn for_each_concurrent<Fut, F>(
self,
limit: impl Into<Option<usize>>,
f: F
) -> ForEachConcurrent<Self, Fut, F>where
F: FnMut(Self::Item) -> Fut,
Fut: Future<Output = ()>,
fn for_each_concurrent<Fut, F>(
self,
limit: impl Into<Option<usize>>,
f: F
) -> ForEachConcurrent<Self, Fut, F>where
F: FnMut(Self::Item) -> Fut,
Fut: Future<Output = ()>,
Runs this stream to completion, executing the provided asynchronous closure for each element on the stream concurrently as elements become available. Read more
fn take(self, n: usize) -> Take<Self>
fn take(self, n: usize) -> Take<Self>
Creates a new stream of at most n items of the underlying stream. Read more
fn skip(self, n: usize) -> Skip<Self>
fn skip(self, n: usize) -> Skip<Self>
Creates a new stream which skips n items of the underlying stream. Read more
fn fuse(self) -> Fuse<Self>
fn fuse(self) -> Fuse<Self>
fn catch_unwind(self) -> CatchUnwind<Self>where
Self: UnwindSafe,
fn catch_unwind(self) -> CatchUnwind<Self>where
Self: UnwindSafe,
Catches unwinding panics while polling the stream. Read more
fn boxed<'a>(
self
) -> Pin<Box<dyn Stream<Item = Self::Item> + Send + 'a, Global>>where
Self: 'a + Send,
fn boxed<'a>(
self
) -> Pin<Box<dyn Stream<Item = Self::Item> + Send + 'a, Global>>where
Self: 'a + Send,
Wrap the stream in a Box, pinning it. Read more
fn boxed_local<'a>(self) -> Pin<Box<dyn Stream<Item = Self::Item> + 'a, Global>>where
Self: 'a,
fn boxed_local<'a>(self) -> Pin<Box<dyn Stream<Item = Self::Item> + 'a, Global>>where
Self: 'a,
Wrap the stream in a Box, pinning it. Read more
fn buffered(self, n: usize) -> Buffered<Self>where
Self::Item: Future,
fn buffered(self, n: usize) -> Buffered<Self>where
Self::Item: Future,
An adaptor for creating a buffered list of pending futures. Read more
fn buffer_unordered(self, n: usize) -> BufferUnordered<Self>where
Self::Item: Future,
fn buffer_unordered(self, n: usize) -> BufferUnordered<Self>where
Self::Item: Future,
An adaptor for creating a buffered list of pending futures (unordered). Read more
fn zip<St>(self, other: St) -> Zip<Self, St>where
St: Stream,
fn zip<St>(self, other: St) -> Zip<Self, St>where
St: Stream,
An adapter for zipping two streams together. Read more
fn chain<St>(self, other: St) -> Chain<Self, St>where
St: Stream<Item = Self::Item>,
fn chain<St>(self, other: St) -> Chain<Self, St>where
St: Stream<Item = Self::Item>,
Adapter for chaining two streams. Read more
fn chunks(self, capacity: usize) -> Chunks<Self>
fn chunks(self, capacity: usize) -> Chunks<Self>
An adaptor for chunking up items of the stream inside a vector. Read more
fn ready_chunks(self, capacity: usize) -> ReadyChunks<Self>
fn ready_chunks(self, capacity: usize) -> ReadyChunks<Self>
An adaptor for chunking up ready items of the stream inside a vector. Read more
fn forward<S>(self, sink: S) -> Forward<Self, S>where
S: Sink<Self::Ok, Error = Self::Error>,
Self: TryStream,
fn forward<S>(self, sink: S) -> Forward<Self, S>where
S: Sink<Self::Ok, Error = Self::Error>,
Self: TryStream,
A future that completes after the given stream has been fully processed into the sink and the sink has been flushed and closed. Read more
fn split<Item>(self) -> (SplitSink<Self, Item>, SplitStream<Self>)where
Self: Sink<Item>,
fn split<Item>(self) -> (SplitSink<Self, Item>, SplitStream<Self>)where
Self: Sink<Item>,
Splits this Stream + Sink object into separate Sink and Stream
objects. Read more
fn inspect<F>(self, f: F) -> Inspect<Self, F>where
F: FnMut(&Self::Item),
fn inspect<F>(self, f: F) -> Inspect<Self, F>where
F: FnMut(&Self::Item),
Do something with each item of this stream, afterwards passing it on. Read more
fn left_stream<B>(self) -> Either<Self, B>where
B: Stream<Item = Self::Item>,
fn left_stream<B>(self) -> Either<Self, B>where
B: Stream<Item = Self::Item>,
Wrap this stream in an Either stream, making it the left-hand variant
of that Either. Read more
fn right_stream<B>(self) -> Either<B, Self>where
B: Stream<Item = Self::Item>,
fn right_stream<B>(self) -> Either<B, Self>where
B: Stream<Item = Self::Item>,
Wrap this stream in an Either stream, making it the right-hand variant
of that Either. Read more