From ce06bf44400a668052dea486b38388f3d9efc4dc Mon Sep 17 00:00:00 2001 From: Victor Ermolaev Date: Tue, 23 Nov 2021 14:54:57 +0100 Subject: [PATCH] Send/forward messages only to target peers. --- protocols/floodsub/src/layer.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/protocols/floodsub/src/layer.rs b/protocols/floodsub/src/layer.rs index 73b8edb97fa..b2093c763d6 100644 --- a/protocols/floodsub/src/layer.rs +++ b/protocols/floodsub/src/layer.rs @@ -253,6 +253,12 @@ impl Floodsub { // Send to peers we know are subscribed to the topic. for (peer_id, sub_topic) in self.connected_peers.iter() { + // Peer must be in a communication list. + if !self.target_peers.contains(peer_id) { + continue; + } + + // Peer must be subscribed for the topic. if !sub_topic .iter() .any(|t| message.topics.iter().any(|u| t == u)) @@ -402,6 +408,12 @@ impl NetworkBehaviour for Floodsub { continue; } + // Peer must be in a communication list. + if !self.target_peers.contains(peer_id) { + continue; + } + + // Peer must be subscribed for the topic. if !subscr_topics .iter() .any(|t| message.topics.iter().any(|u| t == u))