def budget.of

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

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

366# The budget left for ticket i: the policy's attempts less its failures, until its start plus the policy deadline.
367def budget.of(+attempts: Nat, t: Maybe<&2, Try>, d: Maybe<&2, Nat>) -> Retry.Budget:
368  match t d:
369    case None{} m:
370      Retry.Budget{attempts, None{}}
371    case Some{Try{f, st}} None{}:
372      Retry.Budget{Nat.sub(attempts, f), None{}}
373    case Some{Try{f, +st}} Some{ms}:
374      Retry.Budget{Nat.sub(attempts, f), Some{Nat.add(st, ms)}}

Uses (6)

Used by (1)