Skip to content

Commit 7bdae32

Browse files
committed
add DisConnectCause
1 parent 0f7c7f4 commit 7bdae32

1 file changed

Lines changed: 17 additions & 7 deletions

File tree

framework/src/main/java/org/tron/core/net/service/effective/ResilienceService.java

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,8 @@ private void disconnectRandom() {
8080
.collect(Collectors.toList());
8181
if (!peers.isEmpty()) {
8282
int index = new Random().nextInt(peers.size());
83-
disconnectFromPeer(peers.get(index), ReasonCode.RANDOM_ELIMINATION, "random");
83+
disconnectFromPeer(peers.get(index), ReasonCode.RANDOM_ELIMINATION,
84+
DisConnectCause.RANDOM_ELIMINATION);
8485
}
8586
}
8687
}
@@ -99,7 +100,8 @@ private void disconnectLan() {
99100
.filter(peer -> !peer.getChannel().isTrustPeer())
100101
.collect(Collectors.toList());
101102
Optional<PeerConnection> one = getEarliestPeer(peers);
102-
one.ifPresent(peer -> disconnectFromPeer(peer, ReasonCode.BAD_PROTOCOL, "lan node"));
103+
one.ifPresent(
104+
peer -> disconnectFromPeer(peer, ReasonCode.BAD_PROTOCOL, DisConnectCause.LAN_NODE));
103105
}
104106
}
105107

@@ -118,8 +120,8 @@ private void disconnectIsolated2() {
118120
.collect(Collectors.toList());
119121

120122
Optional<PeerConnection> one = getEarliestPeer(peers);
121-
one.ifPresent(
122-
peer -> disconnectFromPeer(peer, ReasonCode.BAD_PROTOCOL, "isolate2 and active"));
123+
one.ifPresent(peer -> disconnectFromPeer(peer, ReasonCode.BAD_PROTOCOL,
124+
DisConnectCause.ISOLATE2_ACTIVE));
123125
}
124126

125127
//disconnect from some passive nodes, make sure retention nodes' num <= 0.8 * maxConnection,
@@ -144,8 +146,8 @@ private void disconnectIsolated2() {
144146
}
145147
logger.info("All peer Size:{}, plan size:{}, candidate size:{}, real size:{}", peerSize,
146148
disconnectSize, candidateSize, peers.size());
147-
peers.forEach(
148-
peer -> disconnectFromPeer(peer, ReasonCode.BAD_PROTOCOL, "isolate2 and passive"));
149+
peers.forEach(peer -> disconnectFromPeer(peer, ReasonCode.BAD_PROTOCOL,
150+
DisConnectCause.ISOLATE2_PASSIVE));
149151
}
150152
}
151153

@@ -177,13 +179,21 @@ private boolean isIsolateLand2() {
177179
return advPeerCount >= 1 && diff >= blockNotChangeThreshold;
178180
}
179181

180-
private void disconnectFromPeer(PeerConnection peer, ReasonCode reasonCode, String cause) {
182+
private void disconnectFromPeer(PeerConnection peer, ReasonCode reasonCode,
183+
DisConnectCause cause) {
181184
int inactiveSeconds = (int) ((System.currentTimeMillis() - peer.getLastActiveTime()) / 1000);
182185
logger.info("Disconnect from peer {}, inactive seconds {}, cause: {}",
183186
peer.getInetSocketAddress(), inactiveSeconds, cause);
184187
peer.disconnect(reasonCode);
185188
}
186189

190+
private enum DisConnectCause {
191+
RANDOM_ELIMINATION,
192+
LAN_NODE,
193+
ISOLATE2_ACTIVE,
194+
ISOLATE2_PASSIVE,
195+
}
196+
187197
public void close() {
188198
ExecutorServiceManager.shutdownAndAwaitTermination(executor, esName);
189199
}

0 commit comments

Comments
 (0)