bb8-lapin

Crates.iobb8-lapin
lib.rsbb8-lapin
version0.5.0
sourcesrc
created_at2020-10-04 07:24:09.321374
updated_at2023-03-28 15:38:03.400591
descriptionr2d2-lapin, but for async tokio based connections
homepage
repositoryhttps://github.com/adrianbenavides/bb8-lapin
max_upload_size
id295979
size50,029
Adrian Benavides (adrianbenavides)

documentation

README

docs crates.io-version tests audit crates.io-license

Lapin support for the bb8 connection pool.

Usage

See the documentation of bb8 for the details on how to use the connection pool.

use bb8_lapin::prelude::*;

async fn example() {
    let manager = LapinConnectionManager::new("amqp://guest:guest@127.0.0.1:5672//", ConnectionProperties::default());
    let pool = bb8::Pool::builder()
        .max_size(15)
        .build(manager)
        .await
        .unwrap();
    for _ in 0..20 {
        let pool = pool.clone();
        tokio::spawn(async move {
            let conn = pool.get().await.unwrap();
            // use the connection
            // it will be returned to the pool when it falls out of scope.
        });
    }
}

See files in the examples folder for more examples.

Build-time Requirements

The crate is tested on ubuntu-latest against the nightly and stable rust versions. It is possible that it works with older versions as well but this is not tested. Please see the details of the bb8 and lapin crates about their requirements.

Commit count: 16

cargo fmt