1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
use mysql::Pool;
use uiuifree_elastic::Elasticsearch;

#[derive(Clone)]
pub struct ConnectionPool {
    mysql: Pool,
    elastic: Elasticsearch,
}

impl ConnectionPool {
    pub fn new(mysql: Pool, elastic: Elasticsearch) -> ConnectionPool {
        ConnectionPool { mysql, elastic }
    }
    pub fn elastic(&self) -> &Elasticsearch {
        &self.elastic
    }
    pub fn mysql(&self) -> &Pool {
        &self.mysql
    }
}

#[derive(Clone)]
pub struct ElasticPool {
    elastic: Elasticsearch,
}

impl ElasticPool {
    pub fn new(elastic: Elasticsearch) -> ElasticPool {
        ElasticPool { elastic }
    }
    pub fn elastic(&self) -> &Elasticsearch {
        &self.elastic
    }
}