pub trait Pool: Send + Sync {
Show 17 methods
// Required methods
fn get_id(&self) -> &str;
fn set_id(&mut self, id: &str);
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 Strategy>;
fn set_strategy(&mut self, strategy: Arc<dyn Strategy>);
// Provided methods
fn set_keepalive(&self, _: Option<Duration>) { ... }
fn get_keepalive(&self) -> Option<Duration> { ... }
fn add_backend(&self, id: Option<u32>, addr: Address) { ... }
fn get_backend(&self, key: &str) -> Option<BackendState> { ... }
fn remove_backend(&self, addr: &Address) -> bool { ... }
fn get_backends(&self) -> Vec<BackendState> { ... }
fn get_backend_by_id(&self, id: u32) -> Option<BackendState> { ... }
fn get_backend_by_code(&self, code: u64) -> Option<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 Strategy>
fn get_strategy(&self) -> Arc<dyn Strategy>
获取转发策略
Sourcefn set_strategy(&mut self, strategy: Arc<dyn Strategy>)
fn set_strategy(&mut self, strategy: Arc<dyn Strategy>)
设置策略
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, id: Option<u32>, addr: Address)
fn add_backend(&self, id: Option<u32>, addr: Address)
添加一个后端地址
Sourcefn get_backend(&self, key: &str) -> Option<BackendState>
fn get_backend(&self, key: &str) -> Option<BackendState>
根据策略获取一个后端
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>
获取所有后端地址切片