def outcome
bend-kit-hairpin@0.14.0.0 · hairpin.bend:169
import bend-kit-hairpin@0.14.0.0/hairpin.bend as Hairpin
import Base
import bend-kit-http@0.38.1.1/http.bend as Http
import bend-kit-time@0.3.0.0/time.bend as Time
import bend-kit-retry@0.3.0.0/retry.bend as Retry
169
170def outcome(+idem: Bool, v: Verdict, now: Time.Instant) -> Retry.Outcome:
171 match v:
172 case VerdictOk{}:
173 Retry.Settled{}
174 case VerdictCaller{}:
175 Retry.Rejected{}
176 case VerdictTarget{}:
177 Retry.Failed{}
178 case VerdictAgain{+after}:
179 Bool.pick(Retry.Outcome, idem, Retry.Transient{hint.ms(Http.retry.after(after, now))}, Retry.Unsafe{})