Skip to main content

QpackEncoderInstructionApplier

Struct QpackEncoderInstructionApplier 

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

Applies one parsed QPACK encoder-stream instruction to a dynamic table.

Implementations§

Source§

impl QpackEncoderInstructionApplier

Source

pub const fn new(maximum_dynamic_table_capacity: u64) -> Self

Creates an applier with the locally advertised maximum dynamic-table capacity.

Source

pub const fn maximum_dynamic_table_capacity(self) -> u64

Returns the locally advertised maximum permitted dynamic-table capacity.

Source

pub fn apply<F>( &self, table: &mut QpackDynamicTable<'_, '_>, instruction: QpackEncoderInstruction<'_>, scratch: &mut [u8], evictable: F, ) -> Result<QpackEncoderInstructionApplyOutcome, QpackEncoderInstructionApplyError>
where F: FnMut(u64) -> bool,

Applies one instruction using caller-owned scratch storage for decoded or copied bytes.

Scratch is unchanged when preflight fails. Once staging starts, a later rejected eviction policy may leave scratch clobbered, while the table remains unchanged on every error. Effects observed by evictable cannot be rolled back.

Source

pub fn apply_sequence<F>( &self, table: &mut QpackDynamicTable<'_, '_>, bytes: &[u8], scratch: &mut [u8], evictable: F, ) -> Result<(), QpackEncoderInstructionsApplyError>
where F: FnMut(u64) -> bool,

Validates and applies a complete unframed encoder-stream instruction sequence.

The complete sequence is validated before any instruction is applied. On an application failure, earlier successful instructions remain applied and later instructions are not attempted. Scratch and evictable retain the per-instruction effects documented by Self::apply.

Trait Implementations§

Source§

impl Clone for QpackEncoderInstructionApplier

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for QpackEncoderInstructionApplier

Source§

impl Debug for QpackEncoderInstructionApplier

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Eq for QpackEncoderInstructionApplier

Source§

impl PartialEq for QpackEncoderInstructionApplier

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for QpackEncoderInstructionApplier

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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 = !

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

fn try_from(value: U) -> Result<T, !>

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.