cogo_redis/
pool.rs

1use std::sync::Arc;
2use cogo::chan;
3use cogo::std::sync::{Receiver, Sender, SyncQueue};
4use crate::codec_redis::Response;
5use crate::errors::Error;
6
7#[derive(Clone)]
8pub struct Pool {
9    // pub clients: SyncQueue<SimpleClient>,
10    pub chans: Arc<SyncQueue<(Sender<Result<Response, Error>>, Receiver<Result<Response, Error>>)>>,
11}
12
13impl Pool {
14    pub fn new() -> Self {
15        Self {
16            chans: Arc::new(SyncQueue::new())
17        }
18    }
19
20    pub fn channel(&self) {
21        let (s, r) = chan!();
22        self.chans.push((s.clone(), r.clone()));
23    }
24}