Idris2Doc : IO.Async.Loop.Queue

IO.Async.Loop.Queue

(source)

Definitions

inc : IORefNat->IO1 ()
Totality: total
Visibility: export
dec : IORefNat->IO1Bool
Totality: total
Visibility: export
recordQueue : Type->Type
  A specialize queue implementation enabling fast enqueue, dequeue,
and work stealing.

Totality: total
Visibility: export
Constructor: 
Q : Bool->Lista->SnocLista->Queuea

Projections:
.asleep : Queuea->Bool
.head : Queuea->Lista
.tail : Queuea->SnocLista
queueOf : (0a : Type) ->Queuea
Totality: total
Visibility: export
isEmpty : Queuea->Bool
Totality: total
Visibility: export
enq : IORef (Queuea) ->a->IO1Bool
Totality: total
Visibility: export
enqall : IORef (Queuea) ->Lista->IO1Bool
Totality: total
Visibility: export
deq : IORef (Queuea) ->IO1 (Maybea)
Totality: total
Visibility: export
deqAndSleep : IORef (Queuea) ->IO1 (Maybea)
Totality: total
Visibility: export
steal : IORef (Queuea) ->IO1 (Maybea)
  Steals up to `STEAL_MAX` tasks from a queue but not more than half
the enqueued tasks (rounded up).

Totality: total
Visibility: export