pub struct FixedArrayDataBlock {
pub client_id: u8,
pub header_addr: u64,
pub elements: Vec<u64>,
pub filtered_elements: Vec<FixedArrayFilteredChunkElement>,
}Expand description
Fixed array data block.
On-disk layout:
"FADB"(4) + version=0(1) + client_id(1)
+ header_addr(sizeof_addr)
+ [if paged: page_init_bitmap]
+ elements(num_elmts * element_size)
+ checksum(4)Fields§
§client_id: u8§header_addr: u64§elements: Vec<u64>Chunk addresses (for unfiltered chunks).
filtered_elements: Vec<FixedArrayFilteredChunkElement>Filtered chunk entries (for filtered chunks; only used when client_id == 1).
Implementations§
Source§impl FixedArrayDataBlock
impl FixedArrayDataBlock
Sourcepub fn new_unfiltered(header_addr: u64, num_elmts: usize) -> Self
pub fn new_unfiltered(header_addr: u64, num_elmts: usize) -> Self
Create a new empty data block for unfiltered chunks.
Sourcepub fn new_filtered(header_addr: u64, num_elmts: usize) -> Self
pub fn new_filtered(header_addr: u64, num_elmts: usize) -> Self
Create a new empty data block for filtered chunks.
Sourcepub fn encoded_size_unfiltered(&self, ctx: &FormatContext) -> usize
pub fn encoded_size_unfiltered(&self, ctx: &FormatContext) -> usize
Compute the encoded size for unfiltered chunks.
Sourcepub fn encoded_size_filtered(
&self,
ctx: &FormatContext,
chunk_size_len: usize,
) -> usize
pub fn encoded_size_filtered( &self, ctx: &FormatContext, chunk_size_len: usize, ) -> usize
Compute the encoded size for filtered chunks.
Sourcepub fn encode_unfiltered(&self, ctx: &FormatContext) -> Vec<u8> ⓘ
pub fn encode_unfiltered(&self, ctx: &FormatContext) -> Vec<u8> ⓘ
Encode for unfiltered chunks.
Sourcepub fn encode_filtered(
&self,
ctx: &FormatContext,
chunk_size_len: usize,
) -> Vec<u8> ⓘ
pub fn encode_filtered( &self, ctx: &FormatContext, chunk_size_len: usize, ) -> Vec<u8> ⓘ
Encode for filtered chunks.
Sourcepub fn decode_unfiltered(
buf: &[u8],
ctx: &FormatContext,
num_elmts: usize,
) -> FormatResult<Self>
pub fn decode_unfiltered( buf: &[u8], ctx: &FormatContext, num_elmts: usize, ) -> FormatResult<Self>
Decode for unfiltered chunks.
Sourcepub fn decode_filtered(
buf: &[u8],
ctx: &FormatContext,
num_elmts: usize,
chunk_size_len: usize,
) -> FormatResult<Self>
pub fn decode_filtered( buf: &[u8], ctx: &FormatContext, num_elmts: usize, chunk_size_len: usize, ) -> FormatResult<Self>
Decode for filtered chunks.
Trait Implementations§
Source§impl Clone for FixedArrayDataBlock
impl Clone for FixedArrayDataBlock
Source§fn clone(&self) -> FixedArrayDataBlock
fn clone(&self) -> FixedArrayDataBlock
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for FixedArrayDataBlock
impl Debug for FixedArrayDataBlock
Source§impl PartialEq for FixedArrayDataBlock
impl PartialEq for FixedArrayDataBlock
impl StructuralPartialEq for FixedArrayDataBlock
Auto Trait Implementations§
impl Freeze for FixedArrayDataBlock
impl RefUnwindSafe for FixedArrayDataBlock
impl Send for FixedArrayDataBlock
impl Sync for FixedArrayDataBlock
impl Unpin for FixedArrayDataBlock
impl UnsafeUnpin for FixedArrayDataBlock
impl UnwindSafe for FixedArrayDataBlock
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