pub struct PromotionCandidate {
pub operation_id: OperationId,
pub volume_id: VolumeId,
pub generation_id: GenerationId,
pub request: ObjectReadRequest,
pub accepted_tiers: Vec<StorageTier>,
pub reason: ResidencyReason,
}Expand description
Generation-bound request produced from a residency prediction.
Fields§
§operation_id: OperationIdStable idempotency identity retained through execution and retry.
volume_id: VolumeIdIndependently configured volume.
generation_id: GenerationIdImmutable generation that motivated movement.
request: ObjectReadRequestExact authenticated object and complete-byte bound.
accepted_tiers: Vec<StorageTier>Ordered destination tiers, most preferred first.
reason: ResidencyReasonOriginal prediction source retained for policy and diagnostics.
Implementations§
Source§impl PromotionCandidate
impl PromotionCandidate
Sourcepub fn from_residency(
permit: ResidencyPermit,
accepted_tiers: Vec<StorageTier>,
) -> Self
pub fn from_residency( permit: ResidencyPermit, accepted_tiers: Vec<StorageTier>, ) -> Self
Converts an admitted residency prediction into a promotion request.
Trait Implementations§
Source§impl Clone for PromotionCandidate
impl Clone for PromotionCandidate
Source§impl Debug for PromotionCandidate
impl Debug for PromotionCandidate
impl Eq for PromotionCandidate
Source§impl PartialEq for PromotionCandidate
impl PartialEq for PromotionCandidate
impl StructuralPartialEq for PromotionCandidate
Auto Trait Implementations§
impl Freeze for PromotionCandidate
impl RefUnwindSafe for PromotionCandidate
impl Send for PromotionCandidate
impl Sync for PromotionCandidate
impl Unpin for PromotionCandidate
impl UnsafeUnpin for PromotionCandidate
impl UnwindSafe for PromotionCandidate
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
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request