def run_with_barrier

bendvy-ecs-core@0.1.0.4 · schedule.bend:168

import bendvy-ecs-core@0.1.0.4/schedule.bend as Schedule
import Base
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/system.bend as Sys

168# As namespace-checked run, with a caller-supplied barrier threading H and World
169# at each explicit Barrier step. This supports owned runtime synchronization;
170# its effects are trusted and no automatic final barrier or schedule rollback
171# is added. Condition-false handling is the ordinary skip-without-dispatch path.
172def run_with_barrier(~S:Data,~C:Type,~R:Type,~E:Data,~H:Type,~Error:Data,~dispatch:H -> W.World<S,C,R,E> -> U32 -> H & Sys.Outcome<W.World<S,C,R,E>,Error,Unit>,~condition:W.World<S,C,R,E> -> U32 -> W.World<S,C,R,E> & Bool,~barrier:H -> W.World<S,C,R,E> -> H & W.World<S,C,R,E>,schedule:Schedule<S,C,R,E,H>,world:W.World<S,C,R,E>) -> RunResult<S,C,R,E,H,Error>:
173  run_barrier_named(~S,~C,~R,~E,~H,~Error,~dispatch,~condition,~barrier,schedule,W.namespace(~S,~C,~R,~E,world))

Uses (10)

Used by (3)