Skip to content

Commit dd7a4e9

Browse files
authored
Merge pull request #328 from tronprotocol/p2p
mdf send pong msg && change active node init time
2 parents 1e3200c + 86d120f commit dd7a4e9

File tree

4 files changed

+16
-8
lines changed

4 files changed

+16
-8
lines changed

src/main/java/org/tron/common/overlay/discover/NodeHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ void sendPing() {
281281
}
282282

283283
void sendPong() {
284-
Message pong = new PongMessage(node);
284+
Message pong = new PongMessage(nodeManager.getPublicHomeNode());
285285
logMessage(pong, false);
286286
sendMessage(pong);
287287
getNodeStatistics().discoverOutPong.add();

src/main/java/org/tron/common/overlay/discover/NodeManager.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,7 @@ public void run() {
9494

9595
this.pongTimer = Executors.newSingleThreadScheduledExecutor();
9696

97-
for (Node node : args.getNodeActive()) {
98-
getNodeHandler(node).getNodeStatistics().setPredefined(true);
99-
}
97+
10098
}
10199

102100
public ScheduledExecutorService getPongTimer() {
@@ -132,9 +130,19 @@ public void run() {
132130
for (Node node : bootNodes) {
133131
getNodeHandler(node);
134132
}
133+
134+
for (Node node : args.getNodeActive()) {
135+
getNodeHandler(node).getNodeStatistics().setPredefined(true);
136+
}
135137
}
136138
}
137139

140+
public boolean isNodeAlive(NodeHandler nodeHandler){
141+
return nodeHandler.state.equals(State.Alive) ||
142+
nodeHandler.state.equals(State.Active) ||
143+
nodeHandler.state.equals(State.EvictCandidate);
144+
}
145+
138146
private void dbRead() {
139147
Set<Node> Nodes = this.dbManager.readNeighbours();
140148
logger.info("Reading Node statistics from PeersStore: " + Nodes.size() + " nodes.");
@@ -145,7 +153,7 @@ private void dbWrite() {
145153
Set<Node> batch = new HashSet<>();
146154
synchronized (this) {
147155
for (NodeHandler nodeHandler: nodeHandlerMap.values()){
148-
if (!nodeHandler.state.equals(NodeHandler.State.Dead)) {
156+
if (isNodeAlive(nodeHandler)) {
149157
batch.add(nodeHandler.getNode());
150158
}
151159
}

src/main/java/org/tron/common/overlay/server/HandshakeHandler.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ protected void decode(ChannelHandlerContext ctx, ByteBuf buffer, List<Object> ou
8383
final HelloMessage helloMessage = (HelloMessage) msg;
8484

8585
if (helloMessage.getVersion() != Args.getInstance().getNodeP2pVersion()) {
86+
logger.info("version not support, you[{}] version[{}], my version[{}]",
87+
ctx.channel().remoteAddress(), helloMessage.getVersion(), Args.getInstance().getNodeP2pVersion());
8688
ctx.close();
8789
return;
8890
}

src/main/java/org/tron/common/overlay/server/SyncPool.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -199,9 +199,7 @@ public boolean test(NodeHandler handler) {
199199

200200
//TODO: use reputation sysytem
201201

202-
if (handler.getState().equals(NodeHandler.State.Discovered) ||
203-
handler.getState().equals(NodeHandler.State.Dead) ||
204-
handler.getState().equals(NodeHandler.State.NonActive)){
202+
if (!nodeManager.isNodeAlive(handler)){
205203
return false;
206204
}
207205

0 commit comments

Comments
 (0)