[−][src]Struct solana_core::crds_gossip_push::CrdsGossipPush
Fields
max_bytes: usize
max bytes per message
num_active: usize
push_fanout: usize
msg_timeout: u64
prune_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]
&mut self,
self_pubkey: &Pubkey,
origin: &Pubkey,
hash: Hash,
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 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(&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]
&mut self,
crds: &Crds,
stakes: &HashMap<Pubkey, u64>,
self_id: &Pubkey,
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 Clone for CrdsGossipPush
[src]
fn clone(&self) -> CrdsGossipPush
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
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,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Clear for T where
T: InitializableFromZeroed + ?Sized,
T: InitializableFromZeroed + ?Sized,
fn clear(&mut self)
impl<T> Erased for T
impl<T> From<T> for T
[src]
impl<T> InitializableFromZeroed for T where
T: Default,
T: Default,
unsafe fn initialize(place: *mut T)
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,