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ⓘNotable traits for OutputReader
impl Read for OutputReader[src]
Notable traits for OutputReader
impl Read for OutputReaderpub fn clone_from(&mut self, source: &Self)1.0.0[src]
impl Debug for OutputReader[src]
impl Read for OutputReader[src]
fn read(&mut self, buf: &mut [u8]) -> Result<usize>[src]
pub fn read_vectored(
&mut self,
bufs: &mut [IoSliceMut<'_>]
) -> Result<usize, Error>1.36.0[src]
&mut self,
bufs: &mut [IoSliceMut<'_>]
) -> Result<usize, Error>
pub fn is_read_vectored(&self) -> bool[src]
pub unsafe fn initializer(&self) -> Initializer[src]
pub fn read_to_end(&mut self, buf: &mut Vec<u8, Global>) -> Result<usize, Error>1.0.0[src]
pub fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>1.0.0[src]
pub fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>1.6.0[src]
pub fn by_ref(&mut self) -> &mut Self1.0.0[src]
pub fn bytes(self) -> Bytes<Self>1.0.0[src]
pub fn chain<R>(self, next: R) -> Chain<Self, R> where
R: Read, 1.0.0[src]
R: Read,
pub fn take(self, limit: u64) -> Take<Self>1.0.0[src]
impl Seek for OutputReader[src]
fn seek(&mut self, pos: SeekFrom) -> Result<u64>[src]
pub fn stream_len(&mut self) -> Result<u64, Error>[src]
pub fn stream_position(&mut self) -> Result<u64, Error>1.51.0[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>,