Skip to main content

ChunkedDecoder

Struct ChunkedDecoder 

Source
pub struct ChunkedDecoder { /* private fields */ }
Expand description

Sans-IO chunked transfer-encoding decoder.

Feed wire bytes via decode. Decoded body bytes are written into the output buffer. Returns how many input bytes were consumed and how many output bytes were produced.

§Usage

let mut decoder = ChunkedDecoder::new();
let (consumed, produced) = decoder.decode(wire_bytes, &mut output_buf)?;

Implementations§

Source§

impl ChunkedDecoder

Source

pub fn new() -> Self

Create a new decoder.

Source

pub fn is_done(&self) -> bool

Whether the final zero-length chunk has been seen.

Source

pub fn total_decoded(&self) -> usize

Total decoded body bytes produced so far.

Source

pub fn decode( &mut self, input: &[u8], output: &mut [u8], ) -> Result<(usize, usize), HttpError>

Decode chunked wire bytes into body bytes.

Returns (consumed, produced) — how many input bytes were consumed and how many output bytes were written.

Call repeatedly as more wire bytes arrive. When is_done() returns true, the body is complete.

Source

pub fn reset(&mut self)

Reset for reuse.

Trait Implementations§

Source§

impl Default for ChunkedDecoder

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

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> Same for T

Source§

type Output = T

Should always be Self
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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V