[][src]Struct solana::crds_gossip_push::CrdsGossipPush

pub struct CrdsGossipPush {
    pub max_bytes: usize,
    pub num_active: usize,
    pub push_fanout: usize,
    pub msg_timeout: u64,
    pub prune_timeout: u64,
    // some fields omitted
}

Fields

max_bytes: usize

max bytes per message

num_active: usizepush_fanout: usizemsg_timeout: u64prune_timeout: u64

Methods

impl CrdsGossipPush[src]

pub fn num_pending(&self) -> usize[src]

pub fn process_push_message(
    &mut self,
    crds: &mut Crds,
    value: CrdsValue,
    now: u64
) -> Result<Option<VersionedCrdsValue>, CrdsGossipError>
[src]

process a push message to the network

pub fn new_push_messages(
    &mut self,
    crds: &Crds,
    now: u64
) -> HashMap<Pubkey, Vec<CrdsValue>>
[src]

New push message to broadcast to peers. Returns a list of Pubkeys for the selected peers and a list of values to send to all the peers. The list of push messages is created such that all the randomly selected peers have not pruned the source addresses.

pub fn process_prune_msg(&mut self, peer: &Pubkey, origins: &[Pubkey])[src]

add the from to the peer's filter of nodes

pub fn refresh_push_active_set(
    &mut self,
    crds: &Crds,
    stakes: &HashMap<Pubkey, u64>,
    self_id: &Pubkey,
    network_size: usize,
    ratio: usize
)
[src]

refresh the push active set

  • ratio - active_set.len()/ratio is the number of actives to rotate

pub fn purge_old_pending_push_messages(&mut self, crds: &Crds, min_time: u64)[src]

purge old pending push messages

pub fn purge_old_pushed_once_messages(&mut self, min_time: u64)[src]

purge old pushed_once messages

Trait Implementations

impl Default for CrdsGossipPush[src]

impl Clone for CrdsGossipPush[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

Auto Trait Implementations

Blanket Implementations

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

type Owned = T

The resulting type after obtaining ownership.

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

impl<T, U> Into<U> for T where
    U: From<T>, 
[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<T> BorrowMut<T> for T where
    T: ?Sized
[src]

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

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

impl<T> Clear for T where
    T: InitializableFromZeroed + ?Sized

impl<T> InitializableFromZeroed for T where
    T: Default

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> Typeable for T where
    T: Any

fn get_type(&self) -> TypeId

Get the TypeId of this object.

impl<T> Erased for T

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

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