pub struct PieceIndex(/* private fields */);
Expand description
Piece index in consensus
Implementations§
source§impl PieceIndex
impl PieceIndex
sourcepub const ZERO: PieceIndex = _
pub const ZERO: PieceIndex = _
Piece index 0.
sourcepub const ONE: PieceIndex = _
pub const ONE: PieceIndex = _
Piece index 1.
sourcepub const fn from_bytes(bytes: [u8; 8]) -> Self
pub const fn from_bytes(bytes: [u8; 8]) -> Self
Create piece index from bytes.
sourcepub fn segment_index(&self) -> SegmentIndex
pub fn segment_index(&self) -> SegmentIndex
Segment index piece index corresponds to
sourcepub const fn source_position(&self) -> u32
pub const fn source_position(&self) -> u32
Position of a source piece in the source pieces for a segment. Panics if the piece is not a source piece.
sourcepub const fn next_source_index(&self) -> PieceIndex
pub const fn next_source_index(&self) -> PieceIndex
Returns the next source piece index
Trait Implementations§
source§impl Add for PieceIndex
impl Add for PieceIndex
source§type Output = PieceIndex
type Output = PieceIndex
The resulting type after applying the
+
operator.source§fn add(self, rhs: PieceIndex) -> PieceIndex
fn add(self, rhs: PieceIndex) -> PieceIndex
Performs the
+
operation. Read moresource§impl AddAssign for PieceIndex
impl AddAssign for PieceIndex
source§fn add_assign(&mut self, rhs: PieceIndex)
fn add_assign(&mut self, rhs: PieceIndex)
Performs the
+=
operation. Read moresource§impl Clone for PieceIndex
impl Clone for PieceIndex
source§fn clone(&self) -> PieceIndex
fn clone(&self) -> PieceIndex
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 PieceIndex
impl Debug for PieceIndex
source§impl Decode for PieceIndex
impl Decode for PieceIndex
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.
source§fn decode_into<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy,
dst_: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>
fn decode_into<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy, dst_: &mut MaybeUninit<Self>, ) -> Result<DecodeFinished, Error>
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 Default for PieceIndex
impl Default for PieceIndex
source§fn default() -> PieceIndex
fn default() -> PieceIndex
Returns the “default value” for a type. Read more
source§impl<'de> Deserialize<'de> for PieceIndex
impl<'de> Deserialize<'de> for PieceIndex
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 PieceIndex
impl Display for PieceIndex
source§impl<__RhsT> Div<__RhsT> for PieceIndex
impl<__RhsT> Div<__RhsT> for PieceIndex
source§type Output = PieceIndex
type Output = PieceIndex
The resulting type after applying the
/
operator.source§fn div(self, rhs: __RhsT) -> PieceIndex
fn div(self, rhs: __RhsT) -> PieceIndex
Performs the
/
operation. Read moresource§impl<__RhsT> DivAssign<__RhsT> for PieceIndex
impl<__RhsT> DivAssign<__RhsT> for PieceIndex
source§fn div_assign(&mut self, rhs: __RhsT)
fn div_assign(&mut self, rhs: __RhsT)
Performs the
/=
operation. Read moresource§impl Encode for PieceIndex
impl Encode for PieceIndex
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 From<PieceIndex> for u64
impl From<PieceIndex> for u64
source§fn from(original: PieceIndex) -> Self
fn from(original: PieceIndex) -> Self
Converts to this type from the input type.
source§impl From<u64> for PieceIndex
impl From<u64> for PieceIndex
source§impl Hash for PieceIndex
impl Hash for PieceIndex
source§impl MaxEncodedLen for PieceIndex
impl MaxEncodedLen for PieceIndex
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<__RhsT> Mul<__RhsT> for PieceIndex
impl<__RhsT> Mul<__RhsT> for PieceIndex
source§type Output = PieceIndex
type Output = PieceIndex
The resulting type after applying the
*
operator.source§fn mul(self, rhs: __RhsT) -> PieceIndex
fn mul(self, rhs: __RhsT) -> PieceIndex
Performs the
*
operation. Read moresource§impl<__RhsT> MulAssign<__RhsT> for PieceIndex
impl<__RhsT> MulAssign<__RhsT> for PieceIndex
source§fn mul_assign(&mut self, rhs: __RhsT)
fn mul_assign(&mut self, rhs: __RhsT)
Performs the
*=
operation. Read moresource§impl Ord for PieceIndex
impl Ord for PieceIndex
source§fn cmp(&self, other: &PieceIndex) -> Ordering
fn cmp(&self, other: &PieceIndex) -> 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 PieceIndex
impl PartialEq for PieceIndex
source§impl PartialOrd for PieceIndex
impl PartialOrd for PieceIndex
source§impl Serialize for PieceIndex
impl Serialize for PieceIndex
source§impl Step for PieceIndex
impl Step for PieceIndex
source§fn steps_between(start: &Self, end: &Self) -> Option<usize>
fn steps_between(start: &Self, end: &Self) -> Option<usize>
🔬This is a nightly-only experimental API. (
step_trait
)source§fn forward_checked(start: Self, count: usize) -> Option<Self>
fn forward_checked(start: Self, count: usize) -> Option<Self>
🔬This is a nightly-only experimental API. (
step_trait
)source§fn backward_checked(start: Self, count: usize) -> Option<Self>
fn backward_checked(start: Self, count: usize) -> Option<Self>
🔬This is a nightly-only experimental API. (
step_trait
)source§fn forward(start: Self, count: usize) -> Self
fn forward(start: Self, count: usize) -> Self
🔬This is a nightly-only experimental API. (
step_trait
)source§unsafe fn forward_unchecked(start: Self, count: usize) -> Self
unsafe fn forward_unchecked(start: Self, count: usize) -> Self
🔬This is a nightly-only experimental API. (
step_trait
)source§fn backward(start: Self, count: usize) -> Self
fn backward(start: Self, count: usize) -> Self
🔬This is a nightly-only experimental API. (
step_trait
)source§unsafe fn backward_unchecked(start: Self, count: usize) -> Self
unsafe fn backward_unchecked(start: Self, count: usize) -> Self
🔬This is a nightly-only experimental API. (
step_trait
)source§impl Sub for PieceIndex
impl Sub for PieceIndex
source§type Output = PieceIndex
type Output = PieceIndex
The resulting type after applying the
-
operator.source§fn sub(self, rhs: PieceIndex) -> PieceIndex
fn sub(self, rhs: PieceIndex) -> PieceIndex
Performs the
-
operation. Read moresource§impl SubAssign for PieceIndex
impl SubAssign for PieceIndex
source§fn sub_assign(&mut self, rhs: PieceIndex)
fn sub_assign(&mut self, rhs: PieceIndex)
Performs the
-=
operation. Read moresource§impl TypeInfo for PieceIndex
impl TypeInfo for PieceIndex
impl Copy for PieceIndex
impl EncodeLike for PieceIndex
impl Eq for PieceIndex
impl StructuralPartialEq for PieceIndex
Auto Trait Implementations§
impl Freeze for PieceIndex
impl RefUnwindSafe for PieceIndex
impl Send for PieceIndex
impl Sync for PieceIndex
impl Unpin for PieceIndex
impl UnwindSafe for PieceIndex
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,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§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,
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 more§impl<T> KeyedVec for Twhere
T: Codec,
impl<T> KeyedVec for Twhere
T: Codec,
§fn to_keyed_vec(&self, prepend_key: &[u8]) -> Vec<u8>
fn to_keyed_vec(&self, prepend_key: &[u8]) -> Vec<u8>
Return an encoding of
Self
prepended by given slice.