pub enum PinnedCap {
Data {
content: Vec<u8>,
size: u64,
},
Image {
content_hash: [u8; 32],
},
}Expand description
Pinned slot content. Only content-addressed cap kinds can be
pinned (Data or Image). Cap::Data bytes are inlined in the
Image; a future optimisation can add a hash-only variant for
content that lives in σ.data_payloads.
Variants§
Data
Pinned Cap::Data with bytes baked into the Image. size
may be larger than content.len(); trailing bytes are
zero-filled per the DataCap canonical form.
Image
Pinned Cap::Image by content hash. Cap::Image is itself
content-addressed; inlining a whole sub-Image makes less
sense than for Data.
Trait Implementations§
Source§impl Decode for PinnedCap
impl Decode for PinnedCap
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 PinnedCap
impl Encode for PinnedCap
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 PinnedCap
impl HashTreeRoot for PinnedCap
impl Eq for PinnedCap
impl StructuralPartialEq for PinnedCap
Auto Trait Implementations§
impl Freeze for PinnedCap
impl RefUnwindSafe for PinnedCap
impl Send for PinnedCap
impl Sync for PinnedCap
impl Unpin for PinnedCap
impl UnsafeUnpin for PinnedCap
impl UnwindSafe for PinnedCap
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.