Skip to content

Latest commit

 

History

History

design

README.md

Design Documents

This directory contains high-level design documents from early 2026 discussions. Some are being actively tracked in the roadmap; others will be reworked as the project evolves. They represent thinking-in-progress rather than finalized specifications.

Documents

Comprehensive YAML-based configuration design with hierarchical scope (global → listeners → services → tracks), a runtime API for hot reload, parameter lifecycle classification (static / reload:newconn / reload:newsub / reload:immediate), and validation tooling. Current format: docs/config.md.

Config reload via SIGHUP and a runtime management API for dynamic updates without restarts. Graceful binary restart uses eBPF-based connection steering to hand off live connections.

Hierarchical cache composition abstraction allowing caches to delegate fetches up a chain (memory → disk → remote → origin). Open questions on filter support and coroutine memory trade-offs.

Provider abstraction (RelayProvider interface) for multi-provider routing with local fallback and remote fan-out semantics. Covers concrete implementations (UpstreamProvider, MeshProvider), bidirectional session handling, and a migration path for namespace/track resolution across a relay fleet.

Multi-publisher deduplication design: deduplicates overlapping object data from competing publishers using a shared cache, with per-publisher metrics and seamless failover. Open questions remain around streaming objects and thread safety.

Seven-phase plan to wrap moxygen's Publisher/Subscriber interfaces in a C++20 standard library API with no folly exposure. Targets API modernization; all phases are specified but not yet implemented.