src/scan/ScanWorkPolicy.bend

mylsm-lsm-store@0.6.0.0 · 13 lines · 0 definitions

1import Base
2import mylsm-lsm-store@0.6.0.0/src/coordinator/QueuePolicy.bend as QueuePolicy
3
4# Bounds source reads by the base, delta, and one terminal observation.
5def budget(base_records: Nat, delta_records: Nat) -> Nat:
6  Nat.add(Nat.add(base_records, delta_records), 1n)
7
8# Reserves writer transitions for every source read plus fixed finalization.
9def writer_transitions(base_records: Nat, delta_records: Nat) -> Nat:
10  Nat.add(Nat.mul(3n, budget(base_records, delta_records)), 8n)
11
12def nat.clone.pair(value: Nat) -> Nat & Nat:
13  QueuePolicy.nat.clone.pair(value)