3 个版本

0.1.2 2021年4月23日
0.1.1 2021年4月19日
0.1.0 2021年4月16日

#69 in #calls

MIT/Apache

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