pub struct Builder<M: ManageConnection> { /* private fields */ }
Expand description
A builder for a connection pool.
Implementations
sourceimpl<M: ManageConnection> Builder<M>
impl<M: ManageConnection> Builder<M>
sourcepub fn new() -> Builder<M>
pub fn new() -> Builder<M>
Constructs a new Builder
.
Parameters are initialized with their default values.
sourcepub fn max_size(self, max_size: u32) -> Builder<M>
pub fn max_size(self, max_size: u32) -> Builder<M>
Sets the maximum number of connections managed by the pool.
Defaults to 10.
sourcepub fn min_idle(self, min_idle: Option<u32>) -> Builder<M>
pub fn min_idle(self, min_idle: Option<u32>) -> Builder<M>
Sets the minimum idle connection count maintained by the pool.
If set, the pool will try to maintain at least this many idle
connections at all times, while respecting the value of max_size
.
Defaults to None.
sourcepub fn test_on_check_out(self, test_on_check_out: bool) -> Builder<M>
pub fn test_on_check_out(self, test_on_check_out: bool) -> Builder<M>
If true, the health of a connection will be verified through a call to
ManageConnection::is_valid
before it is provided to a pool user.
Defaults to true.
sourcepub fn max_lifetime(self, max_lifetime: Option<Duration>) -> Builder<M>
pub fn max_lifetime(self, max_lifetime: Option<Duration>) -> Builder<M>
Sets the maximum lifetime of connections in the pool.
If set, connections will be closed at the next reaping after surviving past this duration.
If a connection reachs its maximum lifetime while checked out it will be closed when it is returned to the pool.
Defaults to 30 minutes.
sourcepub fn idle_timeout(self, idle_timeout: Option<Duration>) -> Builder<M>
pub fn idle_timeout(self, idle_timeout: Option<Duration>) -> Builder<M>
Sets the idle timeout used by the pool.
If set, idle connections in excess of min_idle
will be closed at the
next reaping after remaining idle past this duration.
Defaults to 10 minutes.
sourcepub fn connection_timeout(self, connection_timeout: Duration) -> Builder<M>
pub fn connection_timeout(self, connection_timeout: Duration) -> Builder<M>
Sets the connection timeout used by the pool.
Futures returned by Pool::get
will wait this long before giving up and
resolving with an error.
Defaults to 30 seconds.
sourcepub fn error_sink(self, error_sink: Box<dyn ErrorSink<M::Error>>) -> Builder<M>
pub fn error_sink(self, error_sink: Box<dyn ErrorSink<M::Error>>) -> Builder<M>
Set the sink for errors that are not associated with any particular operation on the pool. This can be used to log and monitor failures.
Defaults to NopErrorSink
.
sourcepub fn reaper_rate(self, reaper_rate: Duration) -> Builder<M>
pub fn reaper_rate(self, reaper_rate: Duration) -> Builder<M>
Used by tests
sourcepub fn connection_customizer(
self,
connection_customizer: Box<dyn CustomizeConnection<M::Connection, M::Error>>
) -> Builder<M>
pub fn connection_customizer(
self,
connection_customizer: Box<dyn CustomizeConnection<M::Connection, M::Error>>
) -> Builder<M>
Set the connection customizer to customize newly checked out connections
sourcepub async fn build(self, manager: M) -> Result<Pool<M>, M::Error>
pub async fn build(self, manager: M) -> Result<Pool<M>, M::Error>
Consumes the builder, returning a new, initialized Pool
.
The Pool
will not be returned until it has established its configured
minimum number of connections, or it times out.
sourcepub fn build_unchecked(self, manager: M) -> Pool<M>
pub fn build_unchecked(self, manager: M) -> Pool<M>
Consumes the builder, returning a new, initialized Pool
.
Unlike build
, this does not wait for any connections to be established
before returning.
Trait Implementations
Auto Trait Implementations
impl<M> !RefUnwindSafe for Builder<M>
impl<M> Send for Builder<M>
impl<M> Sync for Builder<M>
impl<M> Unpin for Builder<M> where
M: Unpin,
impl<M> !UnwindSafe for Builder<M>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more