Struct body_image::client::AsyncBodySink [−][src]
pub struct AsyncBodySink { /* fields omitted */ }
Adaptor for BodySink
implementing the futures::Sink
trait. This
allows a hyper::Body
stream to be forwarded (e.g. via
futures::Stream::forward
) to a BodySink
, in a fully asynchronous
fashion.
Tunables
are used during the streaming to decide when to write back a
BodySink in Ram
to FsWrite
. This implementation uses
tokio_threadpool::blocking
to request becoming a backup thread for
blocking operations including BodySink::write_back
and
BodySink::write_all
(state FsWrite
). It may thus only be used on the
tokio threadpool. If the max_blocking
number of backup threads is
reached, and a blocking operation is required, then this implementation
will appear full, with start_send
returning
Ok(AsyncSink::NotReady(chunk)
, until a backup thread becomes available
or any timeout occurs.
Methods
impl AsyncBodySink
[src]
impl AsyncBodySink
pub fn new(body: BodySink, tune: Tunables) -> AsyncBodySink
[src]
pub fn new(body: BodySink, tune: Tunables) -> AsyncBodySink
pub fn body(&self) -> &BodySink
[src]
pub fn body(&self) -> &BodySink
The inner BodySink
as constructed.
pub fn body_mut(&mut self) -> &mut BodySink
[src]
pub fn body_mut(&mut self) -> &mut BodySink
A mutable reference to the inner BodySink
.
pub fn into_inner(self) -> BodySink
[src]
pub fn into_inner(self) -> BodySink
Unwrap and return the BodySink
.
Trait Implementations
impl Sink for AsyncBodySink
[src]
impl Sink for AsyncBodySink
type SinkItem = Chunk
The type of value that the sink accepts.
type SinkError = Flare
The type of value produced by the sink when an error occurs.
fn start_send(&mut self, chunk: Chunk) -> StartSend<Chunk, Flare>
[src]
fn start_send(&mut self, chunk: Chunk) -> StartSend<Chunk, Flare>
Begin the process of sending a value to the sink. Read more
fn poll_complete(&mut self) -> Poll<(), Flare>
[src]
fn poll_complete(&mut self) -> Poll<(), Flare>
Flush all output from this sink, if necessary. Read more
fn close(&mut self) -> Poll<(), Flare>
[src]
fn close(&mut self) -> Poll<(), Flare>
A method to indicate that no more values will ever be pushed into this sink. Read more
fn wait(self) -> Wait<Self>
[src]
fn wait(self) -> Wait<Self>
Creates a new object which will produce a synchronous sink. Read more
fn with<U, F, Fut>(self, f: F) -> With<Self, U, F, Fut> where
F: FnMut(U) -> Fut,
Fut: IntoFuture<Item = Self::SinkItem>,
<Fut as IntoFuture>::Error: From<Self::SinkError>,
[src]
fn with<U, F, Fut>(self, f: F) -> With<Self, U, F, Fut> where
F: FnMut(U) -> Fut,
Fut: IntoFuture<Item = Self::SinkItem>,
<Fut as IntoFuture>::Error: From<Self::SinkError>,
Composes a function in front of the sink. Read more
fn with_flat_map<U, F, St>(self, f: F) -> WithFlatMap<Self, U, F, St> where
F: FnMut(U) -> St,
St: Stream<Item = Self::SinkItem, Error = Self::SinkError>,
[src]
fn with_flat_map<U, F, St>(self, f: F) -> WithFlatMap<Self, U, F, St> where
F: FnMut(U) -> St,
St: Stream<Item = Self::SinkItem, Error = Self::SinkError>,
Composes a function in front of the sink. Read more
fn sink_map_err<F, E>(self, f: F) -> SinkMapErr<Self, F> where
F: FnOnce(Self::SinkError) -> E,
[src]
fn sink_map_err<F, E>(self, f: F) -> SinkMapErr<Self, F> where
F: FnOnce(Self::SinkError) -> E,
Transforms the error returned by the sink.
fn sink_from_err<E>(self) -> SinkFromErr<Self, E> where
E: From<Self::SinkError>,
[src]
fn sink_from_err<E>(self) -> SinkFromErr<Self, E> where
E: From<Self::SinkError>,
Map this sink's error to any error implementing From
for this sink's Error
, returning a new sink. Read more
fn buffer(self, amt: usize) -> Buffer<Self>
[src]
fn buffer(self, amt: usize) -> Buffer<Self>
Adds a fixed-size buffer to the current sink. Read more
fn fanout<S>(self, other: S) -> Fanout<Self, S> where
S: Sink<SinkItem = Self::SinkItem, SinkError = Self::SinkError>,
Self::SinkItem: Clone,
[src]
fn fanout<S>(self, other: S) -> Fanout<Self, S> where
S: Sink<SinkItem = Self::SinkItem, SinkError = Self::SinkError>,
Self::SinkItem: Clone,
Fanout items to multiple sinks. Read more
fn flush(self) -> Flush<Self>
[src]
fn flush(self) -> Flush<Self>
A future that completes when the sink has finished processing all pending requests. Read more
fn send(self, item: Self::SinkItem) -> Send<Self>
[src]
fn send(self, item: Self::SinkItem) -> Send<Self>
A future that completes after the given item has been fully processed into the sink, including flushing. Read more
fn send_all<S>(self, stream: S) -> SendAll<Self, S> where
S: Stream<Item = Self::SinkItem>,
Self::SinkError: From<<S as Stream>::Error>,
[src]
fn send_all<S>(self, stream: S) -> SendAll<Self, S> where
S: Stream<Item = Self::SinkItem>,
Self::SinkError: From<<S as Stream>::Error>,
A future that completes after the given stream has been fully processed into the sink, including flushing. Read more
Auto Trait Implementations
impl Send for AsyncBodySink
impl Send for AsyncBodySink
impl Sync for AsyncBodySink
impl Sync for AsyncBodySink