pub enum DispatchPlan {
LocalDatastore,
Replicas {
targets: Vec<ReplicaTarget>,
consistency: ConsistencyLevel,
},
NoTargets,
Drop,
}Expand description
Dispatch plan produced by the cluster dispatcher.
LocalDatastore is the early-return branch the reference
engine takes when the routing tag is ROUTING_LOCAL_NODE_ONLY
(or when the request is destined for the local node and the
topology has only one peer); the per-connection driver then
hands the request off to its server-side connection pool.
Variants§
LocalDatastore
Hand the request straight to the local datastore.
Replicas
Forward to one or more peer replicas. The carried consistency level is the one the planner resolved for this request (after applying any bucket-type override), so the dispatcher’s reply coalescer does not have to re-resolve it.
Fields
targets: Vec<ReplicaTarget>Replica peers the request must be routed to.
consistency: ConsistencyLevelResolved consistency level.
NoTargets
Reply with an error: the cluster has no quorum-eligible targets.
Drop
Drop the request (QUIT-style swallow).
Trait Implementations§
Source§impl Clone for DispatchPlan
impl Clone for DispatchPlan
Source§fn clone(&self) -> DispatchPlan
fn clone(&self) -> DispatchPlan
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DispatchPlan
impl Debug for DispatchPlan
Source§impl PartialEq for DispatchPlan
impl PartialEq for DispatchPlan
Source§fn eq(&self, other: &DispatchPlan) -> bool
fn eq(&self, other: &DispatchPlan) -> bool
self and other values to be equal, and is used by ==.impl Eq for DispatchPlan
impl StructuralPartialEq for DispatchPlan
Auto Trait Implementations§
impl Freeze for DispatchPlan
impl RefUnwindSafe for DispatchPlan
impl Send for DispatchPlan
impl Sync for DispatchPlan
impl Unpin for DispatchPlan
impl UnsafeUnpin for DispatchPlan
impl UnwindSafe for DispatchPlan
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
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§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
key and return true if they are equal.