Use epoch as the gossip purge timeout for staked nodes. (#7005)
automerge
This commit is contained in:
committed by
Grimes
parent
ba9aaee7cd
commit
b150da837a
@ -70,6 +70,15 @@ impl Packets {
|
||||
recycler: Some(recycler),
|
||||
}
|
||||
}
|
||||
pub fn new_with_recycler_data(
|
||||
recycler: &PacketsRecycler,
|
||||
name: &'static str,
|
||||
mut packets: Vec<Packet>,
|
||||
) -> Self {
|
||||
let mut vec = Self::new_with_recycler(recycler.clone(), packets.len(), name);
|
||||
vec.packets.append(&mut packets);
|
||||
vec
|
||||
}
|
||||
|
||||
pub fn set_addr(&mut self, addr: &SocketAddr) {
|
||||
for m in self.packets.iter_mut() {
|
||||
@ -99,8 +108,15 @@ pub fn to_packets<T: Serialize>(xs: &[T]) -> Vec<Packets> {
|
||||
to_packets_chunked(xs, NUM_PACKETS)
|
||||
}
|
||||
|
||||
pub fn to_packets_with_destination<T: Serialize>(dests_and_data: &[(SocketAddr, T)]) -> Packets {
|
||||
let mut out = Packets::default();
|
||||
pub fn to_packets_with_destination<T: Serialize>(
|
||||
recycler: PacketsRecycler,
|
||||
dests_and_data: &[(SocketAddr, T)],
|
||||
) -> Packets {
|
||||
let mut out = Packets::new_with_recycler(
|
||||
recycler,
|
||||
dests_and_data.len(),
|
||||
"to_packets_with_destination",
|
||||
);
|
||||
out.packets.resize(dests_and_data.len(), Packet::default());
|
||||
for (dest_and_data, o) in dests_and_data.iter().zip(out.packets.iter_mut()) {
|
||||
if let Err(e) = Packet::populate_packet(o, Some(&dest_and_data.0), &dest_and_data.1) {
|
||||
|
@ -6,6 +6,7 @@ use std::sync::{Arc, Mutex};
|
||||
#[derive(Debug, Default)]
|
||||
struct RecyclerStats {
|
||||
total: AtomicUsize,
|
||||
freed: AtomicUsize,
|
||||
reuse: AtomicUsize,
|
||||
max_gc: AtomicUsize,
|
||||
}
|
||||
@ -85,9 +86,10 @@ impl<T: Default + Reset> Recycler<T> {
|
||||
return x;
|
||||
}
|
||||
|
||||
let total = self.stats.total.fetch_add(1, Ordering::Relaxed);
|
||||
trace!(
|
||||
"allocating new: total {} {:?} id: {} reuse: {} max_gc: {}",
|
||||
self.stats.total.fetch_add(1, Ordering::Relaxed),
|
||||
total,
|
||||
name,
|
||||
self.id,
|
||||
self.stats.reuse.load(Ordering::Relaxed),
|
||||
@ -111,6 +113,16 @@ impl<T: Default + Reset> Recycler<T> {
|
||||
.max_gc
|
||||
.compare_and_swap(max_gc, len, Ordering::Relaxed);
|
||||
}
|
||||
let total = self.stats.total.load(Ordering::Relaxed);
|
||||
let reuse = self.stats.reuse.load(Ordering::Relaxed);
|
||||
let freed = self.stats.total.fetch_add(1, Ordering::Relaxed);
|
||||
datapoint_debug!(
|
||||
"recycler",
|
||||
("gc_len", len as i64, i64),
|
||||
("total", total as i64, i64),
|
||||
("freed", freed as i64, i64),
|
||||
("reuse", reuse as i64, i64),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user