EffectLog

Struct EffectLog 

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

Represents an encapsulated, timestamped log of causal evaluation events.

This struct provides a high-level API for logging and ensures that all log entries are automatically timestamped. It hides the internal storage details to provide a clean and robust interface. An append-only audit log for causal operations.

EffectLog maintains a chronological record of all significant events, computations, and interventions that occur during a causal process. This is crucial for:

  • Explainability: Tracing back why a certain result was reached.
  • Auditability: Providing a tamper-evident record of decisions suitable for compliance.
  • Debugging: Understanding the flow of complex graphs.

Implementations§

Source§

impl EffectLog

Source

pub fn new() -> Self

Creates a new, empty log.

Source

pub fn with_capacity(capacity: usize) -> Self

Creates a new, empty log with a specified capacity.

Trait Implementations§

Source§

impl Clone for EffectLog

Source§

fn clone(&self) -> EffectLog

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for EffectLog

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for EffectLog

Source§

fn default() -> EffectLog

Returns the “default value” for a type. Read more
Source§

impl Display for EffectLog

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<&str> for EffectLog

Provides a clean way to create a log with a single initial entry from a string slice. e.g., let log: CausalEffectLog = "Initial message".into();

Source§

fn from(message: &str) -> Self

Converts to this type from the input type.
Source§

impl From<String> for EffectLog

Provides a clean way to create a log with a single initial entry. e.g., let log: CausalEffectLog = "Initial message".to_string().into();

Source§

fn from(message: String) -> Self

Converts to this type from the input type.
Source§

impl LogAddEntry for EffectLog

Source§

fn add_entry(&mut self, message: &str)

Adds a new timestamped entry to the log.

§Arguments
  • message - The log message string slice.
Source§

impl LogAppend for EffectLog

Source§

fn append(&mut self, other: &mut Self)

Merges another log’s entries into this one. The entries from the other log are moved, and the other log will be empty after this operation.

Source§

impl LogSize for EffectLog

Source§

fn is_empty(&self) -> bool

Returns true if the log contains no entries.

Source§

fn len(&self) -> usize

Returns the number of entries in the log.

Source§

impl PartialEq for EffectLog

Source§

fn eq(&self, other: &EffectLog) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for EffectLog

Source§

impl LogEffect for EffectLog

Source§

impl StructuralPartialEq for EffectLog

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
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.