In programming languages there is a data structure called a FIFO queue.
I am trying to find out if there is an existing structure ( in .net or in a thirdparty library ) which offers the following functionality
- FIFO queue
- Aynchronous ( both read and write )
- Blocking queue ( it will wait till you start writing to it, similar to BlockingCollection )
- It will allow conditional reads. For example, every object added to this queue has a timestamp. You should be able to pop only those objects which are older than a certain timestamp, leaving the rest in the queue.
I am aware of the async collection discussion here but it doesn't provide what I am looking for.