diff --git a/modP2pImpl/src/org/aion/p2p/impl/TaskRequestActiveNodes.java b/modP2pImpl/src/org/aion/p2p/impl/TaskRequestActiveNodes.java deleted file mode 100644 index da75de01da..0000000000 --- a/modP2pImpl/src/org/aion/p2p/impl/TaskRequestActiveNodes.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.aion.p2p.impl; - -import org.aion.p2p.INode; -import org.aion.p2p.IP2pMgr; -import org.aion.p2p.impl.zero.msg.ReqActiveNodes; -import org.slf4j.Logger; - -/** @author chris */ -public final class TaskRequestActiveNodes implements Runnable { - - private final IP2pMgr mgr; - - private final Logger p2pLOG; - - private static final ReqActiveNodes reqActiveNodesMsg = new ReqActiveNodes(); - - public TaskRequestActiveNodes(final IP2pMgr _mgr, final Logger p2pLOG) { - this.mgr = _mgr; - this.p2pLOG = p2pLOG; - } - - @Override - public void run() { - INode node = mgr.getRandom(); - if (node != null) { - Thread.currentThread().setName("p2p-reqNodes"); - if (p2pLOG.isTraceEnabled()) { - p2pLOG.trace("TaskRequestActiveNodes: {}", node.toString()); - } - this.mgr.send(node.getIdHash(), node.getIdShort(), reqActiveNodesMsg); - } - } -} diff --git a/modP2pImpl/src/org/aion/p2p/impl1/P2pMgr.java b/modP2pImpl/src/org/aion/p2p/impl1/P2pMgr.java index bdb9b901d9..d4e2821d29 100644 --- a/modP2pImpl/src/org/aion/p2p/impl1/P2pMgr.java +++ b/modP2pImpl/src/org/aion/p2p/impl1/P2pMgr.java @@ -31,10 +31,10 @@ import org.aion.p2p.Msg; import org.aion.p2p.P2pConstant; import org.aion.p2p.Ver; -import org.aion.p2p.impl.TaskRequestActiveNodes; import org.aion.p2p.impl.TaskUPnPManager; import org.aion.p2p.impl.comm.Node; import org.aion.p2p.impl.comm.NodeMgr; +import org.aion.p2p.impl.zero.msg.ReqActiveNodes; import org.aion.p2p.impl.zero.msg.ReqHandshake1; import org.aion.p2p.impl.zero.msg.ResHandshake1; import org.apache.commons.collections4.map.LRUMap; @@ -44,7 +44,7 @@ public final class P2pMgr implements IP2pMgr { private static final int DELAY_SHOW_P2P_STATUS = 10; // in seconds private static final int DELAY_CLEAR_PEERS = 10; // in seconds - private static final int PERIOD_REQUEST_ACTIVE_NODES = 1000; + private static final int DELAY_REQUEST_ACTIVE_NODES = 1; // in seconds private static final int PERIOD_UPNP_PORT_MAPPING = 3600000; private static final int DELAY_CONNECT_OUTBOUND = 1; // in seconds private static final int TIMEOUT_OUTBOUND_CONNECT = 10000; // in milliseconds @@ -91,6 +91,7 @@ public final class P2pMgr implements IP2pMgr { private static ReqHandshake1 cachedReqHandshake1; private static ResHandshake1 cachedResHandshake1; + private static final ReqActiveNodes cachedReqActiveNodesMsg = new ReqActiveNodes(); public enum Dest { INBOUND, @@ -242,11 +243,15 @@ public void run() { } if (!syncSeedsOnly) { - scheduledWorkers.scheduleWithFixedDelay( - new TaskRequestActiveNodes(this, p2pLOG), - 5000, - PERIOD_REQUEST_ACTIVE_NODES, - TimeUnit.MILLISECONDS); + scheduledWorkers.scheduleWithFixedDelay(() -> { + Thread.currentThread().setName("p2p-reqNodes"); + INode node = getRandom(); + if (node != null) { + p2pLOG.trace("TaskRequestActiveNodes: {}", node.toString()); + send(node.getIdHash(), node.getIdShort(), cachedReqActiveNodesMsg); + } + }, + 5 * DELAY_REQUEST_ACTIVE_NODES, DELAY_REQUEST_ACTIVE_NODES, TimeUnit.SECONDS); } scheduledWorkers.scheduleWithFixedDelay( diff --git a/modP2pImpl/test/org/aion/p2p/impl/TaskRequestActiveNodesTest.java b/modP2pImpl/test/org/aion/p2p/impl/TaskRequestActiveNodesTest.java deleted file mode 100644 index 938db77fdf..0000000000 --- a/modP2pImpl/test/org/aion/p2p/impl/TaskRequestActiveNodesTest.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.aion.p2p.impl; - -import static org.junit.Assert.assertNotNull; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyInt; -import static org.mockito.ArgumentMatchers.anyString; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import org.aion.p2p.INode; -import org.aion.p2p.IP2pMgr; -import org.aion.p2p.impl.zero.msg.ReqActiveNodes; -import org.junit.Before; -import org.junit.Test; -import org.mockito.Mock; -import org.mockito.MockitoAnnotations; -import org.slf4j.Logger; - -public class TaskRequestActiveNodesTest { - - @Mock private IP2pMgr mgr; - - @Mock private INode node; - - @Mock private Logger p2pLOG; - - @Before - public void setup() { - MockitoAnnotations.initMocks(this); - } - - @Test(timeout = 10_000) - public void TestRun() throws InterruptedException { - when(mgr.getRandom()).thenReturn(node); - when(node.getIdShort()).thenReturn("inode"); - - TaskRequestActiveNodes tran = new TaskRequestActiveNodes(mgr, p2pLOG); - assertNotNull(tran); - tran.run(); - Thread.sleep(10); - verify(mgr).send(anyInt(), anyString(), any(ReqActiveNodes.class)); - } -}