project-ideas
project-ideas copied to clipboard
std.interprocess
The goal of this project is to implement a flexible interprocess data structure, synchronization and communication library. An equivalent library in C++ is Boost Interprocess. The important goal would be to port all the features from boost.interprocess to D allowing the creation of structs/classes on shared memory, etc.
boost::interprocess offers the following features and it will be challenging & achieving to have these implemented in D in a stable, easy to use library that achieves all the aspects.
- default and custom allocators to operate on shm
- named IPC primitives: shm, semaphores, spinlock, mutex, condvar, barriers
- standard containers like vector, deque, list, string, set that operates on shm
- message queue on shm without relying on the kernel for data transfer. This is a huge win for low latency apps in the order of micro seconds
- managed shared memory
- IPC smart pointers
Get started by looking into the following: