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§
Sourcefn record_write(
&mut self,
op: &WriteOp,
) -> Result<CoherenceReceipt, ConsistencyError>
fn record_write( &mut self, op: &WriteOp, ) -> Result<CoherenceReceipt, ConsistencyError>
Verify and record a cross-galaxy write, updating causal clocks.
Sourcefn verify_causal_read(
&self,
galaxy: Galaxy,
required_clock: &VectorClock,
) -> Result<(), ConsistencyError>
fn verify_causal_read( &self, galaxy: Galaxy, required_clock: &VectorClock, ) -> Result<(), ConsistencyError>
Check if reading from galaxy satisfies the caller’s required vector clock.
Sourcefn resolve_conflict(
&mut self,
conflict: &ConflictReport,
strategy: Resolution,
) -> CoherenceReceipt
fn resolve_conflict( &mut self, conflict: &ConflictReport, strategy: Resolution, ) -> CoherenceReceipt
Resolve a concurrent mutation conflict.
Sourcefn snapshot(&self) -> CoherenceSnapshot
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".