ores.synthetic.service

Table of Contents

1. Diagram

ores.synthetic.service component diagram

Figure 1: ores.synthetic.service

2. Summary

ores.synthetic.service is the NATS service entrypoint for the synthetic data domain. It reads configuration, opens the NATS connection, and runs the event loop. Composition happens in two places: registrar.cpp registers the entity handlers and history providers from ores.synthetic.core, and the per-entity event registrars in messaging/ wire the DB-notify to NATS publish chain for each changed event. The feed control plane (feed configuration, feed start and stop, folder feed control, IR curve preview, simulation, and vintage validity handlers) also lives here.

3. Inputs

  • Configuration file: NATS server URL and environment settings.
  • NATS request messages for entity CRUD, feed configuration and control, simulation, and preview.

4. Outputs

  • A running NATS service handling all synthetic data subjects.
  • NATS response messages returned to callers.
  • Structured logs via ores.logging.

5. Entry points

  • src/main.cpp — process entry point.
  • src/app/ — application bootstrap and dependency injection.
  • src/registrar.cpp — handler and history provider composition.
  • src/messaging/ — per-entity event registrars.

6. Dependencies

  • ores.synthetic.core — all entity handlers and services.
  • ores.synthetic.api — shared protocol types and feeds.
  • ores.logging — structured logging infrastructure.
  • nats.c — NATS client for connection management.

7. See also

Emacs 29.3 (Org mode 9.6.15)