pub struct SlotPath {
pub steps: Vec<SlotIdx>,
}Expand description
Path from the root cnode through nested cnodes to a slot.
steps is the sequence of slot indices walked through nested
Cap::CNode slots; the final step’s slot is the target. An
empty steps is invalid (must address some slot).
Example: SlotPath { steps: vec![SlotIdx(7)] } addresses
slot 7 of the root cnode. SlotPath { steps: vec![SlotIdx(7), SlotIdx(3)] } addresses slot 3 of the Cap::CNode held in
root slot 7.
Fields§
§steps: Vec<SlotIdx>Implementations§
Source§impl SlotPath
impl SlotPath
Sourcepub fn new(steps: Vec<SlotIdx>) -> Result<Self, CapError>
pub fn new(steps: Vec<SlotIdx>) -> Result<Self, CapError>
Construct from a list of steps. Returns Err if empty.
Sourcepub fn is_root_slot(&self) -> bool
pub fn is_root_slot(&self) -> bool
True iff this path has exactly one step (i.e., addresses a slot in the root cnode, not nested).
Trait Implementations§
Source§impl Decode for SlotPath
impl Decode for SlotPath
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 SlotPath
impl Encode for SlotPath
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.Source§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).Source§impl HashTreeRoot for SlotPath
impl HashTreeRoot for SlotPath
impl Eq for SlotPath
impl StructuralPartialEq for SlotPath
Auto Trait Implementations§
impl Freeze for SlotPath
impl RefUnwindSafe for SlotPath
impl Send for SlotPath
impl Sync for SlotPath
impl Unpin for SlotPath
impl UnsafeUnpin for SlotPath
impl UnwindSafe for SlotPath
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
Compare self to
key and return true if they are equal.§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.