def select.due

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

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

46def select.due(~A: Data, b: Bool, i: Nat, h: H.Heap<Ticket<A>>, r: List<&2, Ticket<A>>, t: Ticket<A>, l: H.Heap<Ticket<A>>, q: H.Heap<Ticket<A>>) -> State<A> & Maybe<&2, Ticket<A>>:
47  match b:
48    case False{}:
49      (State{i, h, r}, None{})
50    case True{}:
51      +t = t
52      (State{i, H.Heap.merge(~Ticket<A>, ~(a => b => le(A, a, b)), l, q), t <> r}, Some{t})

Uses (11)

Used by (7)