Nito.AsyncEx.Concurrent An async-compatible producer/consumer collection. The type of elements contained in the collection. The underlying collection. The maximum number of elements allowed in the collection. The mutual-exclusion lock protecting the collection. A condition variable that is signalled when the collection is not full. A condition variable that is signalled when the collection is completed or not empty. A cancellation token source that is canceled when the collection is marked completed for adding. A cached result that is common when calling . Creates a new async-compatible producer/consumer collection wrapping the specified collection and with a maximum element count. The collection to wrap. The maximum element count. This must be greater than zero. Creates a new async-compatible producer/consumer collection wrapping the specified collection. The collection to wrap. Creates a new async-compatible producer/consumer collection with a maximum element count. The maximum element count. This must be greater than zero. Creates a new async-compatible producer/consumer collection. Whether the collection is empty. Whether the collection is full. Asynchronously marks the producer/consumer collection as complete for adding. Synchronously marks the producer/consumer collection as complete for adding. Attempts to add an item. The item to add. A cancellation token that can be used to abort the add operation. If is not null, then this token must include signals from the object. A synchronization object used to cancel related add operations. May be null if this is the only add operation. Attempts to add an item. This method may block the calling thread. The item to add. A cancellation token that can be used to abort the add operation. Attempts to add an item to the producer/consumer collection. Returns false if the producer/consumer collection has completed adding or if the item was rejected by the underlying collection. The item to add. A cancellation token that can be used to abort the add operation. Attempts to add an item to the producer/consumer collection. Returns false if the producer/consumer collection has completed adding or if the item was rejected by the underlying collection. This method may block the calling thread. The item to add. A cancellation token that can be used to abort the add operation. Attempts to add an item to the producer/consumer collection. Returns false if the producer/consumer collection has completed adding or if the item was rejected by the underlying collection. The item to add. Attempts to add an item to the producer/consumer collection. Returns false if the producer/consumer collection has completed adding or if the item was rejected by the underlying collection. This method may block the calling thread. The item to add. Adds an item to the producer/consumer collection. Throws if the producer/consumer collection has completed adding or if the item was rejected by the underlying collection. The item to add. A cancellation token that can be used to abort the add operation. Adds an item to the producer/consumer collection. Throws if the producer/consumer collection has completed adding or if the item was rejected by the underlying collection. This method may block the calling thread. The item to add. A cancellation token that can be used to abort the add operation. Adds an item to the producer/consumer collection. Throws if the producer/consumer collection has completed adding or if the item was rejected by the underlying collection. The item to add. Adds an item to the producer/consumer collection. Throws if the producer/consumer collection has completed adding or if the item was rejected by the underlying collection. This method may block the calling thread. The item to add. Asynchronously waits until an item is available to dequeue. Returns false if the producer/consumer collection has completed adding and there are no more items. A cancellation token that can be used to abort the asynchronous wait. Asynchronously waits until an item is available to dequeue. Returns false if the producer/consumer collection has completed adding and there are no more items. Provides a (synchronous) consuming enumerable for items in the producer/consumer collection. A cancellation token that can be used to abort the synchronous enumeration. Provides a (synchronous) consuming enumerable for items in the producer/consumer queue. Attempts to take an item. A cancellation token that can be used to abort the take operation. If is not null, then this token must include signals from the object. A synchronization object used to cancel related take operations. May be null if this is the only take operation. Attempts to take an item. This method may block the calling thread. A cancellation token that can be used to abort the take operation. Attempts to take an item from the producer/consumer collection. A cancellation token that can be used to abort the take operation. Attempts to take an item from the producer/consumer collection. This method may block the calling thread. A cancellation token that can be used to abort the take operation. Attempts to take an item from the producer/consumer collection. Attempts to take an item from the producer/consumer collection. This method may block the calling thread. Takes an item from the producer/consumer collection. Returns the item. Throws if the producer/consumer collection has completed adding and is empty, or if the take from the underlying collection failed. A cancellation token that can be used to abort the take operation. Takes an item from the producer/consumer collection. Returns the item. Throws if the producer/consumer collection has completed adding and is empty, or if the take from the underlying collection failed. This method may block the calling thread. A cancellation token that can be used to abort the take operation. Takes an item from the producer/consumer collection. Returns the item. Throws if the producer/consumer collection has completed adding and is empty, or if the take from the underlying collection failed. Takes an item from the producer/consumer collection. Returns the item. Throws if the producer/consumer collection has completed adding and is empty, or if the take from the underlying collection failed. This method may block the calling thread. The result of a TryTake, TakeFromAny, or TryTakeFromAny operation. The collection from which the item was taken, or null if the operation failed. Whether the operation was successful. This is true if and only if is not null. The item. This is only valid if is not null. Provides methods for working on multiple instances. Attempts to add an item to any of a number of producer/consumer collections. Returns the producer/consumer collection that received the item. Returns null if all producer/consumer collections have completed adding, or if any add operation on an underlying collection failed. The producer/consumer collections. The item to add. A cancellation token that can be used to abort the add operation. The producer/consumer collection that received the item. Attempts to add an item to any of a number of producer/consumer collections. Returns the producer/consumer collection that received the item. Returns null if all producer/consumer collections have completed adding, or if any add operation on an underlying collection failed. This method may block the calling thread. The producer/consumer collections. The item to add. A cancellation token that can be used to abort the add operation. The producer/consumer collection that received the item. Attempts to add an item to any of a number of producer/consumer collections. Returns the producer/consumer collection that received the item. Returns null if all producer/consumer collections have completed adding, or if any add operation on an underlying collection failed. The producer/consumer collections. The item to add. The producer/consumer collection that received the item. Attempts to add an item to any of a number of producer/consumer collections. Returns the producer/consumer collection that received the item. Returns null if all producer/consumer collections have completed adding, or if any add operation on an underlying collection failed. This method may block the calling thread. The producer/consumer collections. The item to add. The producer/consumer collection that received the item. Adds an item to any of a number of producer/consumer collections. Returns the producer/consumer collection that received the item. Throws if all producer/consumer collections have completed adding, or if any add operation on an underlying collection failed. The producer/consumer collections. The item to add. A cancellation token that can be used to abort the add operation. The producer/consumer collection that received the item. Adds an item to any of a number of producer/consumer collections. Returns the producer/consumer collection that received the item. Throws if all producer/consumer collections have completed adding, or if any add operation on an underlying collection failed. This method may block the calling thread. The producer/consumer collections. The item to add. A cancellation token that can be used to abort the add operation. The producer/consumer collection that received the item. Adds an item to any of a number of producer/consumer collections. Returns the producer/consumer collection that received the item. Throws if all producer/consumer collections have completed adding, or if any add operation on an underlying collection failed. The producer/consumer collections. The item to add. The producer/consumer collection that received the item. Adds an item to any of a number of producer/consumer collections. Returns the producer/consumer collection that received the item. Throws if all producer/consumer collections have completed adding, or if any add operation on an underlying collection failed. This method may block the calling thread. The producer/consumer collections. The item to add. The producer/consumer collection that received the item. Attempts to take an item from any of a number of producer/consumer collections. The operation "fails" if all the producer/consumer collections have completed adding and are empty, or if any take operation on an underlying collection fails. The producer/consumer collections. A cancellation token that can be used to abort the take operation. Attempts to take an item from any of a number of producer/consumer collections. The operation "fails" if all the producer/consumer collections have completed adding and are empty, or if any take operation on an underlying collection fails. This method may block the calling thread. The producer/consumer collections. A cancellation token that can be used to abort the take operation. Attempts to take an item from any of a number of producer/consumer collections. The operation "fails" if all the producer/consumer collections have completed adding and are empty, or if any take operation on an underlying collection fails. The producer/consumer collections. Attempts to take an item from any of a number of producer/consumer collections. The operation "fails" if all the producer/consumer collections have completed adding and are empty, or if any take operation on an underlying collection fails. This method may block the calling thread. The producer/consumer collections. Takes an item from any of a number of producer/consumer collections. Throws if all the producer/consumer collections have completed adding and are empty, or if any take operation on an underlying collection fails. The array of producer/consumer collections. A cancellation token that can be used to abort the take operation. Takes an item from any of a number of producer/consumer collections. Throws if all the producer/consumer collections have completed adding and are empty, or if any take operation on an underlying collection fails. This method may block the calling thread. The array of producer/consumer collections. A cancellation token that can be used to abort the take operation. Takes an item from any of a number of producer/consumer collections. Throws if all the producer/consumer collections have completed adding and are empty, or if any take operation on an underlying collection fails. The array of producer/consumer collections. Takes an item from any of a number of producer/consumer collections. Throws if all the producer/consumer collections have completed adding and are empty, or if any take operation on an underlying collection fails. This method may block the calling thread. The array of producer/consumer collections. A progress implementation that sends progress reports to a producer/consumer collection. The type of progress value. The producer/consumer collection that receives progress reports. Initializes a new instance of the class. The producer/consumer collection that receives progress reports.