Idris2Doc : IO.Async.BQueue

IO.Async.BQueue

(source)

Definitions

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: export
bqueueOf : 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: export
enqueue : 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: export
dequeue : 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