def drain.ticked

bend-kit-runner@0.13.0.1 · runner.bend:1676

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-retry@0.3.0.0/retry.bend as Retry

1676def drain.ticked(~A: Data, ~penc: A -> Bytes.Bytes, ~target: A -> String, ~work: A -> IO(Retry.Outcome), +idle: U32,
1677    t: Runner<A> & Out(Bool), next: Runner<A> -> IO(Ran(A))) -> IO(Ran(A)):
1678  match t:
1679    case (r, Fail{e}):
1680      IO.pure(Ran(A), (r, Fail{e}))
1681    case (r, Done{True{}}):
1682      next(r)
1683    case (r, Done{False{}}):
1684      drain.wait(~A, ~penc, ~target, ~work, idle, r, next)

Uses (14)

Used by (1)