pub struct NixHashDigester(Inner);Expand description
A digester that takes in bytes and ultimately produces a NixHash.
§Examples
use nix_compat::nixhash::{HashAlgo, NixHashDigester};
let one_shot = HashAlgo::Sha256.digest_bytes("hello, world");
let mut ctx = NixHashDigester::new(HashAlgo::Sha256);
ctx.update("hello");
ctx.update(", ");
ctx.update("world");
let multi_path = ctx.finalize();
assert_eq!(one_shot, multi_path);Tuple Fields§
§0: InnerImplementations§
Trait Implementations§
Source§impl Write for NixHashDigester
impl Write for NixHashDigester
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 NixHashDigester
impl RefUnwindSafe for NixHashDigester
impl Send for NixHashDigester
impl Sync for NixHashDigester
impl Unpin for NixHashDigester
impl UnsafeUnpin for NixHashDigester
impl UnwindSafe for NixHashDigester
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