pub struct Builder<M> { /* private fields */ }
Expand description
A builder for a connection pool.
Implementations§
source§impl<M: Manager> Builder<M>
impl<M: Manager> Builder<M>
sourcepub fn new() -> Self
pub fn new() -> Self
Constructs a new Builder
.
Parameters are initialized with their default values.
sourcepub fn max_open(self, max_open: u64) -> Self
pub fn max_open(self, max_open: u64) -> Self
Sets the maximum number of connections managed by the pool.
- 0 means unlimited.
- Defaults to 10.
sourcepub fn max_idle(self, max_idle: u64) -> Self
pub fn max_idle(self, max_idle: u64) -> Self
Sets the maximum idle connection count maintained by the pool.
The pool will maintain at most this many idle connections
at all times, while respecting the value of max_open
.
- 0 means unlimited (limited only by
max_open
). - Defaults to 2.
sourcepub fn test_on_check_out(self, health_check: bool) -> Builder<M>
pub fn test_on_check_out(self, health_check: bool) -> Builder<M>
If true, the health of a connection will be verified via a call to
Manager::check
before it is checked out of the pool.
- Defaults to true.
sourcepub fn max_lifetime(self, max_lifetime: Option<Duration>) -> Self
pub fn max_lifetime(self, max_lifetime: Option<Duration>) -> Self
Sets the maximum lifetime of connections in the pool.
Expired connections may be closed lazily before reuse.
None
means reuse forever.- Defaults to
None
.
Panics
Panics if max_lifetime
is the zero Duration
.
sourcepub fn max_idle_lifetime(self, max_idle_lifetime: Option<Duration>) -> Self
pub fn max_idle_lifetime(self, max_idle_lifetime: Option<Duration>) -> Self
Sets the maximum lifetime of connection to be idle in the pool, resetting the timer when connection is used.
Expired connections may be closed lazily before reuse.
None
means reuse forever.- Defaults to
None
.
Panics
Panics if max_idle_lifetime
is the zero Duration
.
sourcepub fn get_timeout(self, get_timeout: Option<Duration>) -> Self
pub fn get_timeout(self, get_timeout: Option<Duration>) -> Self
Sets the get timeout used by the pool.
Calls to Pool::get
will wait this long for a connection to become
available before returning an error.
None
means never timeout.- Defaults to 30 seconds.
Panics
Panics if connection_timeout
is the zero duration
sourcepub fn health_check_interval(
self,
health_check_interval: Option<Duration>
) -> Self
pub fn health_check_interval( self, health_check_interval: Option<Duration> ) -> Self
Sets the interval how often a connection will be checked when returning
an existing connection from the pool. If set to None
, a connection is
checked every time when returning from the pool. Must be used together
with test_on_check_out
set to true
, otherwise does nothing.
None
means a connection is checked every time when returning from the pool.- Defaults to
None
.
Panics
Panics if connection_timeout
is the zero duration