Skip to main content

WorkloadProfile

Enum WorkloadProfile 

Source
pub enum WorkloadProfile {
    Interactive,
    BulkImport,
    ReadMostly,
    ExtractMany,
}
Expand description

High-level access pattern hint for cache and write behavior.

This value is a tuning hint, not a security setting. It does not change the lockbox file format or the data returned by any API. The current implementation uses the profile to decide how aggressively to retain staged file pages during writes, which compression-frame target and zstd level to use for bulk imports, and whether decoded compression frames may be retained during repeated read/extract workloads; decoded-page cache capacity is still controlled by LockboxOptions::cache_limit.

Variants§

§

Interactive

Balanced defaults for interactive CLI/API use.

Use this for normal applications that mix reads, writes, listing, and occasional commits. Small files may be kept in staging memory and packed together before commit so repeated edits can be compact and efficient. This is the default profile.

§

BulkImport

Prefer bounded memory during large imports.

Use this when adding many files or very large batches where predictable memory use matters more than post-import packing. Small-file staging is flushed incrementally into larger compression frames and file pages written during import are discarded from the decoded-page cache after they are flushed. Pending staged data may also be flushed before delete, rename, or symlink operations that touch the same path. This reduces peak memory while still allowing archive-style imports to gain compression from adjacent small files. Compression frames use a stronger zstd level than interactive writes.

§

ReadMostly

Favor repeated reads from an existing lockbox.

Use this when the lockbox is mostly opened for listing, stat, range reads, or repeated file extraction with few mutations. Decoded compression frames may be cached in memory so multiple slices from the same frame do not require repeated reassembly, digest verification, and decompression.

§

ExtractMany

Favor extracting many records in sequence.

Use this when streaming many files out of a lockbox, such as bulk restore or export flows. Decoded compression frames may be cached in memory for the duration of the handle, bounded by an internal limit, so adjacent files packed into the same frame can be extracted without repeated decompression.

Trait Implementations§

Source§

impl Clone for WorkloadProfile

Source§

fn clone(&self) -> WorkloadProfile

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for WorkloadProfile

Source§

impl Debug for WorkloadProfile

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Eq for WorkloadProfile

Source§

impl PartialEq for WorkloadProfile

Source§

fn eq(&self, other: &WorkloadProfile) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for WorkloadProfile

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more