Expand description
Transaction state shared by every incremental driver.
Both the binary-mode REPL (flowlog-compiler) and the library-mode
engine (flowlog-build, incremental codegen) use the same
epoch-broadcast protocol: a driver writes a TxnState into
Arc<RwLock<_>>, workers rendezvous on a std::sync::Barrier to
read the snapshot, apply its pending ops, then rendezvous again to
publish outputs. The only thing that differs between modes is who
plays the driver — stdin for the binary, the host thread for the
library.
Structs§
- TxnState
- Shared transaction snapshot. The driver mutates this behind an
Arc<RwLock<_>>; workers clone the inner value each epoch.
Enums§
- TxnAction
- What workers should do when they observe a new published
TxnState. - TxnOp
- A single tuple-level update queued inside a transaction.
Type Aliases§
- Diff
- Update multiplicity applied to a tuple.
+1inserts,-1retracts; larger magnitudes scale the count in ring-valued semirings.