pub struct StreamBuffer { /* private fields */ }Expand description
A shared, growable byte buffer that the download thread writes into.
Clone it to get additional handles; all clones share the same underlying data.
Implementations§
Source§impl StreamBuffer
impl StreamBuffer
Sourcepub fn new(total_len: Option<u64>) -> Self
pub fn new(total_len: Option<u64>) -> Self
Create a new empty buffer. total_len may be provided once Content-Length is known.
Sourcepub fn finish(&self)
pub fn finish(&self)
Signal that the download is complete (or failed). No more bytes will arrive.
Sourcepub fn bytes_downloaded(&self) -> u64
pub fn bytes_downloaded(&self) -> u64
Total bytes received so far.
Sourcepub fn reader(&self) -> StreamingSource ⓘ
pub fn reader(&self) -> StreamingSource ⓘ
Create a StreamingSource that reads from this buffer starting at offset 0.
Trait Implementations§
Source§impl Clone for StreamBuffer
impl Clone for StreamBuffer
Source§fn clone(&self) -> StreamBuffer
fn clone(&self) -> StreamBuffer
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for StreamBuffer
impl RefUnwindSafe for StreamBuffer
impl Send for StreamBuffer
impl Sync for StreamBuffer
impl Unpin for StreamBuffer
impl UnsafeUnpin for StreamBuffer
impl UnwindSafe for StreamBuffer
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
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 more