def capacity_normalized_generic
bendvy-ecs-core@0.1.0.3 · machine_stream_queue.bend:50
import bendvy-ecs-core@0.1.0.3/machine_stream_queue.bend as MachineStreamQueue
import Base
50def capacity_normalized_generic(-E:Data,queue:Queue<E>,+capacity:Nat,ih:Queue<E> -> Queue<E>) -> Queue<E>:
51 match queue:
52 case Queue{Nil{},back,size,dropped,batches}:Queue{[],back,size,dropped,batches}
53 case Queue{Batch{+tick,+count,+items} <> +rest,+back,+size,+dropped,+batches}:trim_step_generic(E,Nat.is_lt(capacity,size),tick,count,items,rest,back,size,dropped,batches,ih)