pub struct ContentAddress { /* private fields */ }Expand description
Content-addressed identifier for stored artifacts.
Uses BLAKE3 hashing for:
- Deduplication across versions
- Tamper detection
- Efficient delta storage
Implementations§
Source§impl ContentAddress
impl ContentAddress
Sourcepub fn new(hash: [u8; 32], size: u64, compression: Compression) -> Self
pub fn new(hash: [u8; 32], size: u64, compression: Compression) -> Self
Create a new content address from raw components.
Sourcepub fn from_bytes(data: &[u8]) -> Self
pub fn from_bytes(data: &[u8]) -> Self
Compute content address from bytes.
Sourcepub fn from_reader<R: Read>(reader: R) -> Result<Self>
pub fn from_reader<R: Read>(reader: R) -> Result<Self>
Sourcepub fn hash_bytes(&self) -> &[u8; 32]
pub fn hash_bytes(&self) -> &[u8; 32]
Get the hash as bytes.
Sourcepub fn compression(&self) -> Compression
pub fn compression(&self) -> Compression
Get the compression algorithm.
Sourcepub fn with_compression(self, compression: Compression) -> Self
pub fn with_compression(self, compression: Compression) -> Self
Set the compression algorithm (returns new instance).
Sourcepub fn storage_prefix(&self) -> String
pub fn storage_prefix(&self) -> String
Get the storage path prefix (first 2 hex chars for sharding).
Sourcepub fn storage_path(&self) -> String
pub fn storage_path(&self) -> String
Get the full storage path (prefix/full_hash).
Trait Implementations§
Source§impl Clone for ContentAddress
impl Clone for ContentAddress
Source§fn clone(&self) -> ContentAddress
fn clone(&self) -> ContentAddress
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 moreSource§impl Debug for ContentAddress
impl Debug for ContentAddress
Source§impl<'de> Deserialize<'de> for ContentAddress
impl<'de> Deserialize<'de> for ContentAddress
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 ContentAddress
impl Display for ContentAddress
impl Eq for ContentAddress
Source§impl PartialEq for ContentAddress
impl PartialEq for ContentAddress
Source§fn eq(&self, other: &ContentAddress) -> bool
fn eq(&self, other: &ContentAddress) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for ContentAddress
impl Serialize for ContentAddress
impl StructuralPartialEq for ContentAddress
Auto Trait Implementations§
impl Freeze for ContentAddress
impl RefUnwindSafe for ContentAddress
impl Send for ContentAddress
impl Sync for ContentAddress
impl Unpin for ContentAddress
impl UnsafeUnpin for ContentAddress
impl UnwindSafe for ContentAddress
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> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.