def claim.gate
bend-kit-runner@0.13.0.1 · runner.bend:1237
import bend-kit-runner@0.13.0.1/runner.bend as Runner
import Base
import bend-kit-bytes@0.3.3.0/bytes.bend as Bytes
import bend-kit-resources@0.1.0.0/resources.bend as Res
import bend-kit-retry@0.3.0.0/retry.bend as Retry
1237
1238def claim.gate(~A: Data, ~penc: A -> Bytes.Bytes, ~work: A -> IO(Retry.Outcome), +now: Nat, a: Retry.Breaker & Retry.Budget & Retry.Gate, +key: String, +old: Retry.State,
1239 r: Runner<A>, +id: Nat, d: Nat, +x: A, g: Res.Grant, next: Runner<A> -> IO(Claimed(A))) -> IO(Claimed(A)):
1240 (+br, b, gate) = a
1241 do IO<Claimed(A)>:
1242 y : Ran(A) <- trip(~A, ~penc, r, key, old, br)
1243 claim.tripped(~A, ~penc, ~work, now, y, gate, br, b, key, id, d, x, g, next)