pub struct UnifiedEvidenceLedger { /* private fields */ }Expand description
Fixed-capacity ring buffer storing EvidenceEntry records from all
decision domains.
Pre-allocates all storage so that record never
allocates on the hot path.
Implementations§
Source§impl UnifiedEvidenceLedger
impl UnifiedEvidenceLedger
Sourcepub fn record(&mut self, entry: EvidenceEntry) -> u64
pub fn record(&mut self, entry: EvidenceEntry) -> u64
Record an evidence entry. Overwrites oldest when full.
Returns the assigned decision_id.
Sourcepub fn total_recorded(&self) -> u64
pub fn total_recorded(&self) -> u64
Total entries ever recorded (including overwritten).
Sourcepub fn domain_count(&self, domain: DecisionDomain) -> u64
pub fn domain_count(&self, domain: DecisionDomain) -> u64
Number of decisions recorded for a specific domain.
Sourcepub fn entries(&self) -> impl Iterator<Item = &EvidenceEntry>
pub fn entries(&self) -> impl Iterator<Item = &EvidenceEntry>
Iterate over stored entries in insertion order (oldest first).
Sourcepub fn entries_for_domain(
&self,
domain: DecisionDomain,
) -> impl Iterator<Item = &EvidenceEntry>
pub fn entries_for_domain( &self, domain: DecisionDomain, ) -> impl Iterator<Item = &EvidenceEntry>
Get entries for a specific domain.
Sourcepub fn last_entry(&self) -> Option<&EvidenceEntry>
pub fn last_entry(&self) -> Option<&EvidenceEntry>
Get the most recent entry.
Sourcepub fn last_entry_for_domain(
&self,
domain: DecisionDomain,
) -> Option<&EvidenceEntry>
pub fn last_entry_for_domain( &self, domain: DecisionDomain, ) -> Option<&EvidenceEntry>
Get the most recent entry for a specific domain.
Sourcepub fn export_jsonl(&self) -> String
pub fn export_jsonl(&self) -> String
Export all entries as JSONL.
Sourcepub fn flush_to_sink(&self, sink: &EvidenceSink) -> Result<()>
pub fn flush_to_sink(&self, sink: &EvidenceSink) -> Result<()>
Flush entries to an evidence sink.
Sourcepub fn summary(&self) -> LedgerSummary
pub fn summary(&self) -> LedgerSummary
Summary statistics per domain.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for UnifiedEvidenceLedger
impl RefUnwindSafe for UnifiedEvidenceLedger
impl Send for UnifiedEvidenceLedger
impl Sync for UnifiedEvidenceLedger
impl Unpin for UnifiedEvidenceLedger
impl UnwindSafe for UnifiedEvidenceLedger
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