pub struct BlobRangeReader { /* private fields */ }Expand description
Serves plaintext ranges of one stored blob by fetching only the sealed chunks that cover them. A read costs the chunks it touches and nothing else — never the whole object, however many ranges the stream asks for.
Opening a sealed blob reads its [key tag][header] prefix once, which is
what names the key and the chunk size; every later range is arithmetic over
that header plus one ranged request per
window-worth of chunks. A chunk that opens is
authentic — its tag covers its bytes, its index, and the header — so there is
nothing else to check and no whole-object pass to amortize.
Implementations§
Auto Trait Implementations§
impl Freeze for BlobRangeReader
impl !RefUnwindSafe for BlobRangeReader
impl Send for BlobRangeReader
impl Sync for BlobRangeReader
impl Unpin for BlobRangeReader
impl UnsafeUnpin for BlobRangeReader
impl !UnwindSafe for BlobRangeReader
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.