Aqueduct is a protocol based on sending networked message channels through other networked message channels, built on QUIC.
Rather than competing with stateless protocols like HTTP and gRPC, where the creation of connections is considered an implementation detail, we aim to create a great experience for stateful network protocols, such as video games.
Our goal is to take the experience of programming with async mpsc channels, and extend it into a distributed context via simple, flexible, high-performance primitives.
See PROTOCOL.txt.
See docs/PRINCIPLES.md for more elaboration.
- Tractable primitives over automagic black boxes.
- Clear, language-agnostic protocol specification.
- Exploit the strengths of async Rust.
- Exploit the strengths of QUIC.
- Support stateful logic.
- Make application logic composable and localized.
- Facilitate low-latency designs.
- Facilitate secure designs.
- Facilitate fault-tolerant designs.
TODO
See the docs/ subdirectory.