Crate oa_gateway_core

Source
Expand description

Protocol-agnostic routing engine.

The core never parses a payload and never names a protocol. Adapters map native frames onto Envelope values and subscribe through Engine. Matching is a RouteKey (topic plus optional type hint). Fan-out is try_send: a slow subscriber loses the message rather than blocking the publisher.

Adding a protocol means adding an adapter crate, not changing this one. The plugin contract is oa_gateway_adapter::Adapter; the walkthrough is docs/writing-an-adapter.md.

Modulesยง

  • engine ๐Ÿ”’
  • envelope ๐Ÿ”’
  • headers ๐Ÿ”’
    Gateway-wide envelope header names (oag.*).
  • ids ๐Ÿ”’
    Newtypes so an adapter id, a subscription id, and a message id cannot be mixed at the call site.
  • route ๐Ÿ”’
    Addressing key used by crate::Engine.

Structsยง

Enumsยง

Constantsยง