[]Struct bastion::prelude::ArtilleryMemberList

pub struct ArtilleryMemberList { /* fields omitted */ }

Implementations

impl ArtilleryMemberList

pub fn new(current: ArtilleryMember) -> ArtilleryMemberList

pub fn available_nodes(&self) -> Vec<ArtilleryMember>

pub fn to_map(&self) -> HashMap<Uuid, ArtilleryMember, RandomState>

pub fn reincarnate_self(&mut self) -> ArtilleryMember

pub fn leave(&mut self) -> ArtilleryMember

pub fn next_random_member(&mut self) -> Option<ArtilleryMember>

pub fn time_out_nodes(
    &mut self,
    expired_hosts: &HashSet<SocketAddr, RandomState>
) -> (Vec<ArtilleryMember>, Vec<ArtilleryMember>)

pub fn mark_node_alive(
    &mut self,
    src_addr: &SocketAddr
) -> Option<ArtilleryMember>

pub fn apply_state_changes(
    &mut self,
    state_changes: Vec<ArtilleryStateChange>,
    from: &SocketAddr
) -> (Vec<ArtilleryMember>, Vec<ArtilleryMember>)

pub fn hosts_for_indirect_ping(
    &self,
    host_count: usize,
    target: &SocketAddr
) -> Vec<SocketAddr>

Random ping enqueuing

pub fn has_member(&self, remote_host: &SocketAddr) -> bool

pub fn add_member(&mut self, member: ArtilleryMember)

pub fn get_member(&self, id: &Uuid) -> Option<ArtilleryMember>

get_member will return artillery member if the given uuid is matches with any of the member in the cluster.

Auto Trait Implementations

Blanket Implementations

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

impl<T> AsAny for T where
    T: Any
[src]

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

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

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

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

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> State for T where
    T: Send + Sync + 'static, 
[src]

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>,