Waits until the queue is shutdown.
Waits until the queue is shutdown. The IO
returned by this method will
not resume until the queue has been shutdown. If the queue is already
shutdown, the IO
will resume right away.
How many elements can hold in the queue
true
if shutdown
has been called.
Interrupts any fibers that are suspended on offer
or take
.
Interrupts any fibers that are suspended on offer
or take
. Future calls
to offer*
and take*
will be interrupted immediately.
Retrieves the size of the queue.
Retrieves the size of the queue. This may be negative if fibers are suspended waiting for elements to be added to the queue or greater than the capacity if fibers are suspended waiting to add elements to the queue.
Removes the oldest value in the queue.
Removes the oldest value in the queue. If the queue is empty, this will return a computation that resumes when an item has been added to the queue.
Removes all the values in the queue and returns the values.
Removes all the values in the queue and returns the values. If the queue is empty returns an empty collection.
Takes up to max number of values in the queue.
Checks whether the queue is currently empty.
Checks whether the queue is currently full.
Take the head option of values in the queue.
Takes a number of elements from the queue between the specified minimum and maximum.
Takes a number of elements from the queue between the specified minimum and maximum. If there are fewer than the minimum number of elements available, suspends until at least the minimum number of elements have been collected.
Takes the specified number of elements from the queue.
Takes the specified number of elements from the queue. If there are fewer than the specified number of elements available, it suspends until they become available.
A queue that can only be dequeued.