def select

bend-kit-scheduler@0.4.1.0 · queue.bend:54

import bend-kit-scheduler@0.4.1.0/queue.bend as Queue
import Base
import bend-kit-collections@0.1.4.1/heap.bend as H

54def select(~A: Data, now: Nat, s: State<A>) -> State<A> & Maybe<&2, Ticket<A>>:
55  match s:
56    case State{i, H.HLeaf{}, r}:
57      (State{i, H.HLeaf{}, r}, None{})
58    case State{i, H.HNode{+n, +t, +l, +q}, r}:
59      select.due(~A, Nat.is_le(deadline(A, t), now), i, H.HNode{n, t, l, q}, r, t, l, q)

Uses (10)

Used by (9)