Closed stv0g closed 1 year ago
Little update here: branch feature-pool-queue now contains my own implementation of lockless memory pool, stack and queue.
This is fine for now. But for the future, @umarfaruq and me agreed to have a look at Intels DPDK framework. Maybe we can borrow some even better implementations from them. It depends how hard it is to integrate those into VILLASnode
@umar.farooq and me started to implement our own version of a simple SPSC (single producer single consumer) queue based on C11's memory model / atomics: https://github.com/stv0g/c11-stdatomic-queue SPSC queues are much simpler than their MPMC (multiple producers multiple consumer) counterparts.
More information about SPSC queues and the theory / pitfalls behind them can be found here:
I will close this issue as we now implement our own queue.
Let's keep it in mind as a good reference / collection for future work.
We should agree on a library for common functions and data structures: