record BQueue : Type -> Type A concurrent, bounded queue holding values of type `a`.
This is an important primitive for implementing producer/consumer
services.
Totality: total
Visibility: export
Constructor: BQ : IORef (ST a) -> BQueue a
Projection: .ref : BQueue a -> IORef (ST a)
bqueue : Lift1 World f => Nat -> f (BQueue a) Creates a new bounded queue of the given capacity.
Totality: total
Visibility: exportbqueueOf : Lift1 World f => (0 a : Type) -> Nat -> f (BQueue a) Utility alias for `bqueue` taking the type of stored values
as an explicit argument.
Totality: total
Visibility: exportenqueue : BQueue a -> a -> Async e es () Appends a value to a bounded queue potentially blocking the
calling fiber until there is some capacity.
Totality: total
Visibility: exportdequeue : BQueue a -> Async e es a Extracts the next value from a bounded queue potentially blocking
the calling fiber until such a value is available.
Totality: total
Visibility: export