pub struct PositionalSequenceHash(/* private fields */);Expand description
A 128-bit positional sequence hash combining traditional sequence hash with positional information.
Layout:
- Lower 64 bits: Traditional SequenceHash
- Upper 64 bits: 2-bit mode + position + LocalBlockHash (BlockHash)
Modes (automatically selected based on position):
- Mode 00: 8-bit position (max 255) + 54-bit LBH
- Mode 01: 16-bit position (max 65,535) + 46-bit LBH
- Mode 10: 24-bit position (max 16,777,215) + 38-bit LBH
- Mode 11: 31-bit position (max 2,147,483,647) + 31-bit LBH
Implementations§
Source§impl PositionalSequenceHash
impl PositionalSequenceHash
Sourcepub fn new(
sequence_hash: SequenceHash,
position: u64,
local_block_hash: BlockHash,
) -> Self
pub fn new( sequence_hash: SequenceHash, position: u64, local_block_hash: BlockHash, ) -> Self
Creates a new PositionalSequenceHash from components.
The mode is automatically selected based on the position value to use the minimal representation that can fit the position.
Sourcepub fn sequence_hash(&self) -> SequenceHash
pub fn sequence_hash(&self) -> SequenceHash
Returns the sequence hash component (lower 64 bits).
Sourcepub fn local_block_hash(&self) -> BlockHash
pub fn local_block_hash(&self) -> BlockHash
Returns the local block hash (BlockHash) component.
Trait Implementations§
Source§impl Clone for PositionalSequenceHash
impl Clone for PositionalSequenceHash
Source§fn clone(&self) -> PositionalSequenceHash
fn clone(&self) -> PositionalSequenceHash
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for PositionalSequenceHash
Source§impl Debug for PositionalSequenceHash
impl Debug for PositionalSequenceHash
Source§impl Default for PositionalSequenceHash
impl Default for PositionalSequenceHash
Source§fn default() -> PositionalSequenceHash
fn default() -> PositionalSequenceHash
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for PositionalSequenceHash
impl<'de> Deserialize<'de> for PositionalSequenceHash
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
impl Eq for PositionalSequenceHash
Source§impl Hash for PositionalSequenceHash
impl Hash for PositionalSequenceHash
Source§impl PartialEq for PositionalSequenceHash
impl PartialEq for PositionalSequenceHash
Source§impl Serialize for PositionalSequenceHash
impl Serialize for PositionalSequenceHash
impl StructuralPartialEq for PositionalSequenceHash
Auto Trait Implementations§
impl Freeze for PositionalSequenceHash
impl RefUnwindSafe for PositionalSequenceHash
impl Send for PositionalSequenceHash
impl Sync for PositionalSequenceHash
impl Unpin for PositionalSequenceHash
impl UnsafeUnpin for PositionalSequenceHash
impl UnwindSafe for PositionalSequenceHash
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