pub enum RoutingError {
TabletMoved {
tablet_id: TabletId,
used_generation: u64,
current_generation: u64,
},
TabletSplit {
tablet_id: TabletId,
used_generation: u64,
current_generation: u64,
},
StaleMetadata {
tablet_id: TabletId,
used_generation: u64,
current_generation: u64,
},
}Expand description
A request arrived with a tablet generation that no longer matches (spec section 12.4). The gateway refreshes metadata and retries safe operations.
Variants§
TabletMoved
The tablet moved (or retired); refresh routing metadata.
Fields
TabletSplit
The tablet is mid-split; retry once the split publishes.
Fields
StaleMetadata
The request’s routing metadata is stale for any other reason.
Implementations§
Source§impl RoutingError
impl RoutingError
Sourcepub fn category(&self) -> ErrorCategory
pub fn category(&self) -> ErrorCategory
The stable error category the gateway maps this onto (spec sections 9.7, 12.4); all three refresh routing metadata and retry safe operations.
Trait Implementations§
Source§impl Clone for RoutingError
impl Clone for RoutingError
Source§fn clone(&self) -> RoutingError
fn clone(&self) -> RoutingError
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 moreSource§impl Debug for RoutingError
impl Debug for RoutingError
Source§impl Display for RoutingError
impl Display for RoutingError
impl Eq for RoutingError
Source§impl Error for RoutingError
impl Error for RoutingError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl PartialEq for RoutingError
impl PartialEq for RoutingError
impl StructuralPartialEq for RoutingError
Auto Trait Implementations§
impl Freeze for RoutingError
impl RefUnwindSafe for RoutingError
impl Send for RoutingError
impl Sync for RoutingError
impl Unpin for RoutingError
impl UnsafeUnpin for RoutingError
impl UnwindSafe for RoutingError
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request