gcloud_pubsub/apiv1/
conn_pool.rs1use 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/";
6pub const PUBSUB: &str = "pubsub.googleapis.com";
8pub const SCOPES: [&str; 2] = [
9 "https://www.googleapis.com/auth/cloud-platform",
10 "https://www.googleapis.com/auth/pubsub",
11];
12
13#[derive(Debug)]
14pub struct ConnectionManager {
15 inner: GRPCConnectionManager,
16}
17
18impl ConnectionManager {
19 pub async fn new(
20 pool_size: usize,
21 domain: &str,
22 environment: &Environment,
23 conn_options: &ConnectionOptions,
24 ) -> Result<Self, Error> {
25 let endpoint_url = format!("https://{}/", domain);
27 Ok(ConnectionManager {
28 inner: GRPCConnectionManager::new(pool_size, domain, &endpoint_url, environment, conn_options).await?,
29 })
30 }
31
32 pub fn num(&self) -> usize {
33 self.inner.num()
34 }
35
36 pub fn conn(&self) -> Channel {
37 self.inner.conn()
38 }
39}