Skip to main content

FetchReemit

Enum FetchReemit 

Source
pub enum FetchReemit {
    Unchanged,
    Reframed {
        framing_bytes_before: usize,
        framing_bytes_after: usize,
    },
}
Expand description

What AnyFetchObjectWriter::reemit_object had to do.

The counterpart of Reemit, and deliberately not the same type. A subgroup object’s fix-up rewrites one leading varint and always writes the whole object out; a fetch frame’s is a re-encode of the whole header, and the case worth having a shape for is the one where no re-encode is owed and nothing is written at all.

Variants§

§

Unchanged

The frame’s own bytes still encode it against the frame now in front of it, so nothing was written and the caller forwards raw untouched.

This is every frame on a stream nothing was removed from, which is why it writes nothing: a relay that copied each frame through an output buffer to discover it would copy every payload it forwards.

§

Reframed

New framing was needed. The whole frame — the new framing followed by every byte of raw behind the old — was written to out, and the caller forwards that instead of raw.

Fields

§framing_bytes_before: usize

Bytes the framing occupied in raw.

§framing_bytes_after: usize

Bytes it occupies in the output.

Trait Implementations§

Source§

impl Clone for FetchReemit

Source§

fn clone(&self) -> FetchReemit

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 FetchReemit

Source§

impl Debug for FetchReemit

Source§

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

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

impl Eq for FetchReemit

Source§

impl PartialEq for FetchReemit

Source§

fn eq(&self, other: &FetchReemit) -> 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 FetchReemit

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

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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, <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.