[−][src]Trait futures::Sink
A Sink
is a value into which other values can be sent, asynchronously.
Basic examples of sinks include the sending side of:
- Channels
- Sockets
- Pipes
In addition to such "primitive" sinks, it's typical to layer additional functionality, such as buffering, on top of an existing sink.
Sending to a sink is "asynchronous" in the sense that the value may not be sent in its entirety immediately. Instead, values are sent in a two-phase way: first by initiating a send, and then by polling for completion. This two-phase setup is analogous to buffered writing in synchronous code, where writes often succeed immediately, but internally are buffered and are actually written only upon flushing.
In addition, the Sink
may be full, in which case it is not even possible
to start the sending process.
As with Future
and Stream
, the Sink
trait is built from a few core
required methods, and a host of default methods for working in a
higher-level way. The Sink::send_all
combinator is of particular
importance: you can use it to send an entire stream to a sink, which is
the simplest way to ultimately consume a stream.
Associated Types
type SinkItem
The type of value that the sink accepts.
type SinkError
The type of value produced by the sink when an error occurs.
Required Methods
fn poll_ready(&mut self, cx: &mut Context) -> Result<Async<()>, Self::SinkError>
Attempts to prepare the Sink
to receive a value.
This method must be called and return Ok(Async::Ready(()))
prior to
each call to start_send
.
This method returns Async::Ready
once the underlying sink is ready to
receive data. If this method returns Async::Pending
, the current task
is registered to be notified (via cx.waker()
) when poll_ready
should be called again.
In most cases, if the sink encounters an error, the sink will permanently be unable to receive items.
fn start_send(&mut self, item: Self::SinkItem) -> Result<(), Self::SinkError>
Begin the process of sending a value to the sink.
Each call to this function must be preceded by a successful call to
poll_ready
which returned Ok(Async::Ready(()))
.
As the name suggests, this method only begins the process of sending
the item. If the sink employs buffering, the item isn't fully processed
until the buffer is fully flushed. Since sinks are designed to work with
asynchronous I/O, the process of actually writing out the data to an
underlying object takes place asynchronously. You must use
poll_flush
or poll_close
in order to guarantee completion of a
send.
Implementations of poll_ready
and start_send
will usually involve
flushing behind the scenes in order to make room for new messages.
It is only necessary to call poll_flush
if you need to guarantee that
all of the items placed into the Sink
have been sent.
In most cases, if the sink encounters an error, the sink will permanently be unable to receive items.
fn poll_flush(&mut self, cx: &mut Context) -> Result<Async<()>, Self::SinkError>
Flush any remaining output from this sink.
Returns Ok(Async::Ready(()))
when no buffered items remain. If this
value is returned then it is guaranteed that all previous values sent
via start_send
have been flushed.
Returns Ok(Async::Pending)
if there is more work left to do, in which
case the current task is scheduled (via cx.waker()
) to wake up when
poll_flush
should be called again.
In most cases, if the sink encounters an error, the sink will permanently be unable to receive items.
fn poll_close(&mut self, cx: &mut Context) -> Result<Async<()>, Self::SinkError>
Flush any remaining output and close this sink, if necessary.
Returns Ok(Async::Ready(()))
when no buffered items remain and the sink
has been successfully closed.
Returns Ok(Async::Pending)
if there is more work left to do, in which
case the current task is scheduled (via cx.waker()
) to wake up when
poll_close
should be called again.
If this function encounters an error, the sink should be considered to
have failed permanently, and no more Sink
methods should be called.
Implementations on Foreign Types
impl<F> Sink for FlattenSink<F> where
F: Future,
<F as Future>::Item: Sink,
<<F as Future>::Item as Sink>::SinkError == <F as Future>::Error,
[src]
impl<F> Sink for FlattenSink<F> where
F: Future,
<F as Future>::Item: Sink,
<<F as Future>::Item as Sink>::SinkError == <F as Future>::Error,
type SinkItem = <<F as Future>::Item as Sink>::SinkItem
type SinkError = <<F as Future>::Item as Sink>::SinkError
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <FlattenSink<F> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <FlattenSink<F> as Sink>::SinkError>
fn start_send(
&mut self,
item: <FlattenSink<F> as Sink>::SinkItem
) -> Result<(), <FlattenSink<F> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <FlattenSink<F> as Sink>::SinkItem
) -> Result<(), <FlattenSink<F> as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <FlattenSink<F> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <FlattenSink<F> as Sink>::SinkError>
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <FlattenSink<F> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <FlattenSink<F> as Sink>::SinkError>
impl<'a, S> Sink for &'a mut S where
S: Sink + ?Sized,
[src]
impl<'a, S> Sink for &'a mut S where
S: Sink + ?Sized,
type SinkItem = <S as Sink>::SinkItem
type SinkError = <S as Sink>::SinkError
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <&'a mut S as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <&'a mut S as Sink>::SinkError>
fn start_send(
&mut self,
item: <&'a mut S as Sink>::SinkItem
) -> Result<(), <&'a mut S as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <&'a mut S as Sink>::SinkItem
) -> Result<(), <&'a mut S as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <&'a mut S as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <&'a mut S as Sink>::SinkError>
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <&'a mut S as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <&'a mut S as Sink>::SinkError>
impl<S> Sink for Box<S> where
S: Sink + ?Sized,
[src]
impl<S> Sink for Box<S> where
S: Sink + ?Sized,
type SinkItem = <S as Sink>::SinkItem
type SinkError = <S as Sink>::SinkError
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Box<S> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Box<S> as Sink>::SinkError>
fn start_send(
&mut self,
item: <Box<S> as Sink>::SinkItem
) -> Result<(), <Box<S> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <Box<S> as Sink>::SinkItem
) -> Result<(), <Box<S> as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Box<S> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Box<S> as Sink>::SinkError>
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Box<S> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Box<S> as Sink>::SinkError>
impl<T> Sink for Vec<T>
[src]
impl<T> Sink for Vec<T>
type SinkItem = T
type SinkError = Never
fn poll_ready(
&mut self,
&mut Context
) -> Result<Async<()>, <Vec<T> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
&mut Context
) -> Result<Async<()>, <Vec<T> as Sink>::SinkError>
fn start_send(
&mut self,
item: <Vec<T> as Sink>::SinkItem
) -> Result<(), <Vec<T> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <Vec<T> as Sink>::SinkItem
) -> Result<(), <Vec<T> as Sink>::SinkError>
fn poll_flush(
&mut self,
&mut Context
) -> Result<Async<()>, <Vec<T> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
&mut Context
) -> Result<Async<()>, <Vec<T> as Sink>::SinkError>
fn poll_close(
&mut self,
&mut Context
) -> Result<Async<()>, <Vec<T> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
&mut Context
) -> Result<Async<()>, <Vec<T> as Sink>::SinkError>
impl<T> Sink for VecDeque<T>
[src]
impl<T> Sink for VecDeque<T>
type SinkItem = T
type SinkError = Never
fn poll_ready(
&mut self,
&mut Context
) -> Result<Async<()>, <VecDeque<T> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
&mut Context
) -> Result<Async<()>, <VecDeque<T> as Sink>::SinkError>
fn start_send(
&mut self,
item: <VecDeque<T> as Sink>::SinkItem
) -> Result<(), <VecDeque<T> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <VecDeque<T> as Sink>::SinkItem
) -> Result<(), <VecDeque<T> as Sink>::SinkError>
fn poll_flush(
&mut self,
&mut Context
) -> Result<Async<()>, <VecDeque<T> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
&mut Context
) -> Result<Async<()>, <VecDeque<T> as Sink>::SinkError>
fn poll_close(
&mut self,
&mut Context
) -> Result<Async<()>, <VecDeque<T> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
&mut Context
) -> Result<Async<()>, <VecDeque<T> as Sink>::SinkError>
Implementors
impl<'a, T> Sink for &'a UnboundedSender<T>
[src]
impl<'a, T> Sink for &'a UnboundedSender<T>
type SinkItem = T
type SinkError = SendError
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <&'a UnboundedSender<T> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <&'a UnboundedSender<T> as Sink>::SinkError>
fn start_send(
&mut self,
msg: T
) -> Result<(), <&'a UnboundedSender<T> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
msg: T
) -> Result<(), <&'a UnboundedSender<T> as Sink>::SinkError>
fn poll_flush(
&mut self,
&mut Context
) -> Result<Async<()>, <&'a UnboundedSender<T> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
&mut Context
) -> Result<Async<()>, <&'a UnboundedSender<T> as Sink>::SinkError>
fn poll_close(
&mut self,
&mut Context
) -> Result<Async<()>, <&'a UnboundedSender<T> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
&mut Context
) -> Result<Async<()>, <&'a UnboundedSender<T> as Sink>::SinkError>
impl<A, B> Sink for Either<A, B> where
A: Sink,
B: Sink<SinkItem = <A as Sink>::SinkItem, SinkError = <A as Sink>::SinkError>,
[src]
impl<A, B> Sink for Either<A, B> where
A: Sink,
B: Sink<SinkItem = <A as Sink>::SinkItem, SinkError = <A as Sink>::SinkError>,
type SinkItem = <A as Sink>::SinkItem
type SinkError = <A as Sink>::SinkError
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Either<A, B> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Either<A, B> as Sink>::SinkError>
fn start_send(
&mut self,
item: <Either<A, B> as Sink>::SinkItem
) -> Result<(), <Either<A, B> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <Either<A, B> as Sink>::SinkItem
) -> Result<(), <Either<A, B> as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Either<A, B> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Either<A, B> as Sink>::SinkError>
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Either<A, B> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Either<A, B> as Sink>::SinkError>
impl<A, B> Sink for Fanout<A, B> where
A: Sink,
B: Sink<SinkItem = <A as Sink>::SinkItem, SinkError = <A as Sink>::SinkError>,
<A as Sink>::SinkItem: Clone,
[src]
impl<A, B> Sink for Fanout<A, B> where
A: Sink,
B: Sink<SinkItem = <A as Sink>::SinkItem, SinkError = <A as Sink>::SinkError>,
<A as Sink>::SinkItem: Clone,
type SinkItem = <A as Sink>::SinkItem
type SinkError = <A as Sink>::SinkError
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Fanout<A, B> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Fanout<A, B> as Sink>::SinkError>
fn start_send(
&mut self,
item: <Fanout<A, B> as Sink>::SinkItem
) -> Result<(), <Fanout<A, B> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <Fanout<A, B> as Sink>::SinkItem
) -> Result<(), <Fanout<A, B> as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Fanout<A, B> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Fanout<A, B> as Sink>::SinkError>
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Fanout<A, B> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Fanout<A, B> as Sink>::SinkError>
impl<S> Sink for Buffer<S> where
S: Sink,
[src]
impl<S> Sink for Buffer<S> where
S: Sink,
type SinkItem = <S as Sink>::SinkItem
type SinkError = <S as Sink>::SinkError
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Buffer<S> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Buffer<S> as Sink>::SinkError>
fn start_send(
&mut self,
item: <Buffer<S> as Sink>::SinkItem
) -> Result<(), <Buffer<S> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <Buffer<S> as Sink>::SinkItem
) -> Result<(), <Buffer<S> as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Buffer<S> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Buffer<S> as Sink>::SinkError>
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Buffer<S> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Buffer<S> as Sink>::SinkError>
impl<S> Sink for BufferUnordered<S> where
S: Sink + Stream,
<S as Stream>::Item: IntoFuture,
[src]
impl<S> Sink for BufferUnordered<S> where
S: Sink + Stream,
<S as Stream>::Item: IntoFuture,
type SinkItem = <S as Sink>::SinkItem
type SinkError = <S as Sink>::SinkError
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <BufferUnordered<S> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <BufferUnordered<S> as Sink>::SinkError>
fn start_send(
&mut self,
item: <BufferUnordered<S> as Sink>::SinkItem
) -> Result<(), <BufferUnordered<S> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <BufferUnordered<S> as Sink>::SinkItem
) -> Result<(), <BufferUnordered<S> as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <BufferUnordered<S> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <BufferUnordered<S> as Sink>::SinkError>
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <BufferUnordered<S> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <BufferUnordered<S> as Sink>::SinkError>
impl<S> Sink for Buffered<S> where
S: Sink + Stream,
<S as Stream>::Item: IntoFuture,
[src]
impl<S> Sink for Buffered<S> where
S: Sink + Stream,
<S as Stream>::Item: IntoFuture,
type SinkItem = <S as Sink>::SinkItem
type SinkError = <S as Sink>::SinkError
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Buffered<S> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Buffered<S> as Sink>::SinkError>
fn start_send(
&mut self,
item: <Buffered<S> as Sink>::SinkItem
) -> Result<(), <Buffered<S> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <Buffered<S> as Sink>::SinkItem
) -> Result<(), <Buffered<S> as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Buffered<S> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Buffered<S> as Sink>::SinkError>
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Buffered<S> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Buffered<S> as Sink>::SinkError>
impl<S> Sink for Chunks<S> where
S: Sink + Stream,
[src]
impl<S> Sink for Chunks<S> where
S: Sink + Stream,
type SinkItem = <S as Sink>::SinkItem
type SinkError = <S as Sink>::SinkError
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Chunks<S> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Chunks<S> as Sink>::SinkError>
fn start_send(
&mut self,
item: <Chunks<S> as Sink>::SinkItem
) -> Result<(), <Chunks<S> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <Chunks<S> as Sink>::SinkItem
) -> Result<(), <Chunks<S> as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Chunks<S> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Chunks<S> as Sink>::SinkError>
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Chunks<S> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Chunks<S> as Sink>::SinkError>
impl<S> Sink for Flatten<S> where
S: Sink + Stream,
[src]
impl<S> Sink for Flatten<S> where
S: Sink + Stream,
type SinkItem = <S as Sink>::SinkItem
type SinkError = <S as Sink>::SinkError
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Flatten<S> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Flatten<S> as Sink>::SinkError>
fn start_send(
&mut self,
item: <Flatten<S> as Sink>::SinkItem
) -> Result<(), <Flatten<S> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <Flatten<S> as Sink>::SinkItem
) -> Result<(), <Flatten<S> as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Flatten<S> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Flatten<S> as Sink>::SinkError>
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Flatten<S> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Flatten<S> as Sink>::SinkError>
impl<S> Sink for Fuse<S> where
S: Sink,
[src]
impl<S> Sink for Fuse<S> where
S: Sink,
type SinkItem = <S as Sink>::SinkItem
type SinkError = <S as Sink>::SinkError
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Fuse<S> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Fuse<S> as Sink>::SinkError>
fn start_send(
&mut self,
item: <Fuse<S> as Sink>::SinkItem
) -> Result<(), <Fuse<S> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <Fuse<S> as Sink>::SinkItem
) -> Result<(), <Fuse<S> as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Fuse<S> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Fuse<S> as Sink>::SinkError>
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Fuse<S> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Fuse<S> as Sink>::SinkError>
impl<S> Sink for Peekable<S> where
S: Sink + Stream,
[src]
impl<S> Sink for Peekable<S> where
S: Sink + Stream,
type SinkItem = <S as Sink>::SinkItem
type SinkError = <S as Sink>::SinkError
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Peekable<S> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Peekable<S> as Sink>::SinkError>
fn start_send(
&mut self,
item: <Peekable<S> as Sink>::SinkItem
) -> Result<(), <Peekable<S> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <Peekable<S> as Sink>::SinkItem
) -> Result<(), <Peekable<S> as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Peekable<S> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Peekable<S> as Sink>::SinkError>
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Peekable<S> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Peekable<S> as Sink>::SinkError>
impl<S> Sink for Skip<S> where
S: Sink,
[src]
impl<S> Sink for Skip<S> where
S: Sink,
type SinkItem = <S as Sink>::SinkItem
type SinkError = <S as Sink>::SinkError
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Skip<S> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Skip<S> as Sink>::SinkError>
fn start_send(
&mut self,
item: <Skip<S> as Sink>::SinkItem
) -> Result<(), <Skip<S> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <Skip<S> as Sink>::SinkItem
) -> Result<(), <Skip<S> as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Skip<S> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Skip<S> as Sink>::SinkError>
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Skip<S> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Skip<S> as Sink>::SinkError>
impl<S> Sink for SplitSink<S> where
S: Sink,
[src]
impl<S> Sink for SplitSink<S> where
S: Sink,
type SinkItem = <S as Sink>::SinkItem
type SinkError = <S as Sink>::SinkError
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <S as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <S as Sink>::SinkError>
fn start_send(
&mut self,
item: <S as Sink>::SinkItem
) -> Result<(), <S as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <S as Sink>::SinkItem
) -> Result<(), <S as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <S as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <S as Sink>::SinkError>
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <S as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <S as Sink>::SinkError>
impl<S> Sink for Take<S> where
S: Sink + Stream,
[src]
impl<S> Sink for Take<S> where
S: Sink + Stream,
type SinkItem = <S as Sink>::SinkItem
type SinkError = <S as Sink>::SinkError
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Take<S> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Take<S> as Sink>::SinkError>
fn start_send(
&mut self,
item: <Take<S> as Sink>::SinkItem
) -> Result<(), <Take<S> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <Take<S> as Sink>::SinkItem
) -> Result<(), <Take<S> as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Take<S> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Take<S> as Sink>::SinkError>
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Take<S> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Take<S> as Sink>::SinkError>
impl<S, E> Sink for SinkErrInto<S, E> where
S: Sink,
<S as Sink>::SinkError: Into<E>,
[src]
impl<S, E> Sink for SinkErrInto<S, E> where
S: Sink,
<S as Sink>::SinkError: Into<E>,
type SinkItem = <S as Sink>::SinkItem
type SinkError = E
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <SinkErrInto<S, E> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <SinkErrInto<S, E> as Sink>::SinkError>
fn start_send(
&mut self,
item: <SinkErrInto<S, E> as Sink>::SinkItem
) -> Result<(), <SinkErrInto<S, E> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <SinkErrInto<S, E> as Sink>::SinkItem
) -> Result<(), <SinkErrInto<S, E> as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <SinkErrInto<S, E> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <SinkErrInto<S, E> as Sink>::SinkError>
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <SinkErrInto<S, E> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <SinkErrInto<S, E> as Sink>::SinkError>
impl<S, E> Sink for ErrInto<S, E> where
S: Stream + Sink,
[src]
impl<S, E> Sink for ErrInto<S, E> where
S: Stream + Sink,
type SinkItem = <S as Sink>::SinkItem
type SinkError = <S as Sink>::SinkError
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <ErrInto<S, E> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <ErrInto<S, E> as Sink>::SinkError>
fn start_send(
&mut self,
item: <ErrInto<S, E> as Sink>::SinkItem
) -> Result<(), <ErrInto<S, E> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <ErrInto<S, E> as Sink>::SinkItem
) -> Result<(), <ErrInto<S, E> as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <ErrInto<S, E> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <ErrInto<S, E> as Sink>::SinkError>
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <ErrInto<S, E> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <ErrInto<S, E> as Sink>::SinkError>
impl<S, F> Sink for Inspect<S, F> where
S: Sink + Stream,
[src]
impl<S, F> Sink for Inspect<S, F> where
S: Sink + Stream,
type SinkItem = <S as Sink>::SinkItem
type SinkError = <S as Sink>::SinkError
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Inspect<S, F> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Inspect<S, F> as Sink>::SinkError>
fn start_send(
&mut self,
item: <Inspect<S, F> as Sink>::SinkItem
) -> Result<(), <Inspect<S, F> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <Inspect<S, F> as Sink>::SinkItem
) -> Result<(), <Inspect<S, F> as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Inspect<S, F> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Inspect<S, F> as Sink>::SinkError>
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Inspect<S, F> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Inspect<S, F> as Sink>::SinkError>
impl<S, F> Sink for InspectErr<S, F> where
S: Sink + Stream,
[src]
impl<S, F> Sink for InspectErr<S, F> where
S: Sink + Stream,
type SinkItem = <S as Sink>::SinkItem
type SinkError = <S as Sink>::SinkError
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <InspectErr<S, F> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <InspectErr<S, F> as Sink>::SinkError>
fn start_send(
&mut self,
item: <InspectErr<S, F> as Sink>::SinkItem
) -> Result<(), <InspectErr<S, F> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <InspectErr<S, F> as Sink>::SinkItem
) -> Result<(), <InspectErr<S, F> as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <InspectErr<S, F> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <InspectErr<S, F> as Sink>::SinkError>
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <InspectErr<S, F> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <InspectErr<S, F> as Sink>::SinkError>
impl<S, F> Sink for Map<S, F> where
S: Sink,
[src]
impl<S, F> Sink for Map<S, F> where
S: Sink,
type SinkItem = <S as Sink>::SinkItem
type SinkError = <S as Sink>::SinkError
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Map<S, F> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Map<S, F> as Sink>::SinkError>
fn start_send(
&mut self,
item: <Map<S, F> as Sink>::SinkItem
) -> Result<(), <Map<S, F> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <Map<S, F> as Sink>::SinkItem
) -> Result<(), <Map<S, F> as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Map<S, F> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Map<S, F> as Sink>::SinkError>
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Map<S, F> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Map<S, F> as Sink>::SinkError>
impl<S, F> Sink for MapErr<S, F> where
S: Sink,
[src]
impl<S, F> Sink for MapErr<S, F> where
S: Sink,
type SinkItem = <S as Sink>::SinkItem
type SinkError = <S as Sink>::SinkError
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <MapErr<S, F> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <MapErr<S, F> as Sink>::SinkError>
fn start_send(
&mut self,
item: <MapErr<S, F> as Sink>::SinkItem
) -> Result<(), <MapErr<S, F> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <MapErr<S, F> as Sink>::SinkItem
) -> Result<(), <MapErr<S, F> as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <MapErr<S, F> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <MapErr<S, F> as Sink>::SinkError>
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <MapErr<S, F> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <MapErr<S, F> as Sink>::SinkError>
impl<S, F, E> Sink for SinkMapErr<S, F> where
F: FnOnce(<S as Sink>::SinkError) -> E,
S: Sink,
[src]
impl<S, F, E> Sink for SinkMapErr<S, F> where
F: FnOnce(<S as Sink>::SinkError) -> E,
S: Sink,
type SinkItem = <S as Sink>::SinkItem
type SinkError = E
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <SinkMapErr<S, F> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <SinkMapErr<S, F> as Sink>::SinkError>
fn start_send(
&mut self,
item: <SinkMapErr<S, F> as Sink>::SinkItem
) -> Result<(), <SinkMapErr<S, F> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <SinkMapErr<S, F> as Sink>::SinkItem
) -> Result<(), <SinkMapErr<S, F> as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <SinkMapErr<S, F> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <SinkMapErr<S, F> as Sink>::SinkError>
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <SinkMapErr<S, F> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <SinkMapErr<S, F> as Sink>::SinkError>
impl<S, R, F> Sink for FilterMap<S, R, F> where
F: FnMut(<S as Stream>::Item) -> R,
R: IntoFuture<Error = <S as Stream>::Error>,
S: Stream + Sink,
[src]
impl<S, R, F> Sink for FilterMap<S, R, F> where
F: FnMut(<S as Stream>::Item) -> R,
R: IntoFuture<Error = <S as Stream>::Error>,
S: Stream + Sink,
type SinkItem = <S as Sink>::SinkItem
type SinkError = <S as Sink>::SinkError
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <FilterMap<S, R, F> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <FilterMap<S, R, F> as Sink>::SinkError>
fn start_send(
&mut self,
item: <FilterMap<S, R, F> as Sink>::SinkItem
) -> Result<(), <FilterMap<S, R, F> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <FilterMap<S, R, F> as Sink>::SinkItem
) -> Result<(), <FilterMap<S, R, F> as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <FilterMap<S, R, F> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <FilterMap<S, R, F> as Sink>::SinkError>
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <FilterMap<S, R, F> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <FilterMap<S, R, F> as Sink>::SinkError>
impl<S, R, P> Sink for Filter<S, R, P> where
P: FnMut(&<S as Stream>::Item) -> R,
R: IntoFuture<Item = bool, Error = <S as Stream>::Error>,
S: Stream + Sink,
[src]
impl<S, R, P> Sink for Filter<S, R, P> where
P: FnMut(&<S as Stream>::Item) -> R,
R: IntoFuture<Item = bool, Error = <S as Stream>::Error>,
S: Stream + Sink,
type SinkItem = <S as Sink>::SinkItem
type SinkError = <S as Sink>::SinkError
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Filter<S, R, P> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Filter<S, R, P> as Sink>::SinkError>
fn start_send(
&mut self,
item: <Filter<S, R, P> as Sink>::SinkItem
) -> Result<(), <Filter<S, R, P> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <Filter<S, R, P> as Sink>::SinkItem
) -> Result<(), <Filter<S, R, P> as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Filter<S, R, P> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Filter<S, R, P> as Sink>::SinkError>
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Filter<S, R, P> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Filter<S, R, P> as Sink>::SinkError>
impl<S, R, P> Sink for SkipWhile<S, R, P> where
R: IntoFuture,
S: Sink + Stream,
[src]
impl<S, R, P> Sink for SkipWhile<S, R, P> where
R: IntoFuture,
S: Sink + Stream,
type SinkItem = <S as Sink>::SinkItem
type SinkError = <S as Sink>::SinkError
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <SkipWhile<S, R, P> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <SkipWhile<S, R, P> as Sink>::SinkError>
fn start_send(
&mut self,
item: <SkipWhile<S, R, P> as Sink>::SinkItem
) -> Result<(), <SkipWhile<S, R, P> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <SkipWhile<S, R, P> as Sink>::SinkItem
) -> Result<(), <SkipWhile<S, R, P> as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <SkipWhile<S, R, P> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <SkipWhile<S, R, P> as Sink>::SinkError>
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <SkipWhile<S, R, P> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <SkipWhile<S, R, P> as Sink>::SinkError>
impl<S, R, P> Sink for TakeWhile<S, R, P> where
R: IntoFuture,
S: Sink + Stream,
[src]
impl<S, R, P> Sink for TakeWhile<S, R, P> where
R: IntoFuture,
S: Sink + Stream,
type SinkItem = <S as Sink>::SinkItem
type SinkError = <S as Sink>::SinkError
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <TakeWhile<S, R, P> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <TakeWhile<S, R, P> as Sink>::SinkError>
fn start_send(
&mut self,
item: <TakeWhile<S, R, P> as Sink>::SinkItem
) -> Result<(), <TakeWhile<S, R, P> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <TakeWhile<S, R, P> as Sink>::SinkItem
) -> Result<(), <TakeWhile<S, R, P> as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <TakeWhile<S, R, P> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <TakeWhile<S, R, P> as Sink>::SinkError>
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <TakeWhile<S, R, P> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <TakeWhile<S, R, P> as Sink>::SinkError>
impl<S, U, F> Sink for AndThen<S, U, F> where
S: Sink,
U: IntoFuture,
[src]
impl<S, U, F> Sink for AndThen<S, U, F> where
S: Sink,
U: IntoFuture,
type SinkItem = <S as Sink>::SinkItem
type SinkError = <S as Sink>::SinkError
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <AndThen<S, U, F> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <AndThen<S, U, F> as Sink>::SinkError>
fn start_send(
&mut self,
item: <AndThen<S, U, F> as Sink>::SinkItem
) -> Result<(), <AndThen<S, U, F> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <AndThen<S, U, F> as Sink>::SinkItem
) -> Result<(), <AndThen<S, U, F> as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <AndThen<S, U, F> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <AndThen<S, U, F> as Sink>::SinkError>
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <AndThen<S, U, F> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <AndThen<S, U, F> as Sink>::SinkError>
impl<S, U, F> Sink for OrElse<S, U, F> where
S: Sink,
U: IntoFuture,
[src]
impl<S, U, F> Sink for OrElse<S, U, F> where
S: Sink,
U: IntoFuture,
type SinkItem = <S as Sink>::SinkItem
type SinkError = <S as Sink>::SinkError
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <OrElse<S, U, F> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <OrElse<S, U, F> as Sink>::SinkError>
fn start_send(
&mut self,
item: <OrElse<S, U, F> as Sink>::SinkItem
) -> Result<(), <OrElse<S, U, F> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <OrElse<S, U, F> as Sink>::SinkItem
) -> Result<(), <OrElse<S, U, F> as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <OrElse<S, U, F> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <OrElse<S, U, F> as Sink>::SinkError>
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <OrElse<S, U, F> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <OrElse<S, U, F> as Sink>::SinkError>
impl<S, U, F> Sink for Then<S, U, F> where
S: Sink,
U: IntoFuture,
[src]
impl<S, U, F> Sink for Then<S, U, F> where
S: Sink,
U: IntoFuture,
type SinkItem = <S as Sink>::SinkItem
type SinkError = <S as Sink>::SinkError
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Then<S, U, F> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Then<S, U, F> as Sink>::SinkError>
fn start_send(
&mut self,
item: <Then<S, U, F> as Sink>::SinkItem
) -> Result<(), <Then<S, U, F> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <Then<S, U, F> as Sink>::SinkItem
) -> Result<(), <Then<S, U, F> as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Then<S, U, F> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Then<S, U, F> as Sink>::SinkError>
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Then<S, U, F> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Then<S, U, F> as Sink>::SinkError>
impl<S, U, Fut, F> Sink for With<S, U, Fut, F> where
F: FnMut(U) -> Fut,
Fut: IntoFuture<Item = <S as Sink>::SinkItem>,
S: Sink,
<Fut as IntoFuture>::Error: From<<S as Sink>::SinkError>,
[src]
impl<S, U, Fut, F> Sink for With<S, U, Fut, F> where
F: FnMut(U) -> Fut,
Fut: IntoFuture<Item = <S as Sink>::SinkItem>,
S: Sink,
<Fut as IntoFuture>::Error: From<<S as Sink>::SinkError>,
type SinkItem = U
type SinkError = <Fut as IntoFuture>::Error
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <With<S, U, Fut, F> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <With<S, U, Fut, F> as Sink>::SinkError>
fn start_send(
&mut self,
item: <With<S, U, Fut, F> as Sink>::SinkItem
) -> Result<(), <With<S, U, Fut, F> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
item: <With<S, U, Fut, F> as Sink>::SinkItem
) -> Result<(), <With<S, U, Fut, F> as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <With<S, U, Fut, F> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <With<S, U, Fut, F> as Sink>::SinkError>
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <With<S, U, Fut, F> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <With<S, U, Fut, F> as Sink>::SinkError>
impl<S, U, St, F> Sink for WithFlatMap<S, U, St, F> where
F: FnMut(U) -> St,
S: Sink,
St: Stream<Item = <S as Sink>::SinkItem, Error = <S as Sink>::SinkError>,
[src]
impl<S, U, St, F> Sink for WithFlatMap<S, U, St, F> where
F: FnMut(U) -> St,
S: Sink,
St: Stream<Item = <S as Sink>::SinkItem, Error = <S as Sink>::SinkError>,
type SinkItem = U
type SinkError = <S as Sink>::SinkError
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <WithFlatMap<S, U, St, F> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <WithFlatMap<S, U, St, F> as Sink>::SinkError>
fn start_send(
&mut self,
i: <WithFlatMap<S, U, St, F> as Sink>::SinkItem
) -> Result<(), <WithFlatMap<S, U, St, F> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
i: <WithFlatMap<S, U, St, F> as Sink>::SinkItem
) -> Result<(), <WithFlatMap<S, U, St, F> as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <WithFlatMap<S, U, St, F> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <WithFlatMap<S, U, St, F> as Sink>::SinkError>
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <WithFlatMap<S, U, St, F> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <WithFlatMap<S, U, St, F> as Sink>::SinkError>
impl<T> Sink for Sender<T>
[src]
impl<T> Sink for Sender<T>
type SinkItem = T
type SinkError = SendError
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Sender<T> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Sender<T> as Sink>::SinkError>
fn start_send(&mut self, msg: T) -> Result<(), <Sender<T> as Sink>::SinkError>
[src]
fn start_send(&mut self, msg: T) -> Result<(), <Sender<T> as Sink>::SinkError>
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Sender<T> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <Sender<T> as Sink>::SinkError>
fn poll_close(
&mut self,
&mut Context
) -> Result<Async<()>, <Sender<T> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
&mut Context
) -> Result<Async<()>, <Sender<T> as Sink>::SinkError>
impl<T> Sink for UnboundedSender<T>
[src]
impl<T> Sink for UnboundedSender<T>
type SinkItem = T
type SinkError = SendError
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <UnboundedSender<T> as Sink>::SinkError>
[src]
fn poll_ready(
&mut self,
cx: &mut Context
) -> Result<Async<()>, <UnboundedSender<T> as Sink>::SinkError>
fn start_send(
&mut self,
msg: T
) -> Result<(), <UnboundedSender<T> as Sink>::SinkError>
[src]
fn start_send(
&mut self,
msg: T
) -> Result<(), <UnboundedSender<T> as Sink>::SinkError>
fn poll_flush(
&mut self,
&mut Context
) -> Result<Async<()>, <UnboundedSender<T> as Sink>::SinkError>
[src]
fn poll_flush(
&mut self,
&mut Context
) -> Result<Async<()>, <UnboundedSender<T> as Sink>::SinkError>
fn poll_close(
&mut self,
&mut Context
) -> Result<Async<()>, <UnboundedSender<T> as Sink>::SinkError>
[src]
fn poll_close(
&mut self,
&mut Context
) -> Result<Async<()>, <UnboundedSender<T> as Sink>::SinkError>