pub struct MinimumThroughputDownloadBody<B> { /* private fields */ }
Expand description
A body-wrapping type that ensures data is being streamed faster than some lower limit.
If data is being streamed too slowly, this body type will emit an error next time it’s polled.
Implementations§
source§impl<B> MinimumThroughputDownloadBody<B>
impl<B> MinimumThroughputDownloadBody<B>
sourcepub fn new(
time_source: impl TimeSource + 'static,
async_sleep: impl AsyncSleep + 'static,
body: B,
options: MinimumThroughputBodyOptions,
) -> Self
pub fn new( time_source: impl TimeSource + 'static, async_sleep: impl AsyncSleep + 'static, body: B, options: MinimumThroughputBodyOptions, ) -> Self
Create a new minimum throughput body.
Trait Implementations§
source§impl<B> Body for MinimumThroughputDownloadBody<B>
impl<B> Body for MinimumThroughputDownloadBody<B>
source§fn poll_data(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
) -> Poll<Option<Result<Self::Data, Self::Error>>>
fn poll_data( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Option<Result<Self::Data, Self::Error>>>
Attempt to pull out the next data buffer of this stream.
source§fn poll_trailers(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
) -> Poll<Result<Option<HeaderMap>, Self::Error>>
fn poll_trailers( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Result<Option<HeaderMap>, Self::Error>>
Poll for an optional single
HeaderMap
of trailers. Read moresource§fn is_end_stream(&self) -> bool
fn is_end_stream(&self) -> bool
Returns
true
when the end of stream has been reached. Read moresource§fn size_hint(&self) -> SizeHint
fn size_hint(&self) -> SizeHint
Returns the bounds on the remaining length of the stream. Read more
source§fn map_data<F, B>(self, f: F) -> MapData<Self, F>
fn map_data<F, B>(self, f: F) -> MapData<Self, F>
Maps this body’s data value to a different value.
impl<'__pin, B> Unpin for MinimumThroughputDownloadBody<B>where
PinnedFieldsOf<__Origin<'__pin, B>>: Unpin,
Auto Trait Implementations§
impl<B> Freeze for MinimumThroughputDownloadBody<B>where
B: Freeze,
impl<B> !RefUnwindSafe for MinimumThroughputDownloadBody<B>
impl<B> Send for MinimumThroughputDownloadBody<B>where
B: Send,
impl<B> Sync for MinimumThroughputDownloadBody<B>where
B: Sync,
impl<B> !UnwindSafe for MinimumThroughputDownloadBody<B>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.