The maximum capacity of the queue.
Checks whether the queue is shut down.
Offers a value to the queue, returning whether the value was offered to the queue.
Offers all of the specified values to the queue, returning whether they were offered to the queue.
Views the next element in the queue without removing it, retrying if the queue is empty.
Views the next element in the queue without removing it, returning None
if the queue is empty.
Shuts down the queue.
The current number of values in the queue.
Takes a value from the queue.
Takes all the values from the queue.
Takes up to the specified number of values from the queue.
Waits for the queue to be shut down.
Transforms values offered to the queue using the specified function.
Transforms values offered to the queue using the specified transactional function.
Transforms values offered to and taken from the queue using the specified functions.
Transforms messages published to and taken from the queue using the specified transactional functions.
Filters values offered to the queue using the specified function.
Filters values offered to the queue using the specified transactional function.
Filters values taken from the queue using the specified function.
Filters values taken from the queue using the specified transactional function.
Checks if the queue is empty.
Checks if the queue is at capacity.
Transforms values taken from the queue using the specified function.
Transforms values taken from the queue using the specified transactional function.
Takes a single element from the queue, returning None
if the queue is
empty.
Drops elements from the queue while they do not satisfy the predicate, taking and returning the first element that does satisfy the predicate.
Drops elements from the queue while they do not satisfy the predicate, taking and returning the first element that does satisfy the predicate. Retries if no elements satisfy the predicate.
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, retries 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 retries until they become available.
A
ZTQueue[RA, RB, EA, EB, A, B]
is a transactional queue. Offerors can offer values of typeA
to the queue and takers can take values of typeB
from the queue. Offering values can require an environment of typeRA
and fail with an error of typeEA
. Taking values can require an environment of typeRB
and fail with an error of typeEB
.