Struct blake3::OutputReader [−][src]
pub struct OutputReader { /* fields omitted */ }An incremental reader for extended output, returned by
Hasher::finalize_xof.
Implementations
impl OutputReader[src]
impl OutputReader[src]pub fn fill(&mut self, buf: &mut [u8])[src]
Fill a buffer with output bytes and advance the position of the
OutputReader. This is equivalent to Read::read, except that it
doesn’t return a Result. Both methods always fill the entire buffer.
Note that OutputReader doesn’t buffer output bytes internally, so
calling fill repeatedly with a short-length or odd-length slice will
end up performing the same compression multiple times. If you’re
reading output in a loop, prefer a slice length that’s a multiple of
64.
The maximum output size of BLAKE3 is 264-1 bytes. If you try to extract more than that, for example by seeking near the end and reading further, the behavior is unspecified.
pub fn position(&self) -> u64[src]
Return the current read position in the output stream. The position of
a new OutputReader starts at 0, and each call to fill or
Read::read moves the position forward by the number of bytes read.
pub fn set_position(&mut self, position: u64)[src]
Seek to a new read position in the output stream. This is equivalent to
calling Seek::seek with SeekFrom::Start, except that it doesn’t
return a Result.
Trait Implementations
impl Clone for OutputReader[src]
impl Clone for OutputReader[src]