pub enum SyncNackError {
NotLeader = 1,
BadRange = 2,
Backpressure = 3,
ChannelClosed = 4,
}Expand description
Typed rejection error in SyncNack. Replicas key their retry
policy on the variant — never silently treat as transport-level
failure (the reliable-stream layer surfaces transport errors
separately).
Variants§
NotLeader = 1
Receiver is not the leader for this channel. Replica should
re-resolve leadership via Mesh::find_chain_holders.
BadRange = 2
since_seq lies outside the leader’s retained range. Replica
should trim its local tail and retry from the leader’s first
available seq.
Backpressure = 3
Leader is currently saturated. Replica should exponentially back off and retry the same request.
ChannelClosed = 4
Channel was closed. Replica withdraws its role and emits a metric.
Trait Implementations§
Source§impl Clone for SyncNackError
impl Clone for SyncNackError
Source§fn clone(&self) -> SyncNackError
fn clone(&self) -> SyncNackError
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for SyncNackError
Source§impl Debug for SyncNackError
impl Debug for SyncNackError
impl Eq for SyncNackError
Source§impl PartialEq for SyncNackError
impl PartialEq for SyncNackError
impl StructuralPartialEq for SyncNackError
Auto Trait Implementations§
impl Freeze for SyncNackError
impl RefUnwindSafe for SyncNackError
impl Send for SyncNackError
impl Sync for SyncNackError
impl Unpin for SyncNackError
impl UnsafeUnpin for SyncNackError
impl UnwindSafe for SyncNackError
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.