pub struct Observation { /* private fields */ }Expand description
服务观察凭据。变更通知可合并,当前有效性始终从固定状态槽重新读取。
Implementations§
Source§impl Observation
impl Observation
Sourcepub fn snapshot(&self, strict: bool) -> Result<Snapshot>
pub fn snapshot(&self, strict: bool) -> Result<Snapshot>
业务作用:按当前资格读取完整快照,严格调用可拒绝任何最近一次查询错误。
参数说明:strict 为 true 时不接受异常宽限。
返回:有效证据快照;关闭、超龄或撤权不返回旧路由。
Sourcepub async fn changed(&mut self, deadline: Instant) -> Result<()>
pub async fn changed(&mut self, deadline: Instant) -> Result<()>
业务作用:等待证据变化或有效期结束,避免无变化时永久保留旧值。
参数说明:deadline 是本次等待上限。
返回:收到通知或真实证据期限到达时成功,调用方须重新读取 snapshot;关闭或仅调用方等待超时返回错误,静态证据没有到期期限。
Sourcepub fn submit_if_current<T>(
&self,
instance: &Instance,
submit: impl FnOnce() -> T,
) -> Result<T>
pub fn submit_if_current<T>( &self, instance: &Instance, submit: impl FnOnce() -> T, ) -> Result<T>
业务作用:在撤权共用的同步保护范围内提交一次传输。
参数说明:instance 必须仍是当前健康实例;submit 不得阻塞或重入发现接口。
返回:资格仍成立时执行回调;否则不提交。
Sourcepub fn submit_if_current_strict<T>(
&self,
instance: &Instance,
submit: impl FnOnce() -> T,
) -> Result<T>
pub fn submit_if_current_strict<T>( &self, instance: &Instance, submit: impl FnOnce() -> T, ) -> Result<T>
业务作用:在强一致业务提交处同时拒绝最新查询失败和候选撤销,不使用异常宽限。
参数说明:instance 是此前选中的完整实例,submit 是不阻塞且不重入的同步提交。
返回:当前完整证据允许该候选才执行动作。
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for Observation
impl !UnwindSafe for Observation
impl Freeze for Observation
impl Send for Observation
impl Sync for Observation
impl Unpin for Observation
impl UnsafeUnpin for Observation
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more