Struct solana_core::crds_gossip_push::CrdsGossipPush [−][src]
Fields
max_bytes: usize
max bytes per message
num_active: usize
push_fanout: usize
msg_timeout: u64
prune_timeout: u64
num_total: usize
num_old: usize
num_pushes: usize
Implementations
impl CrdsGossipPush
[src][−]
pub fn num_pending(&self) -> usize
[src]
pub fn prune_received_cache(
&mut self,
self_pubkey: &Pubkey,
origin: &Pubkey,
stakes: &HashMap<Pubkey, u64>
) -> Vec<Pubkey>
[src]
&mut self,
self_pubkey: &Pubkey,
origin: &Pubkey,
stakes: &HashMap<Pubkey, u64>
) -> Vec<Pubkey>
pub fn process_push_message(
&mut self,
crds: &mut Crds,
from: &Pubkey,
value: CrdsValue,
now: u64
) -> Result<Option<VersionedCrdsValue>, CrdsGossipError>
[src][−]
&mut self,
crds: &mut Crds,
from: &Pubkey,
value: CrdsValue,
now: u64
) -> Result<Option<VersionedCrdsValue>, CrdsGossipError>
process a push message to the network
pub fn push_pull_responses(
&mut self,
values: Vec<(CrdsValueLabel, Hash, u64)>,
now: u64
)
[src][−]
&mut self,
values: Vec<(CrdsValueLabel, Hash, u64)>,
now: u64
)
push pull responses
pub fn new_push_messages(
&mut self,
crds: &Crds,
now: u64
) -> HashMap<Pubkey, Vec<CrdsValue>>
[src][−]
&mut self,
crds: &Crds,
now: u64
) -> HashMap<Pubkey, Vec<CrdsValue>>
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(
&self,
self_pubkey: &Pubkey,
peer: &Pubkey,
origins: &[Pubkey]
)
[src][−]
&self,
self_pubkey: &Pubkey,
peer: &Pubkey,
origins: &[Pubkey]
)
add the from
to the peer’s filter of nodes
pub fn refresh_push_active_set(
&mut self,
crds: &Crds,
stakes: &HashMap<Pubkey, u64>,
gossip_validators: Option<&HashSet<Pubkey>>,
self_id: &Pubkey,
self_shred_version: u16,
network_size: usize,
ratio: usize
)
[src][−]
&mut self,
crds: &Crds,
stakes: &HashMap<Pubkey, u64>,
gossip_validators: Option<&HashSet<Pubkey>>,
self_id: &Pubkey,
self_shred_version: u16,
network_size: usize,
ratio: usize
)
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 Default for CrdsGossipPush
[src][+]
Auto Trait Implementations
impl RefUnwindSafe for CrdsGossipPush
impl Send for CrdsGossipPush
impl Sync for CrdsGossipPush
impl Unpin for CrdsGossipPush
impl UnwindSafe for CrdsGossipPush
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
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][+]
U: From<T>,
impl<T> IntoRequest<T> for T
[src][+]
impl<T> Pointable for T
[src][+]
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,
impl<T> Typeable for T where
T: Any,
[+]
T: Any,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src][+]
V: MultiLane<T>,