-
-
Notifications
You must be signed in to change notification settings - Fork 11
Open
Description
Generalize Client Communication Stack to Support TCP/UDP and JSON/Binary
Currently, our entire client communication stack assumes TCP as the sole transport protocol and JSON as the default serialization format. This limits flexibility, performance tuning, and compatibility with various systems and use cases.
✨ Goal
Refactor the client communication stack to support any combination of:
- Protocols: TCP and UDP
- Serialization formats: JSON and Binary
This would enable:
- Low-latency UDP event streams
- High-performance binary protocols
- Compile-time safety and flexibility for developers
🔧 Suggested Approach
Refer to the examples added in the Horizon Event System:
simple_protocol_demo.rs
: TCP/UDP with JSON/binary serializationsimple_udp_demo.rs
,udp_event_example.rs
: Binary deserialization and mock UDP handlingzero_cost_example.rs
: Compile-time enforcement of protocol/serialization combinations
✅ Acceptance Criteria
- Transport layer can be either TCP or UDP
- Serialization layer can be either JSON or binary
- Compile-time validation of supported combinations
- Minimal to zero runtime overhead
- Backward-compatible fallback to TCP + JSON
Copilot
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
In progress