Skip to content

Commit 3c08018

Browse files
committed
add disconnect logic
1 parent 297628a commit 3c08018

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

src/main/java/org/tron/core/config/Parameter.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ interface BlockConstant {
2828
interface NetConstants {
2929
long ADV_TIME_OUT = 1000L;
3030
long SYNC_TIME_OUT = 5000L;
31+
long HEAD_NUM_MAX_DELTA = 1000L;
32+
long HEAD_NUM_CHECK_TIME = 60000L;
3133
}
3234

3335

src/main/java/org/tron/core/net/node/NodeImpl.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -407,6 +407,15 @@ private void disconnectInactive() {
407407
.findFirst().ifPresent(time -> isDisconnected[0] = true);
408408
}
409409

410+
//TODO:optimize here
411+
if (!isDisconnected[0]) {
412+
if (del.getHeadBlockId().getNum() - peer.getHeadBlockWeBothHave().getNum() > NetConstants.HEAD_NUM_MAX_DELTA
413+
&& peer.getConnectTime() < Time.getCurrentMillis() - NetConstants.HEAD_NUM_CHECK_TIME) {
414+
isDisconnected[0] = true;
415+
}
416+
}
417+
418+
410419
if (isDisconnected[0]) {
411420
disconnectPeer(peer, ReasonCode.RESET);
412421
}
@@ -912,7 +921,6 @@ public void onDisconnectPeer(PeerConnection peer) {
912921
}
913922

914923
private void disconnectPeer(PeerConnection peer, ReasonCode reason) {
915-
logger.info("!!!!!!! disconnect!!!!!!");
916924
peer.disconnect(reason);
917925
}
918926
}

0 commit comments

Comments
 (0)