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,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> IntoRequest<T> for T
[src]
pub fn into_request(self) -> Request<T>
[src]
impl<T> Pointable for T
[src]
pub const ALIGN: usize
[src]
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
[src]
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
[src]
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
[src]
pub unsafe fn drop(ptr: usize)
[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>,
type Error = Infallible
The type returned in the event of a conversion error.
pub 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.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
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>,
impl<T> WithSubscriber for T
[src]
pub fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
[src]
S: Into<Dispatch>,