[][src]Enum conjure_runtime::NodeSelectionStrategy

#[non_exhaustive]pub enum NodeSelectionStrategy {
    PinUntilError,
    PinUntilErrorWithoutReshuffle,
    Balanced,
}

Specifies the strategy used to select a node of a service to use for a request attempt.

Variants (Non-exhaustive)

Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
PinUntilError

Pin to a single host as long as it continues to successfully respond to requests.

If the pinned node fails to successfully respond, the client will rotate through the other nodes until it finds one that can successfully respond and then pin to that new node. The pinned node will also be randomly rotated periodically to help spread load across the cluster.

This is the default behavior.

PinUntilErrorWithoutReshuffle

Like PinUntilError except that the pinned node is never randomly shuffled.

Balanced

For each new request, select the "next" node (in some unspecified order).

Trait Implementations

impl Clone for NodeSelectionStrategy[src]

impl Copy for NodeSelectionStrategy[src]

impl Debug for NodeSelectionStrategy[src]

impl Eq for NodeSelectionStrategy[src]

impl PartialEq<NodeSelectionStrategy> for NodeSelectionStrategy[src]

impl StructuralEq for NodeSelectionStrategy[src]

impl StructuralPartialEq for NodeSelectionStrategy[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,