Skip to main content

L2Entry

Struct L2Entry 

Source
pub struct L2Entry {
    pub cluster_descriptor: ClusterDescriptor,
    pub is_compressed: bool,
    pub is_used: bool,
}
Expand description

An entry in an L2 table that can be used to lookup the location and properties of the cluster

Fields§

§cluster_descriptor: ClusterDescriptor

A descriptor providing the information needed to read from the given cluster

§is_compressed: bool

true if the contents of the cluster are compressed using a method specified by the field Version3Header::compression_type, otherwise defaulting to CompressionType::Zlib, which can also be specified via CompressionType::default.

§is_used: bool

Set to false for clusters that are unused, compressed or require COW. Set to true for standard clusters whose refcount is exactly one. This information is only accurate in L2 tables that are reachable from the active L1 table.

With external data files, all guest clusters have an implicit refcount of 1 (because of the fixed host = guest mapping for guest cluster offsets), so this bit should be 1 for all allocated clusters.

Implementations§

Source§

impl L2Entry

Source

pub fn read_contents( &self, reader: &mut (impl Read + Seek), buf: &mut [u8], comp_type: CompressionType, ) -> Result<()>

Read the contents of a given L2 Entry from reader into buf.

Trait Implementations§

Source§

impl Clone for L2Entry

Source§

fn clone(&self) -> L2Entry

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 L2Entry

Source§

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

Formats the value using the given formatter. 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> 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.