Trait Pool

Source
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§

Source

fn set_max_conn(&self, max: Option<usize>)

设置最大连接数

Source

fn get_max_conn(&self) -> Option<usize>

获取最大连接数

Source

fn get_cur_conn(&self) -> usize

获取当前的连接数

Source

fn get_strategy(&self) -> Arc<dyn LbStrategy>

获取转发策略

Provided Methods§

Source

fn id(&self) -> &str

id

Source

fn set_keepalive(&self, _: Option<Duration>)

设置空闲连接保留时长

Source

fn get_keepalive(&self) -> Option<Duration>

获取空闲连接保留时长

Source

fn add_backend(&self, addr: Address)

添加一个后端地址

Source

fn remove_backend(&self, addr: &Address) -> bool

移除一个后端地址

Source

fn get_backends(&self) -> Vec<BackendState>

获取所有后端地址切片

Source

fn use_tls(&self, _: bool)

Source

fn tls(&self) -> bool

Implementors§