Struct zeros::HashWriter [−][src]
pub struct HashWriter<W> where
W: Write, { /* fields omitted */ }
👎 Deprecated:
Beta
Hash Writer
Notes
-
You can make this struct via
Hash
. -
For each call to
write()
:- The inner writer will be called first. If an error occurs, it will be returned. The hasher will not be updated.
- Then the hasher will be updated.
Examples
use { std::io::Write, zeros::Hash, }; const DATA: &[u8] = b"test"; const HASH: Hash = Hash::Sha3_512; let mut writer = HASH.new_writer(Vec::new()); writer.write_all(DATA)?; let (hash, mut buf) = writer.finish(); buf.flush()?; assert_eq!(hash, HASH.hash(DATA)); assert_eq!(buf, DATA);
Implementations
impl<W> HashWriter<W> where
W: Write,
[src]
W: Write,
pub fn finish(self) -> (Vec<u8>, W)
[src]
👎 Deprecated:
Beta
Finishes and returns hash and the inner writer
The inner writer will not be flushed.
pub fn finish_as_hex(self) -> (String, W)
[src]
👎 Deprecated:
Beta
Finishes and returns hash as a hexadecimal string, in lower-case, and the inner writer
The inner writer will not be flushed.
Trait Implementations
impl<W: Debug> Debug for HashWriter<W> where
W: Write,
[src]
W: Write,
impl<W> Write for HashWriter<W> where
W: Write,
[src]
W: Write,
fn write(&mut self, buf: &[u8]) -> IoResult<usize>
[src]
fn flush(&mut self) -> IoResult<()>
[src]
pub fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize, Error>
1.36.0[src]
pub fn is_write_vectored(&self) -> bool
[src]
pub fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
1.0.0[src]
pub fn write_all_vectored(
&mut self,
bufs: &mut [IoSlice<'_>]
) -> Result<(), Error>
[src]
&mut self,
bufs: &mut [IoSlice<'_>]
) -> Result<(), Error>
pub fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<(), Error>
1.0.0[src]
pub fn by_ref(&mut self) -> &mut Self
1.0.0[src]
Auto Trait Implementations
impl<W> RefUnwindSafe for HashWriter<W> where
W: RefUnwindSafe,
W: RefUnwindSafe,
impl<W> Send for HashWriter<W> where
W: Send,
W: Send,
impl<W> Sync for HashWriter<W> where
W: Sync,
W: Sync,
impl<W> Unpin for HashWriter<W> where
W: Unpin,
W: Unpin,
impl<W> UnwindSafe for HashWriter<W> where
W: UnwindSafe,
W: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,