[−][src]Struct libp2p_core::nodes::node::NodeStream
Implementation of Stream
that handles a node.
The stream will receive substreams and can be used to open new outgoing substreams. Destroying
the NodeStream
will not close the existing substreams.
The stream will close once both the inbound and outbound channels are closed, and no more outbound substream attempt is pending.
Methods
impl<TMuxer, TUserData> NodeStream<TMuxer, TUserData> where
TMuxer: StreamMuxer,
[src]
impl<TMuxer, TUserData> NodeStream<TMuxer, TUserData> where
TMuxer: StreamMuxer,
pub fn new(muxer: TMuxer) -> Self | [src] |
Creates a new node events stream.
pub fn open_substream(&mut self, user_data: TUserData) -> Result<(), TUserData> | [src] |
Starts the process of opening a new outbound substream.
Returns an error if the outbound side of the muxer is closed.
After calling this method, polling the stream should eventually produce either an
OutboundSubstream
event or an OutboundClosed
event containing the user data that has
been passed to this method.
pub fn is_inbound_open(&self) -> bool | [src] |
Returns true if the inbound channel of the muxer is open.
If true
is returned, more inbound substream will be produced.
pub fn is_outbound_open(&self) -> bool | [src] |
Returns true if the outbound channel of the muxer is open.
If true
is returned, more outbound substream can be opened. Otherwise, calling
open_substream
will return an Err
.
pub fn close(self) -> Vec<TUserData> | [src] |
Destroys the node stream and returns all the pending outbound substreams.
pub fn cancel_outgoing(&mut self) -> Vec<TUserData> | [src] |
Destroys all outbound streams and returns the corresponding user data.
pub fn shutdown_all(&mut self) | [src] |
Trigger node shutdown.
After this, NodeStream::poll
will eventually produce None
, when both endpoints are
closed.
Trait Implementations
impl<TMuxer, TUserData> Drop for NodeStream<TMuxer, TUserData> where
TMuxer: StreamMuxer,
[src]
impl<TMuxer, TUserData> Drop for NodeStream<TMuxer, TUserData> where
TMuxer: StreamMuxer,
impl<TMuxer, TUserData> Debug for NodeStream<TMuxer, TUserData> where
TMuxer: StreamMuxer,
[src]
impl<TMuxer, TUserData> Debug for NodeStream<TMuxer, TUserData> where
TMuxer: StreamMuxer,
impl<TMuxer, TUserData> Stream for NodeStream<TMuxer, TUserData> where
TMuxer: StreamMuxer,
[src]
impl<TMuxer, TUserData> Stream for NodeStream<TMuxer, TUserData> where
TMuxer: StreamMuxer,
type Item = NodeEvent<TMuxer, TUserData>
The type of item this stream will yield on success.
type Error = IoError
The type of error this stream may generate.
fn poll(&mut self) -> Poll<Option<Self::Item>, Self::Error> | [src] |
fn wait(self) -> Wait<Self> | [src] |
Creates an iterator which blocks the current thread until each item of this stream is resolved. Read more
fn into_future(self) -> StreamFuture<Self> | [src] |
Converts this stream into a Future
. Read more
fn map<U, F>(self, f: F) -> Map<Self, F> where | [src] |
Converts a stream of type T
to a stream of type U
. Read more
fn map_err<U, F>(self, f: F) -> MapErr<Self, F> where | [src] |
Converts a stream of error type T
to a stream of error type U
. Read more
fn filter<F>(self, f: F) -> Filter<Self, F> where | [src] |
Filters the values produced by this stream according to the provided predicate. Read more
fn filter_map<F, B>(self, f: F) -> FilterMap<Self, F> where | [src] |
Filters the values produced by this stream while simultaneously mapping them to a different type. Read more
fn then<F, U>(self, f: F) -> Then<Self, F, U> where | [src] |
Chain on a computation for when a value is ready, passing the resulting item to the provided closure f
. Read more
fn and_then<F, U>(self, f: F) -> AndThen<Self, F, U> where | [src] |
Chain on a computation for when a value is ready, passing the successful results to the provided closure f
. Read more
fn or_else<F, U>(self, f: F) -> OrElse<Self, F, U> where | [src] |
Chain on a computation for when an error happens, passing the erroneous result to the provided closure f
. Read more
fn collect(self) -> Collect<Self> | [src] |
Collect all of the values of this stream into a vector, returning a future representing the result of that computation. Read more
fn concat2(self) -> Concat2<Self> where | [src] |
Concatenate all results of a stream into a single extendable destination, returning a future representing the end result. Read more
fn concat(self) -> Concat<Self> where | [src] |
please use Stream::concat2
instead
Concatenate all results of a stream into a single extendable destination, returning a future representing the end result. Read more
fn fold<F, T, Fut>(self, init: T, f: F) -> Fold<Self, F, Fut, T> where | [src] |
Execute an accumulating computation over a stream, collecting all the values into one final result. Read more
fn flatten(self) -> Flatten<Self> where | [src] |
Flattens a stream of streams into just one continuous stream. Read more
fn skip_while<P, R>(self, pred: P) -> SkipWhile<Self, P, R> where | [src] |
Skip elements on this stream while the predicate provided resolves to true
. Read more
fn take_while<P, R>(self, pred: P) -> TakeWhile<Self, P, R> where | [src] |
Take elements from this stream while the predicate provided resolves to true
. Read more
fn for_each<F, U>(self, f: F) -> ForEach<Self, F, U> where | [src] |
Runs this stream to completion, executing the provided closure for each element on the stream. Read more
fn from_err<E>(self) -> FromErr<Self, E> where | [src] |
Map this stream's error to any error implementing From
for this stream's Error
, returning a new stream. Read more
fn take(self, amt: u64) -> Take<Self> | [src] |
Creates a new stream of at most amt
items of the underlying stream. Read more
fn skip(self, amt: u64) -> Skip<Self> | [src] |
Creates a new stream which skips amt
items of the underlying stream. Read more
fn fuse(self) -> Fuse<Self> | [src] |
Fuse a stream such that poll
will never again be called once it has finished. Read more
fn by_ref(&mut self) -> &mut Self | [src] |
Borrows a stream, rather than consuming it. Read more
fn catch_unwind(self) -> CatchUnwind<Self> where | [src] |
Catches unwinding panics while polling the stream. Read more
fn buffered(self, amt: usize) -> Buffered<Self> where | [src] |
An adaptor for creating a buffered list of pending futures. Read more
fn buffer_unordered(self, amt: usize) -> BufferUnordered<Self> where | [src] |
An adaptor for creating a buffered list of pending futures (unordered). Read more
fn merge<S>(self, other: S) -> Merge<Self, S> where | [src] |
functionality provided by select
now
An adapter for merging the output of two streams. Read more
fn zip<S>(self, other: S) -> Zip<Self, S> where | [src] |
An adapter for zipping two streams together. Read more
fn chain<S>(self, other: S) -> Chain<Self, S> where | [src] |
Adapter for chaining two stream. Read more
fn peekable(self) -> Peekable<Self> | [src] |
Creates a new stream which exposes a peek
method. Read more
fn chunks(self, capacity: usize) -> Chunks<Self> | [src] |
An adaptor for chunking up items of the stream inside a vector. Read more
fn select<S>(self, other: S) -> Select<Self, S> where | [src] |
Creates a stream that selects the next element from either this stream or the provided one, whichever is ready first. Read more
fn forward<S>(self, sink: S) -> Forward<Self, S> where | [src] |
A future that completes after the given stream has been fully processed into the sink, including flushing. Read more
fn split(self) -> (SplitSink<Self>, SplitStream<Self>) where | [src] |
Splits this Stream + Sink
object into separate Stream
and Sink
objects. Read more
fn inspect<F>(self, f: F) -> Inspect<Self, F> where | [src] |
Do something with each item of this stream, afterwards passing it on. Read more
fn inspect_err<F>(self, f: F) -> InspectErr<Self, F> where | [src] |
Do something with the error of this stream, afterwards passing it on. Read more
Auto Trait Implementations
impl<TMuxer, TUserData> Send for NodeStream<TMuxer, TUserData> where
TMuxer: Send + Sync,
TUserData: Send,
<TMuxer as StreamMuxer>::OutboundSubstream: Send,
impl<TMuxer, TUserData> Send for NodeStream<TMuxer, TUserData> where
TMuxer: Send + Sync,
TUserData: Send,
<TMuxer as StreamMuxer>::OutboundSubstream: Send,
impl<TMuxer, TUserData> Sync for NodeStream<TMuxer, TUserData> where
TMuxer: Send + Sync,
TUserData: Sync,
<TMuxer as StreamMuxer>::OutboundSubstream: Sync,
impl<TMuxer, TUserData> Sync for NodeStream<TMuxer, TUserData> where
TMuxer: Send + Sync,
TUserData: Sync,
<TMuxer as StreamMuxer>::OutboundSubstream: Sync,
Blanket Implementations
impl<T> From for T
[src]
impl<T> From for T
impl<T, U> Into for T where
U: From<T>,
[src]
impl<T, U> Into for T where
U: From<T>,
impl<T, U> TryFrom for T where
T: From<U>,
[src]
impl<T, U> TryFrom for T where
T: From<U>,
type Error = !
try_from
)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]
impl<T> Borrow for T where
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
impl<T> BorrowMut for T where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T | [src] |
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error> | [src] |
impl<T> Any for T where
T: 'static + ?Sized,
[src]
impl<T> Any for T where
T: 'static + ?Sized,
fn get_type_id(&self) -> TypeId | [src] |
impl<T> Same for T
impl<T> Same for T
type Output = T
Should always be Self
impl<T> Erased for T
impl<T> Erased for T