pub struct RoutingHint { /* private fields */ }Expand description
The routing information a non-owner hands back so the caller can reach the owner — the payload of both a forward (where to relay) and a redirect (where to retry).
It carries the owner’s NodeIdentity plus the OwnershipEpoch and
CatalogVersion the decision was made at. The epoch/version let a
topology-aware client tell stale hints from fresh ones and avoid retry loops
against ownership that has since moved again (ADR 0037: routing “must consult
ownership metadata with an epoch/version”).
Implementations§
Source§impl RoutingHint
impl RoutingHint
pub fn collection(&self) -> &CollectionId
pub fn range_id(&self) -> RangeId
pub fn owner(&self) -> &NodeIdentity
pub fn epoch(&self) -> OwnershipEpoch
pub fn version(&self) -> CatalogVersion
Trait Implementations§
Source§impl Clone for RoutingHint
impl Clone for RoutingHint
Source§fn clone(&self) -> RoutingHint
fn clone(&self) -> RoutingHint
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 RoutingHint
impl Debug for RoutingHint
Source§impl Display for RoutingHint
impl Display for RoutingHint
impl Eq for RoutingHint
Source§impl PartialEq for RoutingHint
impl PartialEq for RoutingHint
Source§fn eq(&self, other: &RoutingHint) -> bool
fn eq(&self, other: &RoutingHint) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for RoutingHint
Auto Trait Implementations§
impl Freeze for RoutingHint
impl RefUnwindSafe for RoutingHint
impl Send for RoutingHint
impl Sync for RoutingHint
impl Unpin for RoutingHint
impl UnsafeUnpin for RoutingHint
impl UnwindSafe for RoutingHint
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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§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> 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