def read_slot

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

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_store.bend as Store
import bendvy-ecs-core@0.1.0.3/execution_relation_failure_channel.bend as Reader
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

28def read_slot(~S:Data,~descriptor:T.Descriptor<S>,~full:Layout.Layout,~route:Layout.Route,reader:Reader.Reader<S,descriptor,full,route>,tick:Tick.Tick,slot:Layout.ResourceSlot<S,Layout.Viewed<Store.Store<S,descriptor>,Store.View<S,descriptor>>,Layout.key(full,route),Layout.origin(full,route)>) -> Layout.ResourceSlot<S,Layout.Viewed<Store.Store<S,descriptor>,Store.View<S,descriptor>>,Layout.key(full,route),Layout.origin(full,route)> & Reader.Reading<S,descriptor,full,route>:
29  match slot:
30    case Layout.ResourceSlot{Layout.Viewed{store,view},stamp}:returned_slot(~S,~descriptor,~full,~route,view,stamp,read_store(~S,~descriptor,~full,~route,reader,tick,store))

Uses (15)

Used by (1)