Trait qiniu_http_client::Chooser
source · [−]pub trait Chooser: Debug + Sync + Send {
fn choose(
&self,
ips: &[IpAddrWithPort],
opts: ChooseOptions<'_>
) -> ChosenResults;
fn feedback(&self, feedback: ChooserFeedback<'_>);
fn async_choose<'a>(
&'a self,
ips: &'a [IpAddrWithPort],
opts: ChooseOptions<'a>
) -> BoxFuture<'a, ChosenResults> { ... }
fn async_feedback<'a>(
&'a self,
feedback: ChooserFeedback<'a>
) -> BoxFuture<'a, ()> { ... }
}
Expand description
选择 IP 地址接口
还提供了对选择结果的反馈接口,用以修正自身选择逻辑,优化选择结果
同时提供阻塞接口和异步接口,异步接口则需要启用 async
功能
Required Methods
sourcefn choose(&self, ips: &[IpAddrWithPort], opts: ChooseOptions<'_>) -> ChosenResults
fn choose(&self, ips: &[IpAddrWithPort], opts: ChooseOptions<'_>) -> ChosenResults
选择 IP 地址列表
sourcefn feedback(&self, feedback: ChooserFeedback<'_>)
fn feedback(&self, feedback: ChooserFeedback<'_>)
反馈选择的 IP 地址列表的结果
Provided Methods
sourcefn async_choose<'a>(
&'a self,
ips: &'a [IpAddrWithPort],
opts: ChooseOptions<'a>
) -> BoxFuture<'a, ChosenResults>
fn async_choose<'a>(
&'a self,
ips: &'a [IpAddrWithPort],
opts: ChooseOptions<'a>
) -> BoxFuture<'a, ChosenResults>
Available on crate feature
async
only.异步选择 IP 地址列表
该方法的异步版本为 Self::async_choose
。
sourcefn async_feedback<'a>(
&'a self,
feedback: ChooserFeedback<'a>
) -> BoxFuture<'a, ()>
fn async_feedback<'a>(
&'a self,
feedback: ChooserFeedback<'a>
) -> BoxFuture<'a, ()>
Available on crate feature
async
only.异步反馈选择的 IP 地址列表的结果
Implementations on Foreign Types
sourceimpl<'b, T: 'b + Chooser + ?Sized> Chooser for &'b Twhere
&'b T: Debug + Sync + Send,
impl<'b, T: 'b + Chooser + ?Sized> Chooser for &'b Twhere
&'b T: Debug + Sync + Send,
fn choose(&self, ips: &[IpAddrWithPort], opts: ChooseOptions<'_>) -> ChosenResults
fn feedback(&self, feedback: ChooserFeedback<'_>)
sourcefn async_choose<'a>(
&'a self,
ips: &'a [IpAddrWithPort],
opts: ChooseOptions<'a>
) -> BoxFuture<'a, ChosenResults>
fn async_choose<'a>(
&'a self,
ips: &'a [IpAddrWithPort],
opts: ChooseOptions<'a>
) -> BoxFuture<'a, ChosenResults>
Available on crate feature
async
only.sourcefn async_feedback<'a>(
&'a self,
feedback: ChooserFeedback<'a>
) -> BoxFuture<'a, ()>
fn async_feedback<'a>(
&'a self,
feedback: ChooserFeedback<'a>
) -> BoxFuture<'a, ()>
Available on crate feature
async
only.sourceimpl<'b, T: 'b + Chooser + ?Sized> Chooser for &'b mut Twhere
&'b mut T: Debug + Sync + Send,
impl<'b, T: 'b + Chooser + ?Sized> Chooser for &'b mut Twhere
&'b mut T: Debug + Sync + Send,
fn choose(&self, ips: &[IpAddrWithPort], opts: ChooseOptions<'_>) -> ChosenResults
fn feedback(&self, feedback: ChooserFeedback<'_>)
sourcefn async_choose<'a>(
&'a self,
ips: &'a [IpAddrWithPort],
opts: ChooseOptions<'a>
) -> BoxFuture<'a, ChosenResults>
fn async_choose<'a>(
&'a self,
ips: &'a [IpAddrWithPort],
opts: ChooseOptions<'a>
) -> BoxFuture<'a, ChosenResults>
Available on crate feature
async
only.sourcefn async_feedback<'a>(
&'a self,
feedback: ChooserFeedback<'a>
) -> BoxFuture<'a, ()>
fn async_feedback<'a>(
&'a self,
feedback: ChooserFeedback<'a>
) -> BoxFuture<'a, ()>
Available on crate feature
async
only.sourceimpl<T: Chooser + ?Sized> Chooser for Box<T>where
Box<T>: Debug + Sync + Send,
impl<T: Chooser + ?Sized> Chooser for Box<T>where
Box<T>: Debug + Sync + Send,
fn choose(&self, ips: &[IpAddrWithPort], opts: ChooseOptions<'_>) -> ChosenResults
fn feedback(&self, feedback: ChooserFeedback<'_>)
sourcefn async_choose<'a>(
&'a self,
ips: &'a [IpAddrWithPort],
opts: ChooseOptions<'a>
) -> BoxFuture<'a, ChosenResults>
fn async_choose<'a>(
&'a self,
ips: &'a [IpAddrWithPort],
opts: ChooseOptions<'a>
) -> BoxFuture<'a, ChosenResults>
Available on crate feature
async
only.sourcefn async_feedback<'a>(
&'a self,
feedback: ChooserFeedback<'a>
) -> BoxFuture<'a, ()>
fn async_feedback<'a>(
&'a self,
feedback: ChooserFeedback<'a>
) -> BoxFuture<'a, ()>
Available on crate feature
async
only.sourceimpl<T: Chooser + ?Sized> Chooser for Rc<T>where
Rc<T>: Debug + Sync + Send,
impl<T: Chooser + ?Sized> Chooser for Rc<T>where
Rc<T>: Debug + Sync + Send,
fn choose(&self, ips: &[IpAddrWithPort], opts: ChooseOptions<'_>) -> ChosenResults
fn feedback(&self, feedback: ChooserFeedback<'_>)
sourcefn async_choose<'a>(
&'a self,
ips: &'a [IpAddrWithPort],
opts: ChooseOptions<'a>
) -> BoxFuture<'a, ChosenResults>
fn async_choose<'a>(
&'a self,
ips: &'a [IpAddrWithPort],
opts: ChooseOptions<'a>
) -> BoxFuture<'a, ChosenResults>
Available on crate feature
async
only.sourcefn async_feedback<'a>(
&'a self,
feedback: ChooserFeedback<'a>
) -> BoxFuture<'a, ()>
fn async_feedback<'a>(
&'a self,
feedback: ChooserFeedback<'a>
) -> BoxFuture<'a, ()>
Available on crate feature
async
only.sourceimpl<T: Chooser + ?Sized> Chooser for Arc<T>where
Arc<T>: Debug + Sync + Send,
impl<T: Chooser + ?Sized> Chooser for Arc<T>where
Arc<T>: Debug + Sync + Send,
fn choose(&self, ips: &[IpAddrWithPort], opts: ChooseOptions<'_>) -> ChosenResults
fn feedback(&self, feedback: ChooserFeedback<'_>)
sourcefn async_choose<'a>(
&'a self,
ips: &'a [IpAddrWithPort],
opts: ChooseOptions<'a>
) -> BoxFuture<'a, ChosenResults>
fn async_choose<'a>(
&'a self,
ips: &'a [IpAddrWithPort],
opts: ChooseOptions<'a>
) -> BoxFuture<'a, ChosenResults>
Available on crate feature
async
only.sourcefn async_feedback<'a>(
&'a self,
feedback: ChooserFeedback<'a>
) -> BoxFuture<'a, ()>
fn async_feedback<'a>(
&'a self,
feedback: ChooserFeedback<'a>
) -> BoxFuture<'a, ()>
Available on crate feature
async
only.