Skip to main content

PostingHeader

Struct PostingHeader 

Source
pub struct PostingHeader {
    pub count: u32,
    pub code_bytes: u32,
    pub stuck: u32,
}
Expand description

The fixed part at the front of one partition’s image.

Fields§

§count: u32

How many members the partition holds.

§code_bytes: u32

How many bytes one code takes.

Derivable from the root’s dim and bits, and stored anyway for the same reason dim is stored in a vector record: a partition can then be cut into its four arrays without the root, which is what a reader checking a file rather than opening one has.

§stuck: u32

The size at which a split was tried and found there was no cut.

Part of the image because it is not derivable: it is the memory of a split that failed, and an image that dropped it would have every partition of identical vectors try to split again on the first write after an open.

Implementations§

Source§

impl PostingHeader

Source

pub fn encode(&self, into: &mut [u8]) -> Result<usize>

Writes the header into the front of into.

§Errors

Code::Invalid if into is not long enough for the whole partition.

Source

pub fn decode(bytes: &[u8]) -> Result<PostingHeader>

Reads a partition’s header back and checks the bytes behind it.

§Errors

Code::Corrupt if a reserved field is set or if the buffer is not exactly the length the header describes.

Source

pub const fn ids_at(&self) -> usize

Where the ids start.

Source

pub const fn tags_at(&self) -> usize

Where the tags start.

Source

pub const fn codes_at(&self) -> usize

Where the codes start.

Source

pub const fn meta_at(&self) -> usize

Where the meta starts.

Trait Implementations§

Source§

impl Clone for PostingHeader

Source§

fn clone(&self) -> PostingHeader

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 PostingHeader

Source§

impl Debug for PostingHeader

Source§

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

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

impl Default for PostingHeader

Source§

fn default() -> PostingHeader

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

impl Eq for PostingHeader

Source§

impl PartialEq for PostingHeader

Source§

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

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, !>

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.