From 056c3f45df2de8523aca9283e2e574958b7a9a23 Mon Sep 17 00:00:00 2001 From: Valentyn Faychuk Date: Sun, 22 Dec 2024 23:03:20 +0200 Subject: [PATCH] info forwarding optimisation --- mint_sol/src/main.rs | 2 ++ src/datastore.rs | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/mint_sol/src/main.rs b/mint_sol/src/main.rs index 9f86767..7633dfc 100644 --- a/mint_sol/src/main.rs +++ b/mint_sol/src/main.rs @@ -14,6 +14,8 @@ fn main() { } fn send_sol(receiver: &str) { + // If this account uses all SOL, feel free to top up at 4qhFFULVHMpemFKGhpLfsVv126uruJgCxg2idLxedoa3 + // https://solana.com/es/developers/guides/getstarted/solana-token-airdrop-and-faucets#2-web-faucet let private_key_with_sol: [u8; 64] = [ 39, 134, 81, 114, 233, 110, 215, 232, 203, 125, 133, 232, 212, 223, 75, 196, 115, 246, 42, 121, 212, 231, 156, 82, 191, 86, 7, 217, 17, 241, 98, 12, 57, 12, 114, 15, 167, 208, 130, diff --git a/src/datastore.rs b/src/datastore.rs index a080673..5e5c93d 100644 --- a/src/datastore.rs +++ b/src/datastore.rs @@ -187,8 +187,10 @@ impl State { my_info.clone() } - /// This returns true if NodeInfo got modified. + /// This returns true if the update should be further forwarded + /// For example, we never forward our own updates that came back pub fn process_node_update(&self, (ip, node_info): (String, NodeInfo)) -> bool { + let is_update_mine = ip == self.my_ip; let is_update_new = self .nodes .get(&ip) @@ -199,7 +201,7 @@ impl State { node_info.log(&ip); self.nodes.insert(ip, node_info); } - is_update_new + is_update_new && !is_update_mine } pub fn get_node_list(&self) -> Vec<(String, NodeInfo)> {