pub struct ChunkEntry {
pub sector_offset: u32,
pub size_bytes: u32,
pub status: ChunkStatus,
}Expand description
Entry in the chunk location table.
Layout (8 bytes total):
- offset: u32 - sector offset (0 = chunk doesn’t exist)
- size: u24 - compressed size in bytes
- flags: u8 - status and flags
Fields§
§sector_offset: u32Sector offset from start of file. 0 means chunk doesn’t exist.
Multiply by SECTOR_SIZE to get byte offset.
size_bytes: u32Size of compressed chunk data in bytes (stored as u24, max ~16MB).
status: ChunkStatusChunk status (generation state).
Implementations§
Source§impl ChunkEntry
impl ChunkEntry
Sourcepub const fn new(
sector_offset: u32,
size_bytes: u32,
status: ChunkStatus,
) -> Self
pub const fn new( sector_offset: u32, size_bytes: u32, status: ChunkStatus, ) -> Self
Creates a new chunk entry.
Sourcepub const fn sector_count(&self) -> u32
pub const fn sector_count(&self) -> u32
Calculates the number of sectors this chunk occupies.
Sourcepub fn from_bytes(bytes: [u8; 8]) -> Option<Self>
pub fn from_bytes(bytes: [u8; 8]) -> Option<Self>
Deserializes from 8 bytes.
Trait Implementations§
Source§impl Clone for ChunkEntry
impl Clone for ChunkEntry
Source§fn clone(&self) -> ChunkEntry
fn clone(&self) -> ChunkEntry
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for ChunkEntry
Source§impl Default for ChunkEntry
impl Default for ChunkEntry
impl Eq for ChunkEntry
Source§impl PartialEq for ChunkEntry
impl PartialEq for ChunkEntry
impl StructuralPartialEq for ChunkEntry
Auto Trait Implementations§
impl Freeze for ChunkEntry
impl RefUnwindSafe for ChunkEntry
impl Send for ChunkEntry
impl Sync for ChunkEntry
impl Unpin for ChunkEntry
impl UnsafeUnpin for ChunkEntry
impl UnwindSafe for ChunkEntry
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compares
self with key and returns true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreWraps this value in an
Arc<SyncMutex<>>