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 OutputReader
pub 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 Self
1.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>,