Current zenoh protocol definition makes extensibility and future backward compatibility hard to achieve in a multitude of scenarios.
Therefore, a new wire protocol definition is required to minimise any future changes.
In particular, the new protocol definition needs to provide:
[x] The capability of introducing extensions without requiring the partial or complete deployment of a zenoh infrastructure
[x] The support of multiple routing protocols that can be plugged in without completely changing the wire protocol
[x] Support for adding custom payload to queries
[x] More fine-grain QoS control
[ ] The possibility of performing put operations with acknowledgments
[ ] Allow marking of express traffic to not be batched
This would allow in the future to support:
Operation and Management mechanisms for live troubleshooting of a zenoh infrastructure
Session migration and mobility
Multicast operations
Different consolidation mechanisms for storages
Intended outcome
The new zenoh protocol will be implemented in zenoh and zenoh-pico and the two implementations will be able to interoperate.
How will it work?
Users will not directly interact with the new protocol.
This is part of the Zenoh internal implementation.
Summary
Current zenoh protocol definition makes extensibility and future backward compatibility hard to achieve in a multitude of scenarios. Therefore, a new wire protocol definition is required to minimise any future changes.
In particular, the new protocol definition needs to provide:
This would allow in the future to support:
Intended outcome
The new zenoh protocol will be implemented in zenoh and zenoh-pico and the two implementations will be able to interoperate.
How will it work?
Users will not directly interact with the new protocol. This is part of the Zenoh internal implementation.