#[repr(i32)]pub enum ReadConsistencyPolicy {
LeaseRead = 0,
LinearizableRead = 1,
EventualConsistency = 2,
}Expand description
Read consistency policy for controlling read operation guarantees
Allows clients to choose between performance and consistency trade-offs on a per-request basis when supported by the cluster configuration.
Variants§
LeaseRead = 0
Lease-based reads for better performance with weaker consistency
Leader serves reads locally without contacting followers during lease period. Provides lower latency but slightly weaker consistency guarantees.
LinearizableRead = 1
Fully linearizable reads for strongest consistency
Leader verifies its leadership with a quorum before serving the read, ensuring strict linearizability. Guarantees that all reads reflect the most recent committed value in the cluster.
EventualConsistency = 2
Eventually consistent reads from any node
Allows reading from any node (leader, follower, or candidate) without additional consistency checks. May return stale data but provides best read performance and availability. Suitable for scenarios where eventual consistency is acceptable.
Implementations§
Source§impl ReadConsistencyPolicy
impl ReadConsistencyPolicy
Sourcepub fn is_valid(value: i32) -> bool
pub fn is_valid(value: i32) -> bool
Returns true if value is a variant of ReadConsistencyPolicy.
Sourcepub fn from_i32(value: i32) -> Option<ReadConsistencyPolicy>
👎Deprecated: Use the TryFrom<i32> implementation instead
pub fn from_i32(value: i32) -> Option<ReadConsistencyPolicy>
Converts an i32 to a ReadConsistencyPolicy, or None if value is not a valid variant.
Source§impl ReadConsistencyPolicy
impl ReadConsistencyPolicy
Sourcepub fn as_str_name(&self) -> &'static str
pub fn as_str_name(&self) -> &'static str
String value of the enum field names used in the ProtoBuf definition.
The values are not transformed in any way and thus are considered stable (if the ProtoBuf definition does not change) and safe for programmatic use.
Sourcepub fn from_str_name(value: &str) -> Option<Self>
pub fn from_str_name(value: &str) -> Option<Self>
Creates an enum from field names used in the ProtoBuf definition.
Trait Implementations§
Source§impl Clone for ReadConsistencyPolicy
impl Clone for ReadConsistencyPolicy
Source§fn clone(&self) -> ReadConsistencyPolicy
fn clone(&self) -> ReadConsistencyPolicy
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ReadConsistencyPolicy
impl Debug for ReadConsistencyPolicy
Source§impl Default for ReadConsistencyPolicy
impl Default for ReadConsistencyPolicy
Source§fn default() -> ReadConsistencyPolicy
fn default() -> ReadConsistencyPolicy
Source§impl<'de> Deserialize<'de> for ReadConsistencyPolicy
impl<'de> Deserialize<'de> for ReadConsistencyPolicy
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl From<ReadConsistencyPolicy> for ReadConsistencyPolicy
impl From<ReadConsistencyPolicy> for ReadConsistencyPolicy
Source§fn from(proto_policy: ReadConsistencyPolicy) -> Self
fn from(proto_policy: ReadConsistencyPolicy) -> Self
Source§impl From<ReadConsistencyPolicy> for ReadConsistencyPolicy
impl From<ReadConsistencyPolicy> for ReadConsistencyPolicy
Source§fn from(config_policy: ReadConsistencyPolicy) -> Self
fn from(config_policy: ReadConsistencyPolicy) -> Self
Source§impl From<ReadConsistencyPolicy> for i32
impl From<ReadConsistencyPolicy> for i32
Source§fn from(value: ReadConsistencyPolicy) -> i32
fn from(value: ReadConsistencyPolicy) -> i32
Source§impl Hash for ReadConsistencyPolicy
impl Hash for ReadConsistencyPolicy
Source§impl Ord for ReadConsistencyPolicy
impl Ord for ReadConsistencyPolicy
Source§fn cmp(&self, other: &ReadConsistencyPolicy) -> Ordering
fn cmp(&self, other: &ReadConsistencyPolicy) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for ReadConsistencyPolicy
impl PartialEq for ReadConsistencyPolicy
Source§impl PartialOrd for ReadConsistencyPolicy
impl PartialOrd for ReadConsistencyPolicy
Source§impl Serialize for ReadConsistencyPolicy
impl Serialize for ReadConsistencyPolicy
Source§impl TryFrom<i32> for ReadConsistencyPolicy
impl TryFrom<i32> for ReadConsistencyPolicy
Source§type Error = UnknownEnumValue
type Error = UnknownEnumValue
Source§fn try_from(value: i32) -> Result<ReadConsistencyPolicy, UnknownEnumValue>
fn try_from(value: i32) -> Result<ReadConsistencyPolicy, UnknownEnumValue>
impl Copy for ReadConsistencyPolicy
impl Eq for ReadConsistencyPolicy
impl StructuralPartialEq for ReadConsistencyPolicy
Auto Trait Implementations§
impl Freeze for ReadConsistencyPolicy
impl RefUnwindSafe for ReadConsistencyPolicy
impl Send for ReadConsistencyPolicy
impl Sync for ReadConsistencyPolicy
impl Unpin for ReadConsistencyPolicy
impl UnwindSafe for ReadConsistencyPolicy
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> Comparable<K> for Q
impl<Q, K> Comparable<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.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.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request