pub trait TableWriteHandle:
Debug
+ Send
+ Sync {
// Required methods
fn append(
&self,
write_ts: Timestamp,
advance_to: Timestamp,
commands: Vec<(GlobalId, Vec<TableData>)>,
) -> Receiver<Result<(), StorageError>>;
fn register(
&self,
register_ts: Timestamp,
tables: Vec<TableRegistration>,
) -> Receiver<Result<(), StorageError>>;
fn forget(
&self,
forget_ts: Timestamp,
ids: Vec<GlobalId>,
) -> Receiver<Result<(), StorageError>>;
}Expand description
Queues txns-shard operations on the storage table worker.
The adapter’s group committer is the sole runtime caller, preserving FIFO order across appends,
registrations, and forgets. On StorageError::InvalidUppers, the writable implementation
restores its bookkeeping and the caller must retry at a fresh timestamp.
Required Methods§
Sourcefn append(
&self,
write_ts: Timestamp,
advance_to: Timestamp,
commands: Vec<(GlobalId, Vec<TableData>)>,
) -> Receiver<Result<(), StorageError>>
fn append( &self, write_ts: Timestamp, advance_to: Timestamp, commands: Vec<(GlobalId, Vec<TableData>)>, ) -> Receiver<Result<(), StorageError>>
Appends commands at write_ts and advances all registered tables to advance_to.
Sourcefn register(
&self,
register_ts: Timestamp,
tables: Vec<TableRegistration>,
) -> Receiver<Result<(), StorageError>>
fn register( &self, register_ts: Timestamp, tables: Vec<TableRegistration>, ) -> Receiver<Result<(), StorageError>>
Registers tables at register_ts.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".