Skip to main content

Module transactions

Module transactions 

Source
Expand description

Optional transactions layer for the Rust link-cli.

Mirrors the C# TransactionsDecorator in csharp/Foundation.Data.Doublets.Cli.Library/TransactionsDecorator.cs.

The decorator wraps a NamedTypesDecorator and records every create / update / delete as a reversible Transition in a sidecar doublets log store. Supports explicit transactions, sync commits, three retention policies, and crash recovery (R1-R7, R10).

Optional — when not opted in, the bare NamedTypesDecorator behaves identically (R8, R9, R17).

Structs§

DoubletLink
A single doublet link state captured by a transition (mirror of the C# Platform.Data.Doublets.Link<uint>).
TransactionHandle
Snapshot of an open transaction (returned by TransactionsDecorator::begin_transaction).
TransactionsDecorator
The transactions decorator wraps a NamedTypesDecorator and records every write as a reversible Transition in log_store.
Transition
Reversible write captured by the transactions layer. Holds both before and after link states so the operation can be undone or replayed.

Enums§

CommitMode
Sync flushes data-store side-effects before commit returns.
LogRetentionPolicy
Retention policy for the transitions log.
TransitionKind
The kind of write operation recorded by a Transition.