pub struct LazyFetch { /* private fields */ }Expand description
On-demand content fetcher for selective sync.
Implementations§
Source§impl LazyFetch
impl LazyFetch
pub const fn new(blob_store: BlobStore, docs_engine: DocsEngine) -> Self
Sourcepub async fn fetch(&self, hash: Hash) -> Result<Bytes>
pub async fn fetch(&self, hash: Hash) -> Result<Bytes>
Fetch a blob only when the caller asks for it.
§Errors
Returns an error if the database cannot be accessed.
Sourcepub async fn fetch_remote(
&self,
endpoint: &Endpoint,
ticket: &BlobTicket,
) -> Result<Bytes>
pub async fn fetch_remote( &self, endpoint: &Endpoint, ticket: &BlobTicket, ) -> Result<Bytes>
Fetch a missing blob from a peer ticket, then read it locally.
§Errors
Returns an error if the network or database cannot be accessed.
Sourcepub async fn fetch_to(&self, hash: Hash, path: impl AsRef<Path>) -> Result<()>
pub async fn fetch_to(&self, hash: Hash, path: impl AsRef<Path>) -> Result<()>
Fetch and write a blob to a local path.
§Errors
Returns an error if the filesystem or database cannot be accessed.
Sourcepub fn fetch_intent(&self, hash: Hash) -> IntentHandle
pub fn fetch_intent(&self, hash: Hash) -> IntentHandle
Create an intent that reports the local fetch lifecycle.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for LazyFetch
impl !UnwindSafe for LazyFetch
impl Freeze for LazyFetch
impl Send for LazyFetch
impl Sync for LazyFetch
impl Unpin for LazyFetch
impl UnsafeUnpin for LazyFetch
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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 more