AMQP client library in Rust, with a clean, futures based API
Clone or download
kureuil and Keruspe Remove the (empty) build script from lapin_async
Code generation is now transparently handled by the amq_protocol crate,
thus the related resources in the assets/ folder were also deleted.
Latest commit 089a32a Nov 2, 2018

README.md

Build Status Coverage Status LICENSE Dependency Status

lapin, a Rust AMQP client library

this project is separated into two crates. See the READMEs in the subfolder for each library.

It follows the AMQP 0.9.1 specifications, targetting especially RabbitMQ. As this is a young project, only part of the specification is implemented now.

What you can do:

  • connect to a server, close the connection
  • create and close channels
  • using all the basic methods. That means you can publish messages, make a consumer, ack or reject messages
  • authentication method is only PLAIN for now

lapin-futures

Crates.io Version

a library with a futures based API, that you can use with tokio-core or futures-cpupool.

This is the recommended way to use lapin as an AMQP client.

lapin-futures is available on crates.io and can be included in your Cargo enabled project like this:

[dependencies]
lapin-futures = "^0.14"

Then include it in your code like this:

#[macro_use]
extern crate lapin_futures;

lapin-async

Crates.io Version

A low level library meant for usage in an event loop like one you'd build with mio. This library assumes non blocking IO.

lapin-async is available on crates.io and can be included in your Cargo enabled project like this:

[dependencies]
lapin-async = "^0.14"

Then include it in your code like this:

#[macro_use]
extern crate lapin_async;

TLS integration

You can use lapin-futures-rustls or lapin-futures-tls-api if you need to connect to a rabbitmq server using a TLS connection.