pub trait Pool: Send + Sync {
// Required methods
fn set_max_conn(&self, max: Option<usize>);
fn get_max_conn(&self) -> Option<usize>;
fn get_cur_conn(&self) -> usize;
fn get_strategy(&self) -> Arc<dyn LbStrategy>;
// Provided methods
fn id(&self) -> &str { ... }
fn set_keepalive(&self, _: Option<Duration>) { ... }
fn get_keepalive(&self) -> Option<Duration> { ... }
fn add_backend(&self, addr: Address) { ... }
fn remove_backend(&self, addr: &Address) -> bool { ... }
fn get_backends(&self) -> Vec<BackendState> { ... }
fn use_tls(&self, _: bool) { ... }
fn tls(&self) -> bool { ... }
}Required Methods§
Sourcefn set_max_conn(&self, max: Option<usize>)
fn set_max_conn(&self, max: Option<usize>)
设置最大连接数
Sourcefn get_max_conn(&self) -> Option<usize>
fn get_max_conn(&self) -> Option<usize>
获取最大连接数
Sourcefn get_cur_conn(&self) -> usize
fn get_cur_conn(&self) -> usize
获取当前的连接数
Sourcefn get_strategy(&self) -> Arc<dyn LbStrategy>
fn get_strategy(&self) -> Arc<dyn LbStrategy>
获取转发策略
Provided Methods§
Sourcefn set_keepalive(&self, _: Option<Duration>)
fn set_keepalive(&self, _: Option<Duration>)
设置空闲连接保留时长
Sourcefn get_keepalive(&self) -> Option<Duration>
fn get_keepalive(&self) -> Option<Duration>
获取空闲连接保留时长
Sourcefn add_backend(&self, addr: Address)
fn add_backend(&self, addr: Address)
添加一个后端地址
Sourcefn remove_backend(&self, addr: &Address) -> bool
fn remove_backend(&self, addr: &Address) -> bool
移除一个后端地址
Sourcefn get_backends(&self) -> Vec<BackendState>
fn get_backends(&self) -> Vec<BackendState>
获取所有后端地址切片