def read_position

bendvy-ecs-core@0.1.0.4 · event_stream.bend:35

import bendvy-ecs-core@0.1.0.4/event_stream.bend as EventStream
import Base
import bendvy-ecs-core@0.1.0.4/event_runtime.bend as Ev

35def read_position(~S:Data,~E:Data,stream:Stream<S,E>,+id:U32,+tick:Nat,position:Maybe<Ev.Position>) -> Stream<S,E> & Ev.Reading<E>:
36  match stream position:
37    case Stream{domain,+batches,positions,nextReader,frameStart,boundary,capacity,+dropped} Some{position}:(Stream{domain,batches,positions,nextReader,frameStart,boundary,capacity,dropped},Ev.reading(~E,position,batches,dropped))
38    case Stream{domain,+batches,positions,nextReader,frameStart,boundary,capacity,+dropped} None{}:(Stream{domain,batches,positions,nextReader,frameStart,boundary,capacity,dropped},Ev.reading(~E,Ev.Position{id,0n,tick},batches,dropped))

Uses (9)

Used by (1)