Struct blake3::OutputReader [−][src]
An incremental reader for extended output, returned by
Hasher::finalize_xof.
Implementations
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]
fn clone(&self) -> OutputReader[src]
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
impl Debug for OutputReader[src]
impl XofReader for OutputReader[src]
Auto Trait Implementations
impl RefUnwindSafe for OutputReader
impl Send for OutputReader
impl Sync for OutputReader
impl Unpin for OutputReader
impl UnwindSafe for OutputReader
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> Same<T> for T[src]
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn clone_into(&self, target: &mut T)[src]
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>,