Changes for version 0.000024 - 2026-04-18

  • Fix sync_request hang when a peer disappears mid-request: await_response now snapshots the peer at send time and croaks if the peer is fully removed from the bus before the response arrives. Suspend-capable protocols (those advertising suspend_supported) keep waiting across a clean suspend or a restart-under-a-new-pid because the response can still be delivered once the peer resumes — only full unregistration counts as "gone"
  • Add optional $timeout argument to sync_request() and await_response(); without it the behavior is unchanged (blocks indefinitely), with it the call croaks once the deadline elapses
  • Sweep orphaned Atomic::Pipe reassembly state when a peer leaves the bus: a new Client peer_left() hook (called from the service loop on peer-delta removal) lets AtomicPipe drop per-(pid, tid) parts/buffers entries belonging to dead peers instead of accumulating them forever

Documentation

Modules

Decentralized local IPC through various protocols.
Base class for DBI based protocols
Base class for filesystem based protocols
Base class for filesystem clients that read via a handle
Base class for all client protocols
Use FIFO pipes for message transfers.
Single JSON file as a message store
Process-local in-memory message store for testing only
Use MariaDB as a message store.
Use files on disk as a message store.
Use MySQL as a message store.
Use PostgreSQL as a message store.
Use SQLite as a message store.
SysV shared memory as a message store
Use UNIX sockets for message transfers.
Database based clients for IPC::Manager.
Messages sent between clients.
Role for implementing IPC services with message handling
Role for handling request/response patterns in IPC services.
Role for I/O multiplexing in IPC services
Serializer base class for IPC::Manager.
JSON Serializer for IPC::Manager.
Base class for creating IPC services
Service that echoes back request content
Handle class for connecting to IPC services
Peer connection class for IPC::Manager services
Internal implementation of ipcm_service and ipcm_worker
Encapsulation of a newly initiated message store.
Reusable protocol-agnostic test suite for IPC::Manager
Utility functions for IPC::Manager