google_cloud_pubsub/apiv1/
conn_pool.rs

1use google_cloud_gax::conn::{Channel, Environment};
2use google_cloud_gax::conn::{ConnectionManager as GRPCConnectionManager, ConnectionOptions, Error};
3
4pub const AUDIENCE: &str = "https://pubsub.googleapis.com/";
5pub const PUBSUB: &str = "pubsub.googleapis.com";
6pub const SCOPES: [&str; 2] = [
7    "https://www.googleapis.com/auth/cloud-platform",
8    "https://www.googleapis.com/auth/pubsub",
9];
10
11#[derive(Debug)]
12pub struct ConnectionManager {
13    inner: GRPCConnectionManager,
14}
15
16impl ConnectionManager {
17    pub async fn new(
18        pool_size: usize,
19        domain: &str,
20        environment: &Environment,
21        conn_options: &ConnectionOptions,
22    ) -> Result<Self, Error> {
23        Ok(ConnectionManager {
24            inner: GRPCConnectionManager::new(pool_size, domain, AUDIENCE, environment, conn_options).await?,
25        })
26    }
27
28    pub fn num(&self) -> usize {
29        self.inner.num()
30    }
31
32    pub fn conn(&self) -> Channel {
33        self.inner.conn()
34    }
35}