use std::time::Duration;
use crate::Runtime;
#[derive(Clone, Copy, Debug)]
#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
pub struct PoolConfig {
pub max_size: usize,
pub timeout: Option<Duration>,
#[cfg_attr(feature = "serde", serde(skip))]
pub runtime: Option<Runtime>,
}
impl PoolConfig {
#[must_use]
pub fn new(max_size: usize) -> Self {
Self {
max_size,
timeout: None,
runtime: None,
}
}
}
impl Default for PoolConfig {
fn default() -> Self {
Self::new(crate::util::get_default_pool_max_size())
}
}