Skip to main content

HpackEncoder

Struct HpackEncoder 

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

HPACK encoder.

Currently uses literal header fields without indexing for simplicity. An optimized version would use the static and dynamic tables to produce smaller output.

Implementations§

Source§

impl HpackEncoder

Source

pub fn new() -> Self

Create a new HPACK encoder with default max table size of 4096 bytes.

Source

pub fn encode(&self, headers: &[(&str, &str)]) -> Vec<u8>

Encode a list of header name-value pairs using HPACK.

This implementation uses literal header fields without indexing (pattern 0000xxxx with index=0) for simplicity and correctness. It checks the static table for name-only matches to save space.

Source

pub fn encode_huffman(&self, headers: &[(&str, &str)]) -> Vec<u8>

Encode headers using Huffman encoding for string values.

Trait Implementations§

Source§

impl Default for HpackEncoder

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