pub struct ScalingManager { /* private fields */ }Expand description
Manages all database scaling features
Implementations§
Source§impl ScalingManager
impl ScalingManager
Sourcepub fn new(
sharding_config: ShardingConfig,
primary: String,
replicas: Vec<ReplicaConfig>,
pool_config: PoolConfig,
) -> Self
pub fn new( sharding_config: ShardingConfig, primary: String, replicas: Vec<ReplicaConfig>, pool_config: PoolConfig, ) -> Self
Create a new scaling manager
Sourcepub fn get_write_connection(&self, key: &str) -> &str
pub fn get_write_connection(&self, key: &str) -> &str
Get connection for write operation
Sourcepub async fn get_read_connection(
&self,
key: &str,
region: Option<&str>,
) -> String
pub async fn get_read_connection( &self, key: &str, region: Option<&str>, ) -> String
Get connection for read operation
Sourcepub fn get_all_shards(&self) -> Vec<&ShardConfig>
pub fn get_all_shards(&self) -> Vec<&ShardConfig>
Get all shards for scatter-gather
Sourcepub async fn health_check(&self)
pub async fn health_check(&self)
Health check
Auto Trait Implementations§
impl Freeze for ScalingManager
impl !RefUnwindSafe for ScalingManager
impl Send for ScalingManager
impl Sync for ScalingManager
impl Unpin for ScalingManager
impl UnsafeUnpin for ScalingManager
impl !UnwindSafe for ScalingManager
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more