project-ideas icon indicating copy to clipboard operation
project-ideas copied to clipboard

std.interprocess

Open burner opened this issue 5 years ago • 3 comments

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:

burner avatar May 11 '19 13:05 burner