15个版本 (9个破坏性更新)
0.10.1 | 2020年3月11日 |
---|---|
0.10.0 | 2019年3月3日 |
0.9.0 | 2019年2月15日 |
0.6.1 | 2018年12月5日 |
0.4.0 | 2018年7月9日 |
#55 in #rabbitmq
每月下载 32 次
35KB
254 代码行
已弃用,请直接使用lapin
lib.rs
:
lapin-futures-openssl
这个库提供了openssl与lapin-futures库的良好集成。它使用amq-protocol
URI解析功能,并添加了connect
和connect_cancellable
方法到AMQPUri
,这将为您提供一个lapin_futures::client::Client
和一个可选的lapin_futures::client::HeartbeatHandle
,它们都被封装在一个Future
中。
它自动检测您是否使用amqp
或amqps
,并使用openssl作为SSL引擎打开原始TcpStream
或SslStream
。
连接和打开通道
use env_logger;
use failure::Error;
use futures::future::Future;
use lapin_futures_openssl::{AMQPConnectionOpensslExt, lapin};
use lapin::channel::ConfirmSelectOptions;
use tokio;
fn main() {
env_logger::init();
tokio::run(
"amqps://user:pass@host/vhost?heartbeat=10".connect_cancellable(|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);
})
);
}
依赖项
~21MB
~397K SLoC