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# Selects backoff or deadline logic from a monotonic elapsed-time sample.
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)

Uses (11)

Used by (1)