Indicates that no more items are going to be added to the queue.
Adds an item to the queue. Once done is called, no more items can be added.
Signals an error to consumers. No more items can be added to the queue after this method is called. Consumers iterating over the queue will still be able to iterate over all items that were added up until the error was signaled, at which point the iteration will abort with the given error.
The reason for rejection (e.g. error, cancellation, etc.).
An asynchronous producer/consumer queue. Allows one or more producers to populate the queue while one or more consumers are iterating over the queue, completely independently of one another.