pub enum ChecksumHasher {
Sha1(Sha1),
Sha256(Sha256),
}Expand description
Incremental hasher for Git file checksums (pack/index/MIDX/commit-graph trailers).
Checksums use the same SHA-1 or SHA-256 digests as object ids but name file
integrity, not ObjectId values. Prefer this type anywhere a trailer or
non-object content hash is computed or verified.
Variants§
Implementations§
Source§impl ChecksumHasher
impl ChecksumHasher
Sourcepub fn algo(self: &ChecksumHasher) -> HashAlgo
pub fn algo(self: &ChecksumHasher) -> HashAlgo
The hash algorithm this hasher produces.
Sourcepub fn finalize_into(self, out: &mut [u8]) -> usize
pub fn finalize_into(self, out: &mut [u8]) -> usize
Write the raw digest into out and return the number of bytes written.
§Panics
Panics when out is shorter than the digest length for this algorithm.
Trait Implementations§
Source§impl Clone for ChecksumHasher
impl Clone for ChecksumHasher
Source§impl Debug for ChecksumHasher
impl Debug for ChecksumHasher
Source§impl Write for ChecksumHasher
impl Write for ChecksumHasher
Source§fn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Writes a buffer into this writer, returning how many bytes were written. Read more
Source§fn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Flushes this output stream, ensuring that all intermediately buffered
contents reach their destination. Read more
Source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector)1.0.0 · Source§fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Attempts to write an entire buffer into this writer. Read more
Source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
write_all_vectored)Attempts to write multiple buffers into this writer. Read more
Auto Trait Implementations§
impl Freeze for ChecksumHasher
impl RefUnwindSafe for ChecksumHasher
impl Send for ChecksumHasher
impl Sync for ChecksumHasher
impl Unpin for ChecksumHasher
impl UnsafeUnpin for ChecksumHasher
impl UnwindSafe for ChecksumHasher
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