def rd.state

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

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-scheduler@0.4.1.0/queue.bend as Q
import bend-kit-retry@0.3.0.0/retry.bend as Retry
import bend-kit-collections@0.1.4.1/heap.bend as H
import bend-kit-collections@0.1.4.1/omap.bend as O
import bend-kit-collections@0.1.4.1/LAWS.bend as CL

887def rd.state(~A: Data, ~pdec: Bytes.Bytes -> Maybe<&2, A>, +fuel: Nat) -> Dec(State<A>):
888  do Dec<State<A>>:
889    n : Nat <- rd.u64()
890    hf : Bool <- rd.flag()
891    h : H.Heap<Q.Ticket<A>> <- rd.heap(~A, ~pdec, fuel, hf)
892    rf : Bool <- rd.flag()
893    run : List<&2, Q.Ticket<A>> <- rd.run(~A, ~pdec, fuel, rf)
894    tf : Bool <- rd.flag()
895    ts : O.OMap<Nat, Try> <- rd.tries(fuel, tf)
896    +dk : U32 <- rd.u32()
897    +dt : Graves(A) <- rd.graves(~A, ~pdec, fuel, U32.is_eq(dk, 0), U32.is_eq(dk, 1), U32.is_eq(dk, 2))
898    ds : Graves(A) <- rd.wf(A, CL.hmap_wf(~Nat, ~Dead<A>, ~dead.hash, ~Nat.is_eq, dt), dt)
899    bf : Bool <- rd.flag()
900    bs : Map<&2, Retry.State> <- rd.brks(fuel, bf, Map.new(&2, Retry.State))
901    return State{Q.State{n, h, run}, ts, ds, bs}

Uses (33)

Used by (1)