How vekt1n/baseipcrealization works
This Linux IPC message bus lets processes exchange messages through POSIX shared-memory queues; tagged publishing adds subscription-based fan-out. Writers publish tagged data, the adapter routes it to subscribed reader queues, and readers consume it; log-tagged messages are forwarded to the logger. The repository also provides daemon lifecycle support and an IPC manager. Adapter routing and persistence are documented and partly sampled; logger behavior and some daemon wiring are described in the README but their implementations were not sampled.
Main entry points: SubscribtionsBuss.cpp Subscription Adapter · reader_daemon.cpp Reader Daemon · BaseMemory.cpp BaseMemory IPC · writer1_daemon.cpp Writer One
Components 13
Messaging
- Subscription Adapter
MessageBussSubscribtions/SubscribtionsBuss.cpp - Logger Library
SharedMemory/src/Logger.cpp - BaseMemory IPC
SharedMemory/src/BaseMemory.cpp
Runtime Services
- Writer One
daemons/writer1_daemon.cpp - Writer Two
daemons/writer2_daemon.cpp - Reader Daemon
daemons/reader_daemon.cpp - Logger Daemon
daemons/logger_daemon.cpp
Process Management
- Daemon Lifecycle
SharedMemory/src/Daemonizer.cpp - IPC Manager
daemons/ipc_manager.cpp
IPC State
- POSIX Shared Memory
- Subscription JSON
Other components
- Operator
- Managed Processes
Connections 21
- Writer One → BaseMemory IPC: publishes via
- Writer Two → BaseMemory IPC: publishes via
- Reader Daemon → BaseMemory IPC: reads via
- Subscription Adapter → BaseMemory IPC: reads and sends
- BaseMemory IPC → POSIX Shared Memory: reads and writes
- Writer One → Subscription Adapter: publishes tags
- Writer Two → Subscription Adapter: publishes tags
- Reader Daemon → Subscription Adapter: subscribes via
- Subscription Adapter → Reader Daemon: dispatches messages
- Subscription Adapter → Logger Daemon: forwards log tags
- Logger Daemon → Logger Library: logs events
- Subscription Adapter → Subscription JSON: loads and saves
- Writer One → Logger Library: logs locally
- Writer Two → Logger Library: logs locally
- Reader Daemon → Logger Library: logs locally
- Writer One → Daemon Lifecycle: uses lifecycle
- Writer Two → Daemon Lifecycle: uses lifecycle
- Reader Daemon → Daemon Lifecycle: uses lifecycle
- Subscription Adapter → Daemon Lifecycle: uses lifecycle
- Operator → IPC Manager: controls daemons
- IPC Manager → Managed Processes: starts and stops