From 40cd55a45e550e43b0cd08753e96c041d369188e Mon Sep 17 00:00:00 2001 From: wubin01 Date: Mon, 30 Jan 2023 14:28:50 +0800 Subject: [PATCH] feat(net): set relay node flag --- .../main/java/org/tron/core/net/peer/PeerConnection.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/framework/src/main/java/org/tron/core/net/peer/PeerConnection.java b/framework/src/main/java/org/tron/core/net/peer/PeerConnection.java index 9893b3e4db8..5626c072864 100644 --- a/framework/src/main/java/org/tron/core/net/peer/PeerConnection.java +++ b/framework/src/main/java/org/tron/core/net/peer/PeerConnection.java @@ -7,6 +7,7 @@ import java.net.InetSocketAddress; import java.util.Deque; import java.util.HashSet; +import java.util.List; import java.util.Locale; import java.util.Map; import java.util.Set; @@ -28,6 +29,7 @@ import org.tron.core.Constant; import org.tron.core.capsule.BlockCapsule.BlockId; import org.tron.core.config.Parameter.NetConstants; +import org.tron.core.config.args.Args; import org.tron.core.metrics.MetricsKey; import org.tron.core.metrics.MetricsUtil; import org.tron.core.net.TronNetDelegate; @@ -50,6 +52,8 @@ @Scope("prototype") public class PeerConnection { + private static List relayNodes = Args.getInstance().getFastForwardNodes(); + @Getter private PeerStatistics peerStatistics = new PeerStatistics(); @@ -61,7 +65,7 @@ public class PeerConnection { @Getter @Setter - private boolean isRelayPeer; + private volatile boolean isRelayPeer; @Getter @Setter @@ -143,6 +147,9 @@ public class PeerConnection { public void setChannel(Channel channel) { this.channel = channel; + if (relayNodes.contains(channel.getInetSocketAddress())) { + this.isRelayPeer = true; + } this.nodeStatistics = TronStatsManager.getNodeStatistics(channel.getInetAddress()); }