pub struct SweepExpiredMemory { /* private fields */ }Expand description
Erase expired memories at one journaled cutoff.
Trait Implementations§
Source§impl Clone for SweepExpiredMemory
impl Clone for SweepExpiredMemory
Source§impl Debug for SweepExpiredMemory
impl Debug for SweepExpiredMemory
Source§impl Effect for SweepExpiredMemory
impl Effect for SweepExpiredMemory
Source§type Output = usize
type Output = usize
What comes back. Must round-trip through JSON: replay reconstructs it
from the journal rather than from the driver.
Source§fn descriptor(&self) -> EffectDescriptor
fn descriptor(&self) -> EffectDescriptor
What this effect does. Hashed (with position) into the effect key.
Source§fn perform<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Self::Output, EffectError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn perform<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Self::Output, EffectError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Do the thing. Called at most once per key per run; never called during
replay.
Source§fn attach(&mut self, _provenance: &Provenance)
fn attach(&mut self, _provenance: &Provenance)
Receive the run-scoped provenance for this call. Read more
Source§fn gen_ai_operation(&self) -> Option<&'static str>
fn gen_ai_operation(&self) -> Option<&'static str>
Source§fn gen_ai_request(&self) -> Option<GenAiRequest>
fn gen_ai_request(&self) -> Option<GenAiRequest>
Who this operation asks, and for what — the request half of the
GenAI
span attributes. Read moreSource§fn gen_ai_response(&self, output: &Self::Output) -> Option<GenAiResponse>
fn gen_ai_response(&self, output: &Self::Output) -> Option<GenAiResponse>
What came back, split the way the convention reports it. Read more
Source§fn recovery(&self) -> Recovery
fn recovery(&self) -> Recovery
What to do when the outcome is unknown — after a crash, or after an
InDoubt failure. The two are the
same situation reached from different directions.Source§fn retry(&self) -> RetryPolicy
fn retry(&self) -> RetryPolicy
How many times to repeat this effect when it fails, and how far apart. Read more
Source§fn retries_landed(&self) -> bool
fn retries_landed(&self) -> bool
Source§fn max_sensitivity(&self) -> Sensitivity
fn max_sensitivity(&self) -> Sensitivity
The highest data sensitivity this sink may receive. Read more
Source§fn sink_arguments(&self) -> Option<&Value>
fn sink_arguments(&self) -> Option<&Value>
The exact value this effect will send to its sink. Read more
Source§fn rebind(&mut self, _arguments: Value) -> bool
fn rebind(&mut self, _arguments: Value) -> bool
Bind
arguments in place of the ones this effect was built over,
where it can — what a declared redaction at a sink needs. Read moreSource§fn outbound_bytes(&self) -> u64
fn outbound_bytes(&self) -> u64
How many bytes dispatching this effect sends out of the plane. Read more
Source§fn credential_binding(&self) -> Option<CredentialBinding>
fn credential_binding(&self) -> Option<CredentialBinding>
Whom the credential this effect presents names, for an effect that
presents one to another party. Read more
Source§fn protected_fields(&self) -> &[ProtectedField]
fn protected_fields(&self) -> &[ProtectedField]
Field-specific source and sensitivity rules for a structured sink. Read more
Source§fn delegation_depth(&self) -> Option<usize>
fn delegation_depth(&self) -> Option<usize>
The resulting delegation depth when this effect hands authority onward. Read more
Source§fn source(&self) -> SourceId
fn source(&self) -> SourceId
The provenance identity an untrusted result of this effect carries. Read more
Source§fn output_sensitivity(&self) -> Sensitivity
fn output_sensitivity(&self) -> Sensitivity
How sensitive this effect’s output is, at minimum. Read more
Auto Trait Implementations§
impl !RefUnwindSafe for SweepExpiredMemory
impl !UnwindSafe for SweepExpiredMemory
impl Freeze for SweepExpiredMemory
impl Send for SweepExpiredMemory
impl Sync for SweepExpiredMemory
impl Unpin for SweepExpiredMemory
impl UnsafeUnpin for SweepExpiredMemory
Blanket Implementations§
Source§impl<E> AnyEffect for Ewhere
E: Effect,
impl<E> AnyEffect for Ewhere
E: Effect,
Source§fn spend_erased(&self, output: &Value) -> Spend
fn spend_erased(&self, output: &Value) -> Spend
Round-trips the output to ask the typed effect what it cost.
A type that cannot be deserialized from its own serialization is already
broken for replay — Effect::Output requires the round-trip, and the
journal reconstructs every output that way. Charging zero here is the
same answer replay would reach, and the defect surfaces where it belongs.
Source§fn gen_ai_response_erased(&self, output: &Value) -> Option<GenAiResponse>
fn gen_ai_response_erased(&self, output: &Value) -> Option<GenAiResponse>
Round-trips the output, for the reason
spend_erased does.
fn descriptor(&self) -> EffectDescriptor
fn attach_erased(&mut self, provenance: &Provenance)
fn gen_ai_operation(&self) -> Option<&'static str>
fn mutates(&self) -> bool
fn recovery(&self) -> Recovery
fn retry(&self) -> RetryPolicy
fn retries_landed(&self) -> bool
fn max_sensitivity(&self) -> Sensitivity
fn sink_arguments(&self) -> Option<&Value>
fn rebind_erased(&mut self, arguments: Value) -> bool
fn outbound_bytes(&self) -> u64
fn credential_binding(&self) -> Option<CredentialBinding>
fn protected_fields(&self) -> &[ProtectedField]
fn delegation_depth(&self) -> Option<usize>
fn source(&self) -> SourceId
fn trust(&self) -> Trust
fn output_sensitivity(&self) -> Sensitivity
fn gen_ai_request(&self) -> Option<GenAiRequest>
fn perform_erased<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Value, EffectError>> + Send + 'async_trait>>where
'life0: 'async_trait,
E: 'async_trait,
fn reconcile_erased<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Reconciliation<Value>, EffectError>> + Send + 'async_trait>>where
'life0: 'async_trait,
E: 'async_trait,
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
Source§impl<E> BuildsEffect<E> for Ewhere
E: Effect,
impl<E> BuildsEffect<E> for Ewhere
E: Effect,
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 moreCreates a shared type from an unshared type.