Struct ResponseDecoder

Source
pub struct ResponseDecoder<R>(/* private fields */);
Expand description

Response decoder

Implementations§

Source§

impl<R: AsyncStreamReader> ResponseDecoder<R>

Source

pub fn new(hash: Hash, ranges: ChunkRanges, tree: BaoTree, encoded: R) -> Self

Create a new response decoder state machine, when you have already read the size.

The size as well as the chunk size is given in the tree parameter.

Source

pub async fn next(self) -> ResponseDecoderNext<R>

Proceed to the next state by reading the next chunk from the stream.

Source

pub fn finish(self) -> R

Immediately return the underlying reader

Source

pub fn tree(&self) -> BaoTree

The tree geometry

Source

pub fn hash(&self) -> &Hash

Hash of the blob we are currently getting

Trait Implementations§

Source§

impl<R: Debug> Debug for ResponseDecoder<R>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<R> Freeze for ResponseDecoder<R>

§

impl<R> RefUnwindSafe for ResponseDecoder<R>
where R: RefUnwindSafe,

§

impl<R> Send for ResponseDecoder<R>
where R: Send,

§

impl<R> Sync for ResponseDecoder<R>
where R: Sync,

§

impl<R> Unpin for ResponseDecoder<R>

§

impl<R> UnwindSafe for ResponseDecoder<R>
where R: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.