def State.admit

bend-kit-retry@0.3.0.0 · retry.bend:102

import bend-kit-retry@0.3.0.0/retry.bend as Retry
import Base

102# Closed admits. Open admits nothing before until; at or after until it turns half-open and admits a probe.
103# Half-open admits while fewer than probes are in flight.
104def State.admit(+c: Circuit, s: State, +now: Nat) -> State & Bool:
105  match s:
106    case CircuitClosed{fs}:
107      (CircuitClosed{fs}, True{})
108    case CircuitOpen{+u}:
109      open.admit(Nat.is_lt(now, u), Circuit.probes(c), u)
110    case CircuitHalf{+k}:
111      half.admit(Nat.is_lt(k, Circuit.probes(c)), k)

Uses (10)

Used by (1)