ores.eventing

Table of Contents

Diagram

ores.eventing component diagram

Figure 1: ores.eventing

Summary

ores.eventing provides an in-process publish/subscribe event bus for decoupled communication between ORE Studio components. It defines type-safe event traits, RAII subscription handles, and entity-change events. A PostgreSQL LISTEN/NOTIFY bridge (postgres_event_source) translates database notifications into typed in-process events, enabling services to react to cross-service state changes without polling.

Inputs

  • Published domain events from any component calling event_bus::publish.
  • PostgreSQL NOTIFY payloads forwarded by postgres_event_source.

Outputs

  • Type-safe callbacks delivered to registered subscribers.
  • RAII subscription handles that unsubscribe on destruction.

Entry points

  • include/ores.eventing/domain/ — event types, traits, entity change events.
  • include/ores.eventing/service/event_bus, postgres_event_source.

Dependencies

  • ores.databasepostgres_listener_service for LISTEN/NOTIFY.
  • ores.logging — structured logging.

See also

Emacs 29.1 (Org mode 9.6.6)