type WaitState

mylsm-lsm-store@0.6.0.1 · src/DbLock.bend:20

import mylsm-lsm-store@0.6.0.1/src/DbLock.bend as DbLock
import Base

20# Carries file ownership through the single recursive wait state machine.
21type WaitState is Type:
22  TryLock{file: File, started_us: Nat, timeout_ms: Nat, backoff_ms: U32,
23    operation: String, path: String}
24  LockAttempt{pair: File & Result<&1, &1, U32 & String, Unit>,
25    started_us: Nat, timeout_ms: Nat, backoff_ms: U32, operation: String, path: String}
26  ReadClock{file: File, started_us: Nat, timeout_ms: Nat, backoff_ms: U32,
27    operation: String, path: String, purpose: WaitPurpose}
28  ClockSample{file: File, started_us: Nat, timeout_ms: Nat, backoff_ms: U32,
29    operation: String, path: String, purpose: WaitPurpose,
30    result: Result<&1, &1, U32 & String, Nat>}
31  Pause{file: File, started_us: Nat, timeout_ms: Nat, backoff_ms: U32,
32    operation: String, path: String, duration_ms: U32}
33  PauseResult{file: File, started_us: Nat, timeout_ms: Nat, backoff_ms: U32,
34    operation: String, path: String,
35    result: Result<&1, &1, U32 & String, Unit>}
36  WaitFatal{file: File, error: U32 & String, operation: String, path: String}
37  WaitExpired{file: File, operation: String, path: String}

Uses (8)

Used by (7)