pub struct FileCacheReleasingReader { /* private fields */ }Expand description
Owned sequential reader that releases completed, already-consumed windows.
Implementations§
Source§impl FileCacheReleasingReader
impl FileCacheReleasingReader
Sourcepub fn new(file: File) -> Result<Self>
pub fn new(file: File) -> Result<Self>
Wrap file at its current descriptor offset with the default window.
§Errors
Returns an error when the current descriptor offset cannot be observed.
Sourcepub fn with_tracker(
file: File,
tracker: FileCacheReleaseTracker,
) -> Result<Self>
pub fn with_tracker( file: File, tracker: FileCacheReleaseTracker, ) -> Result<Self>
Wrap file at its current descriptor offset and attach shared evidence.
§Errors
Returns an error when the current descriptor offset cannot be observed.
Sourcepub fn with_window_bytes(
file: File,
window_bytes: NonZeroU64,
tracker: FileCacheReleaseTracker,
) -> Result<Self>
pub fn with_window_bytes( file: File, window_bytes: NonZeroU64, tracker: FileCacheReleaseTracker, ) -> Result<Self>
Wrap file with an explicit non-zero window and evidence tracker.
§Errors
Returns an error when the current descriptor offset cannot be observed.
Sourcepub fn finish(&mut self) -> Result<FileCacheReleaseEvidence>
pub fn finish(&mut self) -> Result<FileCacheReleaseEvidence>
Release the final consumed partial window and surface deferred failures.
§Errors
Returns an error when a supported release request fails.
Sourcepub fn tracker(&self) -> FileCacheReleaseTracker
pub fn tracker(&self) -> FileCacheReleaseTracker
Borrow the shared aggregate evidence tracker.
Sourcepub const fn window_bytes(&self) -> NonZeroU64
pub const fn window_bytes(&self) -> NonZeroU64
Return this reader’s configured release window.
Trait Implementations§
Source§impl Debug for FileCacheReleasingReader
impl Debug for FileCacheReleasingReader
Source§impl Drop for FileCacheReleasingReader
impl Drop for FileCacheReleasingReader
Source§impl Read for FileCacheReleasingReader
impl Read for FileCacheReleasingReader
Source§fn read(&mut self, buffer: &mut [u8]) -> Result<usize>
fn read(&mut self, buffer: &mut [u8]) -> Result<usize>
Pull some bytes from this source into the specified buffer, returning
how many bytes were read. Read more
1.36.0 · Source§fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
Like
read, except that it reads into a slice of buffers. Read moreSource§fn is_read_vectored(&self) -> bool
fn is_read_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector)1.0.0 · Source§fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
Reads all bytes until EOF in this source, placing them into
buf. Read more1.0.0 · Source§fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
Reads all bytes until EOF in this source, appending them to
buf. Read more1.6.0 · Source§fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
Reads the exact number of bytes required to fill
buf. Read moreSource§fn read_buf(&mut self, buf: BorrowedCursor<'_, u8>) -> Result<(), Error>
fn read_buf(&mut self, buf: BorrowedCursor<'_, u8>) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf)Pull some bytes from this source into the specified buffer. Read more
Source§fn read_buf_exact(
&mut self,
cursor: BorrowedCursor<'_, u8>,
) -> Result<(), Error>
fn read_buf_exact( &mut self, cursor: BorrowedCursor<'_, u8>, ) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf)Reads the exact number of bytes required to fill
cursor. Read more1.0.0 · Source§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
Creates a “by reference” adapter for this instance of
Read. Read more1.0.0 · Source§fn chain<R>(self, next: R) -> Chain<Self, R> ⓘ
fn chain<R>(self, next: R) -> Chain<Self, R> ⓘ
Creates an adapter which will chain this stream with another. Read more
1.0.0 · Source§fn take(self, limit: u64) -> Take<Self> ⓘwhere
Self: Sized,
fn take(self, limit: u64) -> Take<Self> ⓘwhere
Self: Sized,
Creates an adapter which will read at most
limit bytes from it. Read moreSource§fn read_array<const N: usize>(&mut self) -> Result<[u8; N], Error>where
Self: Sized,
fn read_array<const N: usize>(&mut self) -> Result<[u8; N], Error>where
Self: Sized,
🔬This is a nightly-only experimental API. (
read_array)Read and return a fixed array of bytes from this source. Read more
Source§impl Seek for FileCacheReleasingReader
impl Seek for FileCacheReleasingReader
Source§fn seek(&mut self, position: SeekFrom) -> Result<u64>
fn seek(&mut self, position: SeekFrom) -> Result<u64>
Seek to an offset, in bytes, in a stream. Read more
1.55.0 · Source§fn rewind(&mut self) -> Result<(), Error>
fn rewind(&mut self) -> Result<(), Error>
Rewind to the beginning of a stream. Read more
Source§fn stream_len(&mut self) -> Result<u64, Error>
fn stream_len(&mut self) -> Result<u64, Error>
🔬This is a nightly-only experimental API. (
seek_stream_len)Returns the length of this stream (in bytes). Read more
Auto Trait Implementations§
impl Freeze for FileCacheReleasingReader
impl RefUnwindSafe for FileCacheReleasingReader
impl Send for FileCacheReleasingReader
impl Sync for FileCacheReleasingReader
impl Unpin for FileCacheReleasingReader
impl UnsafeUnpin for FileCacheReleasingReader
impl UnwindSafe for FileCacheReleasingReader
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more