1 个不稳定版本
使用旧的 Rust 2015
0.1.0 | 2016年5月30日 |
---|
#41 in #nats
60KB
1.5K SLoC
nats-rs
仍在开发中
Rust 的 NATS 客户端
用法
连接
let mut conn = NatsConn::new(Config::default()).unwrap();
订阅
let channel_sub = conn.subscribe_channel("subject", Some("queue")).unwrap();
let message = channel_sub.receiver.recv().unwrap();
let async_sub = conn.subscribe_async("subject", None, move |message| {
println!("received message");
}).unwrap();
发布
conn.publish("subject", Some("reply"), b"data").unwrap();
let msg = Message {
// contents
}
conn.publish_message(msg).unwrap();
取消订阅
conn.unsubscribe(&sub).unwrap();
conn.auto_unsubscribe(&sub, 3).unwrap();
请求
let msg = conn.request("subject", b"data").unwrap();
TLS
let mut ssl_context = SslContext::new(SslMethod::Tlsv1_2).unwrap();
let path = Path::new("certs/ca.pem");
ssl_context.set_CA_file(&path).unwrap();
let config = config::Config {ssl_context: Some(ssl_context), ..Default::default()};
let mut conn = connection::NatsConn::new(config).unwrap();
依赖
~3.5–5MB
~130K SLoC