Struct google_cloud_spanner::session::SessionManager
source · pub struct SessionManager { /* private fields */ }Implementations§
source§impl SessionManager
impl SessionManager
sourcepub async fn new(
database: impl Into<String>,
conn_pool: ConnectionManager,
config: SessionConfig
) -> Result<SessionManager, Status>
pub async fn new(
database: impl Into<String>,
conn_pool: ConnectionManager,
config: SessionConfig
) -> Result<SessionManager, Status>
Examples found in repository?
src/client.rs (line 200)
186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205
pub async fn new_with_config(
database: impl Into<String>,
config: ClientConfig,
) -> Result<Self, InitializationError> {
if config.session_config.max_opened > config.channel_config.num_channels * 100 {
return Err(InitializationError::InvalidConfig(format!(
"max session size is {} because max session size is 100 per gRPC connection",
config.channel_config.num_channels * 100
)));
}
let environment = Environment::from_project(config.project).await?;
let pool_size = config.channel_config.num_channels;
let conn_pool = ConnectionManager::new(pool_size, &environment, config.endpoint.as_str()).await?;
let session_manager = SessionManager::new(database, conn_pool, config.session_config).await?;
Ok(Client {
sessions: Arc::new(session_manager),
})
}sourcepub fn num_opened(&self) -> usize
pub fn num_opened(&self) -> usize
pub fn session_waiters(&self) -> usize
sourcepub async fn get(&self) -> Result<ManagedSession, SessionError>
pub async fn get(&self) -> Result<ManagedSession, SessionError>
Auto Trait Implementations§
impl !RefUnwindSafe for SessionManager
impl Send for SessionManager
impl Sync for SessionManager
impl Unpin for SessionManager
impl !UnwindSafe for SessionManager
Blanket Implementations§
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request