Skip to main content

ConfidenceDaemon

Struct ConfidenceDaemon 

Source
pub struct ConfidenceDaemon { /* private fields */ }
Expand description

Background daemon that periodically revalidates tracked assets and quarantines those whose confidence falls below MIN_REPLAY_CONFIDENCE.

Implementations§

Source§

impl ConfidenceDaemon

Source

pub fn new( evaluator: Arc<dyn ConfidenceEvaluator>, config: ConfidenceDaemonConfig, ) -> Self

Create a new daemon with the given evaluator and configuration.

Source

pub fn with_defaults(evaluator: Arc<dyn ConfidenceEvaluator>) -> Self

Convenience constructor with default configuration.

Source

pub fn track(&self, asset: TrackedAsset)

Register an asset for confidence tracking.

If the asset_id is already registered, its entry is updated.

Source

pub fn snapshot(&self) -> Vec<TrackedAsset>

Return a snapshot of all currently tracked assets.

Source

pub fn run_cycle(&self)

Run one revalidation cycle synchronously.

For each tracked asset:

  1. Call evaluate_confidence_revalidation().
  2. If failed, call evaluate_asset_demotion().
  3. Transition to Quarantined (or Demoted) and set replay_eligible = false for quarantined assets.

Assets below demotion_confidence_threshold are treated as having an implicit failure to trigger revalidation.

Source

pub fn spawn(self) -> JoinHandle<()>

Spawn the daemon as a background task.

The returned JoinHandle runs indefinitely until the process terminates or the handle is aborted. Callers may call handle.abort() to stop the daemon cleanly.

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> 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, 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