def snapshot_checked

bendvy-ecs-core@0.1.0.3 · execution_relation_failure_access.bend:53

import bendvy-ecs-core@0.1.0.3/execution_relation_failure_access.bend as ExecutionRelationFailureAccess
import Base
import bendvy-ecs-core@0.1.0.3/relation_types.bend as T
import bendvy-ecs-core@0.1.0.3/execution_relation_failure_channel.bend as Reader
import bendvy-ecs-core@0.1.0.3/execution_relation_failure_message.bend as Failure
import bendvy-ecs-core@0.1.0.3/execution_stream_channel.bend as Channel
import bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend as Layout
import bendvy-ecs-core@0.1.0.3/change_tick.bend as Tick

53# Canonical projection carries the real channel. Reading advances only Local's
54# affine Reader; the Data channel and its resource stamp remain unchanged.
55def snapshot_checked(~S:Data,~descriptor:T.Descriptor<S>,~full:Layout.Layout,~route:Layout.Route,allowed:Bool,namespace:U32,sequence:Nat,tick:Tick.Tick,reader:Reader.Reader<S,descriptor,full,route>,channel:Channel.Store<Failure.Message<S,descriptor>>) -> Reader.Reading<S,descriptor,full,route>:
56  match allowed:
57    case False{}:Reader.Refused{reader}
58    case True{}:snapshot_result(~S,~descriptor,~full,~route,Reader.read(~S,~descriptor,~full,~route,namespace,sequence,tick,reader,channel))

Uses (13)

Used by (1)