Crate siderite[−][src]
A simple wrapper for the Meteor DDP protocol.
let connection = siderite::Connection::connect("wss://example.com/websocket").await?; // Make a RPC task in an independant task: let handle = connection.handle(); tokio::spawn(async move { let r = handle.call("login", vec!["username".into(), "my-secret-token".into()]) .await?; // this throws if the RPC call could not complete .map_err(|e| eprintln!("Login failed with reason: {}", e))? ... }); // Consume the stream while let Some(msg) = connection.recv().await { match msg { ServerMessage::Added{..} => { ... } } }
Re-exports
pub use connection::Connection; | |
pub use connection::Handle; | |
pub use protocol::ClientMessage; | |
pub use protocol::ServerMessage; | |
pub use protocol::Timestamp; |
Modules
connection | This offers an async interface for connecting to a DDP endpoint and exchange messages. |
protocol | This contains the message types defined in the DDP spec
This module contains the |