22 个版本 (破坏性)
| 0.19.1 | 2020 年 3 月 11 日 |
|---|---|
| 0.19.0 | 2019 年 5 月 27 日 |
| 0.18.0 | 2019 年 3 月 3 日 |
| 0.14.1 | 2018 年 12 月 5 日 |
| 0.3.0 | 2017 年 7 月 13 日 |
#58 in #rabbitmq
每月下载量 41 次
用于 批处理
34KB
254 行
已弃用,请直接使用 lapin
lib.rs:
lapin-futures-tls-api
该库提供了将 tls-api 与 lapin-futures 库集成得很好的功能。它使用 amq-protocol URI 解析功能,并将 connect 和 connect_cancellable 方法添加到 AMQPUri 中,这将为您提供通过 lapin_futures::client::Client 和可选的 lapin_futures::client::HeartbeatHandle 包装在 Future 中的功能。
它会自动检测您是否使用 amqp 或 amqps,并使用 tls-api 作为 SSL API 打开原始 TcpStream 或 TlsStream。
连接和打开通道
use env_logger;
use failure::Error;
use futures::future::Future;
use lapin_futures_tls_api::{AMQPConnectionTlsApiExt, lapin};
use lapin::channel::ConfirmSelectOptions;
use tokio;
fn main() {
env_logger::init();
tokio::run(
"amqps://user:pass@host/vhost?heartbeat=10".connect_cancellable::<tls_api_stub::TlsConnector, _>(|err| {
eprintln!("heartbeat error: {:?}", err);
}).map_err(Error::from).and_then(|(client, heartbeat_handle)| {
println!("Connected!");
client.create_confirm_channel(ConfirmSelectOptions::default()).map(|channel| (channel, heartbeat_handle)).and_then(|(channel, heartbeat_handle)| {
println!("Stopping heartbeat.");
heartbeat_handle.stop();
println!("Closing channel.");
channel.close(200, "Bye")
}).map_err(Error::from)
}).map_err(|err| {
eprintln!("amqp error: {:?}", err);
})
);
}
依赖项
~19MB
~358K SLoC