#[non_exhaustive]pub enum ShardBy {
Unspecified,
Cookie,
Ip,
Random,
UnknownValue(UnknownValue),
}Expand description
Available sharding mechanisms.
§Working with unknown values
This enum is defined as #[non_exhaustive] because Google Cloud may add
additional enum variants at any time. Adding new variants is not considered
a breaking change. Applications should write their code in anticipation of:
- New values appearing in future releases of the client library, and
- New values received dynamically, without application changes.
Please consult the Working with enums section in the user guide for some guidelines.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Unspecified
Diversion method unspecified.
Cookie
Diversion based on a specially named cookie, “GOOGAPPUID.” The cookie must be set by the application itself or no diversion will occur.
Ip
Diversion based on applying the modulus operation to a fingerprint of the IP address.
Random
Diversion based on weighted random assignment. An incoming request is randomly routed to a version in the traffic split, with probability proportional to the version’s traffic share.
UnknownValue(UnknownValue)
If set, the enum was initialized with an unknown value.
Applications can examine the value using ShardBy::value or ShardBy::name.
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for ShardBy
impl<'de> Deserialize<'de> for ShardBy
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>,
impl StructuralPartialEq for ShardBy
Auto Trait Implementations§
impl Freeze for ShardBy
impl RefUnwindSafe for ShardBy
impl Send for ShardBy
impl Sync for ShardBy
impl Unpin for ShardBy
impl UnwindSafe for ShardBy
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<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> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.