def claim.selected
bend-kit-runner@0.13.0.1 · runner.bend:1256
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-scheduler@0.4.1.0/queue.bend as Q
import bend-kit-resources@0.1.0.0/resources.bend as Res
import bend-kit-retry@0.3.0.0/retry.bend as Retry
1256def claim.selected(~A: Data, ~penc: A -> Bytes.Bytes, ~target: A -> String, ~work: A -> IO(Retry.Outcome), +now: Nat, y: Ran(A),
1257 t: Q.Ticket<A>, g: Res.Grant, next: Runner<A> -> IO(Claimed(A))) -> IO(Claimed(A)):
1258 match y:
1259 case (r, Fail{e}):
1260 IO.pure(Claimed(A), (release(A, r, g), 0n, Fail{e}))
1261 case (r, Done{u}):
1262 claim.admit(~A, ~penc, ~target, ~work, now, r, t, g, next)