pub enum OstTierPolicy {
AccessFrequency(u32),
RecencyBased(u64),
SizeThreshold {
hot_max_bytes: u64,
warm_max_bytes: u64,
},
ManualOnly,
CostOptimized(f64),
}Expand description
Policy that drives automatic tier promotions and demotions.
Ost prefix avoids collision with TierPolicy in cold_storage,
tier_manager, and tier_migration_engine.
Variants§
AccessFrequency(u32)
Promote to Hot when access_count > n; no automatic demotion.
RecencyBased(u64)
Demote to Cold when not accessed for n microseconds.
SizeThreshold
Keep each tier under its byte capacity; demote largest objects first.
Fields
ManualOnly
Only explicit promote/demote calls move objects; no auto policy.
CostOptimized(f64)
Demote low-access-count objects to minimise cost; multiplier on
cost_per_byte_per_hour.
Trait Implementations§
Source§impl Clone for OstTierPolicy
impl Clone for OstTierPolicy
Source§fn clone(&self) -> OstTierPolicy
fn clone(&self) -> OstTierPolicy
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 Freeze for OstTierPolicy
impl RefUnwindSafe for OstTierPolicy
impl Send for OstTierPolicy
impl Sync for OstTierPolicy
impl Unpin for OstTierPolicy
impl UnsafeUnpin for OstTierPolicy
impl UnwindSafe for OstTierPolicy
Blanket Implementations§
impl<T> Allocation for T
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