def wait.clock.decision
mylsm-lsm-store@0.6.0.1 · src/DbLock.bend:229
import mylsm-lsm-store@0.6.0.1/src/DbLock.bend as DbLock
import Base
import mylsm-lsm-store@0.6.0.1/src/DbLockPolicy.bend as Policy
229
230def wait.clock.decision(
231 purpose: WaitPurpose,
232 file: File,
233 started_us: Nat,
234 +timeout_ms: Nat,
235 +backoff_ms: U32,
236 operation: String,
237 path: String,
238 elapsed_ms: Nat
239) -> WaitState:
240 match purpose:
241 case ChooseDelay{}:
242 wait.delay.state(Policy.busy_wait_decision(elapsed_ms, timeout_ms,
243 U32.to_nat(backoff_ms)), file, started_us, timeout_ms, backoff_ms,
244 operation, path)
245 case CheckDeadline{}:
246 wait.deadline.state(Nat.sub(timeout_ms, elapsed_ms), file, started_us,
247 timeout_ms, backoff_ms, operation, path)