Skip to main content

CrossMemoryConsistency

Trait CrossMemoryConsistency 

Source
pub trait CrossMemoryConsistency {
    // Required methods
    fn record_write(
        &mut self,
        op: &WriteOp,
    ) -> Result<CoherenceReceipt, ConsistencyError>;
    fn verify_causal_read(
        &self,
        galaxy: Galaxy,
        required_clock: &VectorClock,
    ) -> Result<(), ConsistencyError>;
    fn resolve_conflict(
        &mut self,
        conflict: &ConflictReport,
        strategy: Resolution,
    ) -> CoherenceReceipt;
    fn snapshot(&self) -> CoherenceSnapshot;
}
Expand description

Core trait defining the Cross-Memory Consistency contract.

Required Methods§

Source

fn record_write( &mut self, op: &WriteOp, ) -> Result<CoherenceReceipt, ConsistencyError>

Verify and record a cross-galaxy write, updating causal clocks.

Source

fn verify_causal_read( &self, galaxy: Galaxy, required_clock: &VectorClock, ) -> Result<(), ConsistencyError>

Check if reading from galaxy satisfies the caller’s required vector clock.

Source

fn resolve_conflict( &mut self, conflict: &ConflictReport, strategy: Resolution, ) -> CoherenceReceipt

Resolve a concurrent mutation conflict.

Source

fn snapshot(&self) -> CoherenceSnapshot

Retrieve the current point-in-time coherence snapshot.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§