3 个版本
0.1.2 | 2021年4月23日 |
---|---|
0.1.1 | 2021年4月19日 |
0.1.0 | 2021年4月16日 |
#69 in #calls
20KB
396 行代码(不包括注释)
siderite
Meteor DDP 的 Rust 客户端库。
目前功能极其有限(没有实际的对象同步),但可以用于手动连接、进行 RPC 调用和接收订阅消息。
lib.rs
:
对 Meteor DDP 协议的一个简单封装。
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{..} => { ... }
}
}
依赖项
~14–26MB
~486K SLoC