| River Server |
✔️ |
|
| River Client |
❌ |
|
| Pluggable Codecs |
✔️ |
JSON and MessagePack codecs are provided as well as support for custom codecs |
| Pluggable Transports |
❌ |
WebSocket support is hardcoded in with no other transport options yet |
rpc procedures |
✔️ |
|
upload procedures |
✔️ |
|
subscription procedures |
❔ |
Mostly supported, however server-side close semantics are not fully correct |
stream procedures |
❔ |
Mostly supported, however server-side close semantics are not fully correct |
| Transparent Reconnection |
❌ |
See #1 |
| Strong Typing for procedures |
❌ |
Currently only message headers and control messages are strongly typed, procedures get dynamic values |
| Heartbeats |
❔ |
Server sends heartbeats but does not deal with unresponsive clients yet |
| Error Recovery |
❔ |
Unwrap is still widely used internally, better error handling using thiserror (instead of anyhow) is needed |
| Handshake Metadata Validation |
❌ |
|