Skip to content
This repository was archived by the owner on Dec 5, 2024. It is now read-only.

Commit eacfc7b

Browse files
authored
Merge pull request #1164 from JMdoubleU/patch-1
Only process neighbors when they were requested
2 parents 472797a + a50fc13 commit eacfc7b

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

ethereumj-core/src/main/java/org/ethereum/net/rlpx/discover/NodeHandler.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ public enum State {
126126
boolean waitForPong = false;
127127
long pingSent;
128128
int pingTrials = 3;
129+
boolean waitForNeighbors = false;
129130
NodeHandler replaceCandidate;
130131

131132
public NodeHandler(Node node, NodeManager nodeManager) {
@@ -240,9 +241,12 @@ void handlePong(PongMessage msg) {
240241
void handleNeighbours(NeighborsMessage msg) {
241242
logMessage(msg, true);
242243
// logMessage(" ===> [NEIGHBOURS] " + this + ", Count: " + msg.getNodes().size());
243-
getNodeStatistics().discoverInNeighbours.add();
244-
for (Node n : msg.getNodes()) {
245-
nodeManager.getNodeHandler(n);
244+
if (waitForNeighbors) {
245+
waitForNeighbors = false;
246+
getNodeStatistics().discoverInNeighbours.add();
247+
for (Node n : msg.getNodes()) {
248+
nodeManager.getNodeHandler(n);
249+
}
246250
}
247251
}
248252

@@ -322,6 +326,7 @@ void sendFindNode(byte[] target) {
322326
// logMessage("<=== [FIND_NODE] " + this);
323327
Message findNode = FindNodeMessage.create(target, nodeManager.key);
324328
logMessage(findNode, false);
329+
waitForNeighbors = true;
325330
sendMessage(findNode);
326331
getNodeStatistics().discoverOutFind.add();
327332
}

0 commit comments

Comments
 (0)