pub enum DynStreamingHash {
Sha256(Sha256Streaming),
Sha384(Sha384Streaming),
Sha512(Sha512Streaming),
Sha512_256(Sha512_256Streaming),
Sha3_256(Sha3_256Streaming),
Sha3_384(Sha3_384Streaming),
Sha3_512(Sha3_512Streaming),
Blake3(Box<Blake3Streaming>),
}Expand description
Runtime-dispatched streaming hasher returned by StreamingHashBuilder::build.
This is a sized enum (not a Box<dyn StreamingHash>): a boxed trait object
could not be passed to StreamingHash::finalize, which consumes self by
value and therefore requires a Sized receiver. DynStreamingHash itself
implements StreamingHash, dispatching to the wrapped concrete hasher.
Variants§
Sha256(Sha256Streaming)
Streaming SHA-256.
Sha384(Sha384Streaming)
Streaming SHA-384.
Sha512(Sha512Streaming)
Streaming SHA-512.
Sha512_256(Sha512_256Streaming)
Streaming SHA-512/256.
Sha3_256(Sha3_256Streaming)
Streaming SHA3-256.
Sha3_384(Sha3_384Streaming)
Streaming SHA3-384.
Sha3_512(Sha3_512Streaming)
Streaming SHA3-512.
Blake3(Box<Blake3Streaming>)
Streaming BLAKE3.
Boxed because blake3::Hasher is far larger than the digest-based
streaming states, which would otherwise bloat every enum value.
Implementations§
Source§impl DynStreamingHash
impl DynStreamingHash
Sourcepub const fn algorithm(&self) -> HashAlgorithm
pub const fn algorithm(&self) -> HashAlgorithm
The HashAlgorithm this streaming hasher computes.
Trait Implementations§
Source§impl Debug for DynStreamingHash
impl Debug for DynStreamingHash
Source§impl StreamingHash for DynStreamingHash
impl StreamingHash for DynStreamingHash
Auto Trait Implementations§
impl Freeze for DynStreamingHash
impl RefUnwindSafe for DynStreamingHash
impl Send for DynStreamingHash
impl Sync for DynStreamingHash
impl Unpin for DynStreamingHash
impl UnsafeUnpin for DynStreamingHash
impl UnwindSafe for DynStreamingHash
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