deadpool-amqprs 0.1.0

Dead simple async pool for amqprs
Documentation
pub mod config;

use amqprs::connection::{OpenConnectionArguments, Connection};
use deadpool::managed::{RecycleResult, RecycleError};
pub use deadpool::{async_trait, managed::{self, reexports::*}};

pub use config::Config;

pub struct Manager {
    con_args: OpenConnectionArguments
}

impl Manager {
    #[must_use]
    pub fn new(con_args: OpenConnectionArguments) -> Self {
        Self { con_args }
    }
}

#[async_trait]
impl managed::Manager for Manager {
    type Type = Connection;
    type Error = amqprs::error::Error;

    async fn create(&self) -> Result<Connection, Self::Error> {
        Ok(Connection::open(&self.con_args).await?)
    }

    async fn recycle(&self, conn: &mut Self::Type) -> RecycleResult<Self::Error> {
        Ok(())
    }
}