pub struct DropImporter { /* private fields */ }Expand description
Streams, verifies, and imports compressed CAR drop archives.
Implementations§
Source§impl DropImporter
impl DropImporter
pub fn new(blob_store: BlobStore) -> Self
Sourcepub async fn import_archive(
&self,
input: impl AsRef<Path>,
options: DropImportOptions,
pool: Option<&ManagedPool>,
) -> Result<DropImportResult>
pub async fn import_archive( &self, input: impl AsRef<Path>, options: DropImportOptions, pool: Option<&ManagedPool>, ) -> Result<DropImportResult>
Import a drop into the local blob store.
The archive is fully validated before any blob is added. Content is staged in bounded streaming writes, so importing does not load the archive or individual content blocks into memory.
§Errors
Returns an error if decompression, CAR parsing, signature validation, dependency validation, or blob ingestion fails.
Sourcepub async fn materialize(
&self,
result: &DropImportResult,
target: impl AsRef<Path>,
) -> Result<()>
pub async fn materialize( &self, result: &DropImportResult, target: impl AsRef<Path>, ) -> Result<()>
Materialize an imported manifest into a new directory.
The destination must not already exist. Files are written to a sibling staging directory and renamed into place only after every blob has been exported successfully.
§Errors
Returns an error if the destination exists, a blob is unavailable, or materialization cannot be finalized.
Trait Implementations§
Source§impl Clone for DropImporter
impl Clone for DropImporter
Source§fn clone(&self) -> DropImporter
fn clone(&self) -> DropImporter
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for DropImporter
impl !UnwindSafe for DropImporter
impl Freeze for DropImporter
impl Send for DropImporter
impl Sync for DropImporter
impl Unpin for DropImporter
impl UnsafeUnpin for DropImporter
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