pub trait Reporter: Clone + Send + Sync {
// Required method
fn send(&self, state: ReportState);
// Provided methods
fn fork(&self) -> Self { ... }
fn sub(&self) -> Self { ... }
fn send_mut(&mut self, state: ReportState) { ... }
}
Expand description
一个异步报告特质,用来给宿主提供目前异步程序的处理状态
实现该特质时需要注意,当对象被克隆时,其响应也应当和原始对象一致。
当进行调用时,如不需要报告进度可以使用 None as Option<()>
(或本模块中的 NR
常量)来跳过报告
Required Methods§
sourcefn send(&self, state: ReportState)
fn send(&self, state: ReportState)
发送信息,并根据情况相继上报给原始对象
Provided Methods§
sourcefn send_mut(&mut self, state: ReportState)
fn send_mut(&mut self, state: ReportState)
发送信息,但是可变引用状态,并根据情况相继上报给原始对象
如果你的上报对象自身对不可变有限制可以考虑实现这个方法