Skip to content

PotentialStyx/rapids

Repository files navigation

Crates.io Version docs.rs License: AGPL-3.0-only

Rapids

An alpha server implementation of the River protocol in rust.

Feature Support

Feature Support Comments
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