Skip to main content

ChunkHeader

Struct ChunkHeader 

Source
pub struct ChunkHeader {
    pub version: u8,
    pub chunk_set_id: u32,
    pub count: u8,
    pub index: u8,
}
Expand description

Wire header for a single chunk in a chunked v0.30 payload.

Fields§

§version: u8

Wire-format version (4 bits). v0.30 = 4.

§chunk_set_id: u32

20-bit chunk-set identifier shared by all chunks in a set.

§count: u8

Total number of chunks in the set; valid range 1..=64.

§index: u8

Zero-based index of this chunk within the set; must be < count.

Implementations§

Source§

impl ChunkHeader

Source

pub fn write(&self, w: &mut BitWriter) -> Result<(), Error>

Encode the chunk header into w as 37 bits.

Returns an error if count, index, or chunk_set_id are out of range.

Source

pub fn read(r: &mut BitReader<'_>) -> Result<Self, Error>

Decode a chunk header (37 bits) from r.

Returns Error::WireVersionMismatch if the 4-bit version field is not WF_REDESIGN_VERSION per SPEC §2.5 (e.g., v0.x chunked payloads where version=0 in the first 3 wire bits become version=0 or version=1 under the v0.30 4-bit read depending on prior bits). Returns Error::ChunkHeaderChunkedFlagMissing if the chunked-flag bit is not set after the version check passes.

Trait Implementations§

Source§

impl Clone for ChunkHeader

Source§

fn clone(&self) -> ChunkHeader

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 Debug for ChunkHeader

Source§

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

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

impl PartialEq for ChunkHeader

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for ChunkHeader

Source§

impl Eq for ChunkHeader

Source§

impl StructuralPartialEq for ChunkHeader

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 = 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.