aboutsummaryrefslogtreecommitdiff
path: root/p2p/src/discovery/refresh.rs
diff options
context:
space:
mode:
authorhozan23 <hozan23@proton.me>2023-11-22 12:42:00 +0300
committerhozan23 <hozan23@proton.me>2023-11-22 12:49:45 +0300
commit34b0a91dbb107962dae4f593a36d30a29ea87c45 (patch)
treead03f71e8dbb0f8c1884bc2be6ac6368219ce55d /p2p/src/discovery/refresh.rs
parent542897ce2ed7fb8a8627ec8ba8b3490acb29149f (diff)
p2p: Improve error handling during handshake:
Introduce a new entry status, INCOMPATIBLE_ENTRY. Entries with this status will not increase the failure attempts, instead, they will persist in the routing table until replaced by a new peer. This feature is useful for seeding and the lookup process. Add a boolean value to the VerAck message to indicate whether the version is accepted or not.
Diffstat (limited to 'p2p/src/discovery/refresh.rs')
-rw-r--r--p2p/src/discovery/refresh.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/p2p/src/discovery/refresh.rs b/p2p/src/discovery/refresh.rs
index b9b7bae..d095f19 100644
--- a/p2p/src/discovery/refresh.rs
+++ b/p2p/src/discovery/refresh.rs
@@ -148,7 +148,7 @@ impl RefreshService {
for chunk in entries.chunks(16) {
let mut tasks = Vec::new();
for bucket_entry in chunk {
- if bucket_entry.is_connected() {
+ if bucket_entry.is_connected() || bucket_entry.is_incompatible() {
continue;
}