pub struct SyncOptions { /* private fields */ }Expand description
Options for extracting a ZIP object from S3 into an S3 prefix.
Implementations§
Source§impl SyncOptions
impl SyncOptions
Sourcepub fn new(source: S3Object, destination: S3Prefix) -> Self
pub fn new(source: S3Object, destination: S3Prefix) -> Self
Creates extract options for a source ZIP object and destination prefix.
Sourcepub fn destination(&self) -> &S3Prefix
pub fn destination(&self) -> &S3Prefix
Returns the destination prefix.
Sourcepub fn cleanup(&self) -> DestinationCleanup
pub fn cleanup(&self) -> DestinationCleanup
Returns the destination cleanup policy.
Sourcepub fn selection(&self) -> &UnzipSelection
pub fn selection(&self) -> &UnzipSelection
Returns the ZIP entry selection patterns.
Sourcepub fn collects_diagnostics(&self) -> bool
pub fn collects_diagnostics(&self) -> bool
Returns whether source scheduler diagnostics are collected.
Sourcepub fn comparison_mode(&self) -> ComparisonMode
pub fn comparison_mode(&self) -> ComparisonMode
Returns the ZIP entry comparison policy.
Sourcepub fn conflict_policy(&self) -> ConflictPolicy
pub fn conflict_policy(&self) -> ConflictPolicy
Returns the conditional write conflict handling policy.
Sourcepub fn collects_operations(&self) -> bool
pub fn collects_operations(&self) -> bool
Returns whether per-object operation records are collected.
Sourcepub fn concurrency(&self) -> usize
pub fn concurrency(&self) -> usize
Returns the maximum number of ZIP entries processed concurrently.
Sourcepub fn put_concurrency(&self) -> usize
pub fn put_concurrency(&self) -> usize
Returns the maximum number of destination PutObject requests in flight.
Sourcepub fn put_retry_policy(&self) -> &PutRetryPolicy
pub fn put_retry_policy(&self) -> &PutRetryPolicy
Returns the retry and backoff policy for destination PutObject attempts.
Sourcepub fn source_block_size(&self) -> usize
pub fn source_block_size(&self) -> usize
Returns the maximum size for planned source ZIP blocks.
Sourcepub fn source_block_merge_gap(&self) -> usize
pub fn source_block_merge_gap(&self) -> usize
Returns the maximum gap that can be read while coalescing adjacent source spans.
Sourcepub fn source_get_concurrency(&self) -> usize
pub fn source_get_concurrency(&self) -> usize
Returns the maximum number of ranged source GetObject requests in flight.
Sourcepub fn source_window_capacity(&self) -> usize
pub fn source_window_capacity(&self) -> usize
Returns the configured source block window capacity.
When Self::with_source_window_memory_budget_mb is used, extraction
derives the effective post-manifest value at runtime and reports it in
crate::SyncDiagnostics::source_window_capacity when diagnostics are collected.
Sourcepub fn source_window_memory_budget_mb(&self) -> Option<u64>
pub fn source_window_memory_budget_mb(&self) -> Option<u64>
Returns the available memory budget, in MiB, used to derive the source block window.
Sourcepub fn body_chunk_size(&self) -> usize
pub fn body_chunk_size(&self) -> usize
Returns the buffer size used when streaming entry bodies to S3.
Sourcepub fn pipe_capacity(&self) -> usize
pub fn pipe_capacity(&self) -> usize
Returns the in-memory pipe capacity between decompression and S3 upload.
Sourcepub fn with_selection(self, selection: impl Into<UnzipSelection>) -> Self
pub fn with_selection(self, selection: impl Into<UnzipSelection>) -> Self
Sets ZIP entry selection patterns.
Sourcepub fn delete_extra_objects(self) -> Self
pub fn delete_extra_objects(self) -> Self
Deletes destination objects under the prefix that are not present in the ZIP.
This requires a non-empty destination prefix and cannot be combined with a non-empty selection.
Sourcepub fn with_cleanup(self, cleanup: DestinationCleanup) -> Self
pub fn with_cleanup(self, cleanup: DestinationCleanup) -> Self
Sets the destination cleanup policy.
Sourcepub fn collect_diagnostics(self) -> Self
pub fn collect_diagnostics(self) -> Self
Collects source scheduler diagnostics in the returned report.
Sourcepub fn force_hash_comparison(self) -> Self
pub fn force_hash_comparison(self) -> Self
Ignores any embedded catalog and hashes ZIP entries for comparison.
Sourcepub fn with_comparison_mode(self, comparison: ComparisonMode) -> Self
pub fn with_comparison_mode(self, comparison: ComparisonMode) -> Self
Sets the ZIP entry comparison policy.
Sourcepub fn fail_on_conflict(self) -> Self
pub fn fail_on_conflict(self) -> Self
Returns an error after the first conditional write conflict is observed.
Sourcepub fn with_conflict_policy(self, conflict_policy: ConflictPolicy) -> Self
pub fn with_conflict_policy(self, conflict_policy: ConflictPolicy) -> Self
Sets the conditional write conflict handling policy.
Sourcepub fn without_operations(self) -> Self
pub fn without_operations(self) -> Self
Omits per-object operation records from the returned report.
Sourcepub fn with_concurrency(self, concurrency: usize) -> Self
pub fn with_concurrency(self, concurrency: usize) -> Self
Sets the maximum number of ZIP entries processed concurrently.
Sourcepub fn with_put_concurrency(self, put_concurrency: usize) -> Self
pub fn with_put_concurrency(self, put_concurrency: usize) -> Self
Sets the maximum number of destination PutObject requests in flight.
Sourcepub fn with_put_retry_policy(self, put_retry_policy: PutRetryPolicy) -> Self
pub fn with_put_retry_policy(self, put_retry_policy: PutRetryPolicy) -> Self
Sets the retry and backoff policy for destination PutObject attempts.
Sourcepub fn with_source_block_size(self, source_block_size: usize) -> Self
pub fn with_source_block_size(self, source_block_size: usize) -> Self
Sets the maximum size for planned source ZIP blocks.
Sourcepub fn with_source_block_merge_gap(self, source_block_merge_gap: usize) -> Self
pub fn with_source_block_merge_gap(self, source_block_merge_gap: usize) -> Self
Sets the maximum gap that can be read while coalescing adjacent source spans.
Sourcepub fn with_source_get_concurrency(self, source_get_concurrency: usize) -> Self
pub fn with_source_get_concurrency(self, source_get_concurrency: usize) -> Self
Sets the maximum number of ranged source GetObject requests in flight.
Sourcepub fn with_source_window_capacity(self, source_window_capacity: usize) -> Self
pub fn with_source_window_capacity(self, source_window_capacity: usize) -> Self
Sets the maximum bytes held by the planned source block window.
Sourcepub fn with_source_window_memory_budget_mb(
self,
source_window_memory_budget_mb: u64,
) -> Self
pub fn with_source_window_memory_budget_mb( self, source_window_memory_budget_mb: u64, ) -> Self
Sets the available memory budget, in MiB, used to derive the source block window.
Sourcepub fn with_body_chunk_size(self, body_chunk_size: usize) -> Self
pub fn with_body_chunk_size(self, body_chunk_size: usize) -> Self
Sets the buffer size used when streaming entry bodies to S3.
Sourcepub fn with_pipe_capacity(self, pipe_capacity: usize) -> Self
pub fn with_pipe_capacity(self, pipe_capacity: usize) -> Self
Sets the in-memory pipe capacity between decompression and S3 upload.
Trait Implementations§
Source§impl Clone for SyncOptions
impl Clone for SyncOptions
Source§fn clone(&self) -> SyncOptions
fn clone(&self) -> SyncOptions
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for SyncOptions
impl RefUnwindSafe for SyncOptions
impl Send for SyncOptions
impl Sync for SyncOptions
impl Unpin for SyncOptions
impl UnsafeUnpin for SyncOptions
impl UnwindSafe for SyncOptions
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
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>
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>
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