mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 10:59:55 +00:00
perf(disc): evict after processing incoming packets (#1400)
This commit is contained in:
@ -1256,6 +1256,8 @@ impl Discv4Service {
|
||||
true
|
||||
});
|
||||
|
||||
debug!(target: "discv4", num=%failed_neighbours.len(), "processing failed neighbours");
|
||||
|
||||
for node_id in failed_neighbours {
|
||||
let key = kad_key(node_id);
|
||||
let failures = match self.kbuckets.entry(&key) {
|
||||
@ -1369,11 +1371,6 @@ impl Discv4Service {
|
||||
self.lookup_with(target, None);
|
||||
}
|
||||
|
||||
// evict expired nodes
|
||||
if self.evict_expired_requests_interval.poll_tick(cx).is_ready() {
|
||||
self.evict_expired_requests(Instant::now())
|
||||
}
|
||||
|
||||
// re-ping some peers
|
||||
if self.ping_interval.poll_tick(cx).is_ready() {
|
||||
self.re_ping_oldest();
|
||||
@ -1486,6 +1483,11 @@ impl Discv4Service {
|
||||
// try resending buffered pings
|
||||
self.ping_buffered();
|
||||
|
||||
// evict expired nodes
|
||||
if self.evict_expired_requests_interval.poll_tick(cx).is_ready() {
|
||||
self.evict_expired_requests(Instant::now())
|
||||
}
|
||||
|
||||
if self.queued_events.is_empty() {
|
||||
return Poll::Pending
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user