Crate rc_event_queue[−][src]
Expand description
Concurrent FIFO event queue / message queue. Multi consumer. Each consumer receive all messages. Lock-free reading. Write under lock (for mpmc version). Write lock does not block read.
Linked list of chunks (C++ std::deque -like). Each chunk have “read counter”.
When “read counter” reach readers count - chunk dropped. Chunk considered read, when
Reader reach its end. See doc/principal-of-operation.md.
EventQueue live, until EventReaders live.
In order to completely drop EventQueue - drop all associated EventReaders.
Features
double_buffering: Reuse biggest freed chunk.