[−][src]Struct reool::config::Config
A configuration for creating a MultiNodePool
.
You should prefer using the MultiNodePool::builder()
function.
Fields
desired_pool_size: usize
The number of connections the pool should initially have and try to maintain
checkout_timeout: Option<Duration>
The timeout for a checkout if no specific timeout is given with a checkout.
backoff_strategy: BackoffStrategy
The BackoffStrategy
to use when retrying on
failures to create new connections
reservation_limit: Option<usize>
The maximum length of the queue for waiting checkouts when no idle connections are available
stats_interval: Duration
The interval in which the pool will send statistics to the instrumentation
activation_order: ActivationOrder
Defines the ActivationOrder
in which idle connections are
activated.
Default is ActivationOrder::FiFo
min_required_nodes: usize
The minimum required nodes to start
connect_to_nodes: Vec<String>
The nodes to connect To
node_pool_strategy: NodePoolStrategy
Sets the NodePoolStrategy
to be used when creating the pool.
pool_per_node_multiplier: u32
When pool per node is created, sets a multiplier for the amount of pools per node to be created.
Other values will be adjusted if the multiplier is > 1:
reservation_limit
: Stays zero if zero, otherwise (reservation_limit
/multiplier) +1desired_pool_size
: (desired_pool_size
/multiplier) +1
Methods
impl Config
[src]
pub fn desired_pool_size(self, v: usize) -> Self
[src]
Sets the number of connections the pool should initially have and try to maintain
pub fn checkout_timeout(self, v: Option<Duration>) -> Self
[src]
Sets the timeout for a checkout if no specific timeout is given with a checkout.
pub fn backoff_strategy(self, v: BackoffStrategy) -> Self
[src]
Sets the BackoffStrategy
to use when retrying on
failures to create new connections
pub fn reservation_limit(self, v: Option<usize>) -> Self
[src]
Sets the maximum length of the queue for waiting checkouts when no idle connections are available
pub fn stats_interval(self, v: Duration) -> Self
[src]
The interval in which the pool will send statistics to the instrumentation
pub fn activation_order(self, v: ActivationOrder) -> Self
[src]
Defines the ActivationOrder
in which idle connections are
activated.
Default is ActivationOrder::FiFo
pub fn min_required_nodes(self, v: usize) -> Self
[src]
Sets the maximum length of the queue for waiting checkouts when no idle connections are available
pub fn connect_to_nodes(self, v: Vec<String>) -> Self
[src]
The Redis nodes to connect to
pub fn connect_to_node<T: Into<String>>(self, v: T) -> Self
[src]
The Redis node to connect to
pub fn node_pool_strategy(self, v: NodePoolStrategy) -> Self
[src]
Sets the NodePoolStrategy
to be used when creating the pool.
pub fn pool_per_node_multiplier(self, v: u32) -> Self
[src]
When pool per node is created, sets a multiplier for the amount of pools per node to be created.
Other values will be adjusted if the multiplier is > 1:
reservation_limit
: Stays zero if zero, otherwise (reservation_limit
/multiplier) +1desired_pool_size
: (desired_pool_size
/multiplier) +1
pub fn update_from_environment(
&mut self,
prefix: Option<&str>
) -> Result<(), InitializationError>
[src]
&mut self,
prefix: Option<&str>
) -> Result<(), InitializationError>
Updates this configuration from the environment.
If no prefix
is set all the given env key start with REOOL_
.
Otherwise the prefix is used with an automatically appended _
.
DESIRED_POOL_SIZE
:usize
. Omit if you do not want to update the valueCHECKOUT_TIMEOUT_MS
:u64
or"NONE"
. Omit if you do not want to update the valueRESERVATION_LIMIT
:usize
or"NONE"
. Omit if you do not want to update the valueSTATS_INTERVAL_MS
:u64
. Omit if you do not want to update the valueACTIVATION_ORDER
:string
. Omit if you do not want to update the valueMIN_REQUIRED_NODES
:usize
. Omit if you do not want to update the valueCONNECT_TO
:[String]
. Separated by;
. Omit if you do not want to update the valueNODE_POOL_STRATEGY
: Omit if you do not want to update the valuePOOL_PER_NODE_MULTIPLIER
: Omit if you do not want to update the value
pub fn builder(&self) -> Builder
[src]
Create a Builder
initialized with the values from this Config
Trait Implementations
Auto Trait Implementations
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnwindSafe for Config
impl RefUnwindSafe for Config
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,