[][src]Struct solana_core::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 prune_received_cache(
    &mut self,
    self_pubkey: &Pubkey,
    origin: &Pubkey,
    hash: Hash,
    stakes: &HashMap<Pubkey, u64>
) -> Vec<Pubkey>
[src]

pub fn process_push_message(
    &mut self,
    crds: &mut Crds,
    from: &Pubkey,
    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_received_cache(&mut self, min_time: u64)[src]

purge received push message cache

Trait Implementations

impl Clone for CrdsGossipPush[src]

impl Default for CrdsGossipPush[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<T> Clear for T where
    T: InitializableFromZeroed + ?Sized

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

impl<T> InitializableFromZeroed for T where
    T: Default

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> 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<T> Typeable for T where
    T: Any

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