pub struct ContentHash(/* private fields */);Expand description
A BLAKE3 content hash (32 bytes / 256 bits).
Used for content-addressing blobs, trees, and states. The hash changes when content changes.
Implementations§
Source§impl ContentHash
impl ContentHash
Sourcepub fn from_bytes(bytes: [u8; 32]) -> ContentHash
pub fn from_bytes(bytes: [u8; 32]) -> ContentHash
Create a ContentHash from raw bytes.
Sourcepub fn compute(content: &[u8]) -> ContentHash
pub fn compute(content: &[u8]) -> ContentHash
Compute the hash of the given content.
Sourcepub fn compute_typed(type_prefix: &str, content: &[u8]) -> ContentHash
pub fn compute_typed(type_prefix: &str, content: &[u8]) -> ContentHash
Compute hash with a type prefix (e.g., “blob”, “tree”, “state”).
Sourcepub fn typed_hasher(type_prefix: &str, content_len: u64) -> Hasher
pub fn typed_hasher(type_prefix: &str, content_len: u64) -> Hasher
Create a typed hasher pre-seeded with the prefix and length.
Sourcepub fn compute_typed_with_len(
type_prefix: &str,
content_len: u64,
update: impl FnOnce(&mut Hasher),
) -> ContentHash
pub fn compute_typed_with_len( type_prefix: &str, content_len: u64, update: impl FnOnce(&mut Hasher), ) -> ContentHash
Compute hash with a known content length using incremental updates.
Sourcepub fn from_hex(s: &str) -> Result<ContentHash, FromHexError>
pub fn from_hex(s: &str) -> Result<ContentHash, FromHexError>
Parse from hexadecimal string.
Sourcepub fn matches_prefix(&self, prefix: &str) -> bool
pub fn matches_prefix(&self, prefix: &str) -> bool
Check if a hex prefix matches this hash.
Trait Implementations§
Source§impl Clone for ContentHash
impl Clone for ContentHash
Source§fn clone(&self) -> ContentHash
fn clone(&self) -> ContentHash
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 ContentHash
Source§impl Debug for ContentHash
impl Debug for ContentHash
Source§impl<'de> Deserialize<'de> for ContentHash
impl<'de> Deserialize<'de> for ContentHash
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ContentHash, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ContentHash, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for ContentHash
impl Display for ContentHash
impl Eq for ContentHash
Source§impl Hash for ContentHash
impl Hash for ContentHash
Source§impl Ord for ContentHash
impl Ord for ContentHash
Source§fn cmp(&self, other: &ContentHash) -> Ordering
fn cmp(&self, other: &ContentHash) -> Ordering
1.21.0 (const: unstable) · 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 ContentHash
impl PartialEq for ContentHash
Source§impl PartialOrd for ContentHash
impl PartialOrd for ContentHash
Source§impl Serialize for ContentHash
impl Serialize for ContentHash
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for ContentHash
Auto Trait Implementations§
impl Freeze for ContentHash
impl RefUnwindSafe for ContentHash
impl Send for ContentHash
impl Sync for ContentHash
impl Unpin for ContentHash
impl UnsafeUnpin for ContentHash
impl UnwindSafe for ContentHash
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