use std::net::SocketAddr;
use std::sync::Arc;
use r2d2;
pub struct ConnectionPool<M: r2d2::ManageConnection> {
pool: Arc<r2d2::Pool<M>>,
addr: SocketAddr,
}
impl<M: r2d2::ManageConnection> ConnectionPool<M> {
pub fn new(pool: r2d2::Pool<M>, addr: SocketAddr) -> Self {
ConnectionPool {
pool: Arc::new(pool),
addr,
}
}
pub fn get_pool(&self) -> Arc<r2d2::Pool<M>> {
self.pool.clone()
}
pub fn get_addr(&self) -> SocketAddr {
self.addr
}
}