#[repr(C)]pub struct ShardIndex(/* private fields */);
Expand description
Shard index
Implementations§
Source§impl ShardIndex
impl ShardIndex
Sourcepub const BEACON_CHAIN: Self
pub const BEACON_CHAIN: Self
Beacon chain
Sourcepub const MAX_SHARD_INDEX: u32 = 1_048_575u32
pub const MAX_SHARD_INDEX: u32 = 1_048_575u32
Max possible shard index
Sourcepub const MAX_SHARDS: NonZeroU32
pub const MAX_SHARDS: NonZeroU32
Max possible number of shards
Sourcepub const MAX_ADDRESSES_PER_SHARD: NonZeroU128
pub const MAX_ADDRESSES_PER_SHARD: NonZeroU128
Max possible number of addresses per shard
Sourcepub const fn new(shard_index: u32) -> Option<Self>
pub const fn new(shard_index: u32) -> Option<Self>
Create shard index from u32
.
Returns None
if shard_index > ShardIndex::MAX_SHARD_INDEX
This is typically only necessary for low-level code.
Sourcepub const fn as_u32(self) -> u32
pub const fn as_u32(self) -> u32
Convert shard index to u32
.
This is typically only necessary for low-level code.
Sourcepub const fn is_beacon_chain(&self) -> bool
pub const fn is_beacon_chain(&self) -> bool
Whether the shard index corresponds to the beacon chain
Sourcepub const fn is_intermediate_shard(&self) -> bool
pub const fn is_intermediate_shard(&self) -> bool
Whether the shard index corresponds to an intermediate shard
Sourcepub const fn is_leaf_shard(&self) -> bool
pub const fn is_leaf_shard(&self) -> bool
Whether the shard index corresponds to an intermediate shard
Sourcepub const fn is_phantom_shard(&self) -> bool
pub const fn is_phantom_shard(&self) -> bool
Whether the shard index corresponds to a phantom shard
Sourcepub const fn is_child_of(self, parent: Self) -> bool
pub const fn is_child_of(self, parent: Self) -> bool
Check if this shard is a child shard of parent
Sourcepub const fn shard_kind(&self) -> ShardKind
pub const fn shard_kind(&self) -> ShardKind
Get shard kind
Trait Implementations§
Source§impl Clone for ShardIndex
impl Clone for ShardIndex
Source§fn clone(&self) -> ShardIndex
fn clone(&self) -> ShardIndex
Returns a copy 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 ShardIndex
impl Debug for ShardIndex
Source§impl Decode for ShardIndex
impl Decode for ShardIndex
Source§fn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy,
) -> Result<Self, Error>
fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy, ) -> Result<Self, Error>
Attempt to deserialise the value from input.
§fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§fn skip<I>(input: &mut I) -> Result<(), Error>where
I: Input,
fn skip<I>(input: &mut I) -> Result<(), Error>where
I: Input,
Attempt to skip the encoded value from input. Read more
§fn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>
Returns the fixed encoded size of the type. Read more
Source§impl<'de> Deserialize<'de> for ShardIndex
impl<'de> Deserialize<'de> for ShardIndex
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for ShardIndex
impl Display for ShardIndex
Source§impl Encode for ShardIndex
impl Encode for ShardIndex
Source§fn size_hint(&self) -> usize
fn size_hint(&self) -> usize
If possible give a hint of expected size of the encoding. Read more
Source§fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy,
)
fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
Convert self to a slice and append it to the destination.
Source§fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn>(
&self,
f: __CodecUsingEncodedCallback,
) -> __CodecOutputReturn
fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn>( &self, f: __CodecUsingEncodedCallback, ) -> __CodecOutputReturn
Convert self to a slice and then invoke the given closure with it.
§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Calculates the encoded size. Read more
Source§impl Hash for ShardIndex
impl Hash for ShardIndex
Source§impl MaxEncodedLen for ShardIndex
impl MaxEncodedLen for ShardIndex
Source§fn max_encoded_len() -> usize
fn max_encoded_len() -> usize
Upper bound, in bytes, of the maximum encoded size of this item.
Source§impl Ord for ShardIndex
impl Ord for ShardIndex
Source§fn cmp(&self, other: &ShardIndex) -> Ordering
fn cmp(&self, other: &ShardIndex) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for ShardIndex
impl PartialEq for ShardIndex
Source§impl PartialOrd for ShardIndex
impl PartialOrd for ShardIndex
Source§impl Serialize for ShardIndex
impl Serialize for ShardIndex
Source§impl TrivialType for ShardIndexwhere
u32: TrivialType,
impl TrivialType for ShardIndexwhere
u32: TrivialType,
Source§const METADATA: &[u8]
const METADATA: &[u8]
Data structure metadata in binary form, describing shape and types of the contents, see
IoTypeMetadataKind
for encoding details.const SIZE: u32 = _
Source§unsafe fn from_bytes(bytes: &[u8]) -> Option<&Self>
unsafe fn from_bytes(bytes: &[u8]) -> Option<&Self>
Create a reference to a type, which is represented by provided memory. Read more
Source§impl TypeInfo for ShardIndex
impl TypeInfo for ShardIndex
impl Copy for ShardIndex
impl EncodeLike for ShardIndex
impl Eq for ShardIndex
impl StructuralPartialEq for ShardIndex
Auto Trait Implementations§
impl Freeze for ShardIndex
impl RefUnwindSafe for ShardIndex
impl Send for ShardIndex
impl Sync for ShardIndex
impl Unpin for ShardIndex
impl UnwindSafe for ShardIndex
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<T> DecodeAll for Twhere
T: Decode,
impl<T> DecodeAll for Twhere
T: Decode,
§fn decode_all(input: &mut &[u8]) -> Result<T, Error>
fn decode_all(input: &mut &[u8]) -> Result<T, Error>
Decode
Self
and consume all of the given input data. Read more§impl<T> DecodeLimit for Twhere
T: Decode,
impl<T> DecodeLimit for Twhere
T: Decode,
§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
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 moreSource§impl<T> IoType for Twhere
T: TrivialType,
impl<T> IoType for Twhere
T: TrivialType,
Source§const METADATA: &'static [u8] = T::METADATA
const METADATA: &'static [u8] = T::METADATA
Data structure metadata in binary form, describing shape and types of the contents, see
IoTypeMetadataKind
for encoding detailsSource§type PointerType = T
type PointerType = T
Pointer with trivial type that this
IoType
representsSource§unsafe fn size_ptr(&self) -> impl Deref<Target = NonNull<u32>>
unsafe fn size_ptr(&self) -> impl Deref<Target = NonNull<u32>>
Pointer to the number of bytes that are currently used to store data. Read more
Source§unsafe fn size_mut_ptr(&mut self) -> impl DerefMut
unsafe fn size_mut_ptr(&mut self) -> impl DerefMut
An exclusive pointer to the number of bytes that are currently used to store data. Read more
Source§unsafe fn capacity_ptr(&self) -> impl Deref<Target = NonNull<u32>>
unsafe fn capacity_ptr(&self) -> impl Deref<Target = NonNull<u32>>
Number of bytes are allocated right now Read more
Source§unsafe fn from_ptr<'a>(
ptr: &'a NonNull<<T as IoType>::PointerType>,
size: &'a u32,
capacity: u32,
) -> impl Deref<Target = T> + 'a
unsafe fn from_ptr<'a>( ptr: &'a NonNull<<T as IoType>::PointerType>, size: &'a u32, capacity: u32, ) -> impl Deref<Target = T> + 'a
Create a reference to a type, which is represented by provided memory. Read more
Source§unsafe fn from_mut_ptr<'a>(
ptr: &'a mut NonNull<<T as IoType>::PointerType>,
_size: &'a mut *mut u32,
capacity: u32,
) -> impl DerefMut + 'a
unsafe fn from_mut_ptr<'a>( ptr: &'a mut NonNull<<T as IoType>::PointerType>, _size: &'a mut *mut u32, capacity: u32, ) -> impl DerefMut + 'a
Create a mutable reference to a type, which is represented by provided memory. Read more
Source§unsafe fn as_ptr(
&self,
) -> impl Deref<Target = NonNull<<T as IoType>::PointerType>>
unsafe fn as_ptr( &self, ) -> impl Deref<Target = NonNull<<T as IoType>::PointerType>>
Get a raw pointer to the underlying data with no checks. Read more
Source§unsafe fn as_mut_ptr(&mut self) -> impl DerefMut
unsafe fn as_mut_ptr(&mut self) -> impl DerefMut
Get an exclusive raw pointer to the underlying data with no checks. Read more