pub struct ArenaPageRef {
pub page_index: u32,
pub arena_off: u32,
pub len: u32,
}Expand description
One non-zero page of a DataDesc: logical page page_index is backed
by the arena window arena[arena_off .. arena_off + len], zero-padded to
PAGE_SIZE when materialized. len (1..=PAGE_SIZE) stores only the
page’s meaningful prefix — trailing zeros within the page are dropped,
so a sub-page-dense region costs len bytes, not a full page. Windows are
packed tightly (no arena_off alignment). Pages not named by any
ArenaPageRef are the canonical zero page (PageSlot::Empty).
Named distinctly from the cap-layer PageRef = Arc<PageBytes>: this is
a wire descriptor (offsets), not a refcounted runtime page.
Fields§
§page_index: u32§arena_off: u32§len: u32Trait Implementations§
Source§impl Clone for ArenaPageRef
impl Clone for ArenaPageRef
Source§fn clone(&self) -> ArenaPageRef
fn clone(&self) -> ArenaPageRef
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 ArenaPageRef
impl Debug for ArenaPageRef
Source§impl Decode for ArenaPageRef
impl Decode for ArenaPageRef
Source§fn is_ssz_fixed_len() -> bool
fn is_ssz_fixed_len() -> bool
true iff this type is fixed-length.Source§fn ssz_fixed_len() -> usize
fn ssz_fixed_len() -> usize
Number of bytes this type occupies in the fixed-length portion of a
container encoding. Variable-length types return
[
BYTES_PER_LENGTH_OFFSET].Source§fn from_ssz_bytes(bytes: &[u8]) -> Result<Self, DecodeError>
fn from_ssz_bytes(bytes: &[u8]) -> Result<Self, DecodeError>
Decode a full instance from
bytes, rejecting trailing input.Source§impl Encode for ArenaPageRef
impl Encode for ArenaPageRef
Source§fn is_ssz_fixed_len() -> bool
fn is_ssz_fixed_len() -> bool
true iff this type is fixed-length (no variable-length fields).Source§fn ssz_fixed_len() -> usize
fn ssz_fixed_len() -> usize
Number of bytes this type occupies in the fixed-length portion of a
container encoding. For variable-length types this returns
[
BYTES_PER_LENGTH_OFFSET] (i.e. the size of the offset slot).Source§fn ssz_bytes_len(&self) -> usize
fn ssz_bytes_len(&self) -> usize
Total size of
self when serialized.Source§fn ssz_append(&self, buf: &mut Vec<u8>)
fn ssz_append(&self, buf: &mut Vec<u8>)
Append the encoding of
self to buf.§fn is_basic_type() -> bool
fn is_basic_type() -> bool
true for “basic” SSZ types (uintN, bool), which pack adjacent
elements into shared 32-byte chunks for merkleization. Composite
types (containers, lists, structs) return false (the default).§fn as_ssz_bytes(&self) -> Vec<u8> ⓘ
fn as_ssz_bytes(&self) -> Vec<u8> ⓘ
Serialize into a fresh
Vec<u8> allocated through the global allocator.Source§impl HashTreeRoot for ArenaPageRef
impl HashTreeRoot for ArenaPageRef
Source§impl PartialEq for ArenaPageRef
impl PartialEq for ArenaPageRef
impl Copy for ArenaPageRef
impl Eq for ArenaPageRef
impl StructuralPartialEq for ArenaPageRef
Auto Trait Implementations§
impl Freeze for ArenaPageRef
impl RefUnwindSafe for ArenaPageRef
impl Send for ArenaPageRef
impl Sync for ArenaPageRef
impl Unpin for ArenaPageRef
impl UnsafeUnpin for ArenaPageRef
impl UnwindSafe for ArenaPageRef
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.