Skip to main content

SchemaWriteFence

Trait SchemaWriteFence 

Source
pub trait SchemaWriteFence: Send + Sync {
    // Required methods
    fn hold(&self) -> Result<(), MigrationError>;
    fn release(&self);
}
Expand description

Write fence held across schema-modifying steps of a migration.

The migration engine never touches transaction internals directly: the layer that owns the write gate (embedded API, server) supplies an implementation backed by its own gate, typically a checkpoint drain fence built from linkrs_transaction::issue_request_drain. This keeps the dependency direction intact while making the online protocol reachable.

Required Methods§

Source

fn hold(&self) -> Result<(), MigrationError>

Pause new writes and drain in-flight ones before schema steps run. A timeout error aborts the migration instead of stretching the stall.

Source

fn release(&self)

Resume writes after schema steps complete or fail. Always called.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§