Skip to main content

RoundRobin

Struct RoundRobin 

Source
pub struct RoundRobin { /* private fields */ }
Expand description

Deterministic rotating single-recipient selection.

The cursor names the next position, wraps at the current membership size, and is repaired after removal. This ordering is Bombay policy, not an actor model guarantee.

Trait Implementations§

Source§

impl Clone for RoundRobin

Source§

fn clone(&self) -> RoundRobin

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for RoundRobin

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for RoundRobin

Source§

fn default() -> RoundRobin

Returns the “default value” for a type. Read more
Source§

impl PartialEq for RoundRobin

Source§

fn eq(&self, other: &RoundRobin) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<Route: DeliveryRoute + Clone + PartialEq> RoutingStrategy<Route> for RoundRobin

Source§

type Observation = Never

Closed observation type accepted by this policy.
Source§

type Error = Never

Concrete observation rejection reason.
Source§

fn select( &mut self, members: &[Route], _: &<Route::Protocol as Protocol>::Msg, ) -> Option<usize>

Select at most one index from this exact typed membership snapshot. Read more
Source§

fn observe( &mut self, _: &[Route], observation: Never, ) -> Result<(), RoutingObservationRejection<Never, Never>>

Fold one typed observation against the same membership snapshot. Read more
Source§

fn removed(&mut self, index: usize, _: Route, remaining: usize)

Repair policy-local position after a membership removal.
Source§

fn added(&mut self, _recipient: Route)

Update policy-local state after one new membership is committed.
Source§

impl Copy for RoundRobin

Source§

impl Eq for RoundRobin

Source§

impl StructuralPartialEq for RoundRobin

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.