Pass max connections to `SeedNode.createAndStartP2PService()`

Still keep calls to ``PeerManager.setMaxConnections()`` until it is retired.
This commit is contained in:
Ivan Vilata-i-Balaguer 2016-05-06 10:07:28 +02:00
parent f0aec0d55c
commit dc90a950cb
4 changed files with 20 additions and 17 deletions

View file

@ -30,6 +30,7 @@ public class SeedNode {
public static final int MAX_CONNECTIONS_DEFAULT = 50; public static final int MAX_CONNECTIONS_DEFAULT = 50;
private NodeAddress mySeedNodeAddress = new NodeAddress("localhost:8001"); private NodeAddress mySeedNodeAddress = new NodeAddress("localhost:8001");
private int maxConnections = MAX_CONNECTIONS_DEFAULT; // we keep default a higher connection size for seed nodes
private boolean useLocalhost = false; private boolean useLocalhost = false;
private Set<NodeAddress> progArgSeedNodes; private Set<NodeAddress> progArgSeedNodes;
private P2PService seedNodeP2PService; private P2PService seedNodeP2PService;
@ -67,13 +68,10 @@ public class SeedNode {
Version.setBtcNetworkId(networkId); Version.setBtcNetworkId(networkId);
if (args.length > 2) { if (args.length > 2) {
String arg2 = args[2]; String arg2 = args[2];
int maxConnections = Integer.parseInt(arg2); maxConnections = Integer.parseInt(arg2);
log.info("From processArgs: maxConnections=" + maxConnections); log.info("From processArgs: maxConnections=" + maxConnections);
checkArgument(maxConnections < MAX_CONNECTIONS_LIMIT, "maxConnections seems to be a bit too high..."); checkArgument(maxConnections < MAX_CONNECTIONS_LIMIT, "maxConnections seems to be a bit too high...");
PeerManager.setMaxConnections(maxConnections); PeerManager.setMaxConnections(maxConnections);
} else {
// we keep default a higher connection size for seed nodes
PeerManager.setMaxConnections(MAX_CONNECTIONS_DEFAULT);
} }
if (args.length > 3) { if (args.length > 3) {
String arg3 = args[3]; String arg3 = args[3];
@ -107,11 +105,13 @@ public class SeedNode {
} }
public void createAndStartP2PService(boolean useDetailedLogging) { public void createAndStartP2PService(boolean useDetailedLogging) {
createAndStartP2PService(mySeedNodeAddress, useLocalhost, Version.getBtcNetworkId(), useDetailedLogging, progArgSeedNodes, null); createAndStartP2PService(mySeedNodeAddress, maxConnections, useLocalhost,
Version.getBtcNetworkId(), useDetailedLogging, progArgSeedNodes, null);
} }
@VisibleForTesting @VisibleForTesting
public void createAndStartP2PService(NodeAddress mySeedNodeAddress, public void createAndStartP2PService(NodeAddress mySeedNodeAddress,
int maxConnections,
boolean useLocalhost, boolean useLocalhost,
int networkId, int networkId,
boolean useDetailedLogging, boolean useDetailedLogging,
@ -144,7 +144,8 @@ public class SeedNode {
log.info("Created torDir at " + torDir.getAbsolutePath()); log.info("Created torDir at " + torDir.getAbsolutePath());
seedNodesRepository.setNodeAddressToExclude(mySeedNodeAddress); seedNodesRepository.setNodeAddressToExclude(mySeedNodeAddress);
seedNodeP2PService = new P2PService(seedNodesRepository, mySeedNodeAddress.port, torDir, useLocalhost, networkId, storageDir, new Clock(), null, null); seedNodeP2PService = new P2PService(seedNodesRepository, mySeedNodeAddress.port, maxConnections,
torDir, useLocalhost, networkId, storageDir, new Clock(), null, null);
seedNodeP2PService.start(listener); seedNodeP2PService.start(listener);
} }

View file

@ -23,6 +23,7 @@ import java.util.concurrent.CountDownLatch;
// Run it once then lookup for onion address at: tor/hiddenservice/hostname and use that for the NodeAddress param. // Run it once then lookup for onion address at: tor/hiddenservice/hostname and use that for the NodeAddress param.
public class PeerServiceTest { public class PeerServiceTest {
private static final Logger log = LoggerFactory.getLogger(PeerServiceTest.class); private static final Logger log = LoggerFactory.getLogger(PeerServiceTest.class);
public static final int MAX_CONNECTIONS = 100;
final boolean useLocalhost = true; final boolean useLocalhost = true;
private CountDownLatch latch; private CountDownLatch latch;
@ -37,7 +38,7 @@ public class PeerServiceTest {
public void setup() throws InterruptedException { public void setup() throws InterruptedException {
LocalhostNetworkNode.setSimulateTorDelayTorNode(50); LocalhostNetworkNode.setSimulateTorDelayTorNode(50);
LocalhostNetworkNode.setSimulateTorDelayHiddenService(8); LocalhostNetworkNode.setSimulateTorDelayHiddenService(8);
PeerManager.setMaxConnections(100); PeerManager.setMaxConnections(MAX_CONNECTIONS);
if (useLocalhost) { if (useLocalhost) {
seedNodeAddresses.add(new NodeAddress("localhost:8001")); seedNodeAddresses.add(new NodeAddress("localhost:8001"));
@ -127,7 +128,7 @@ public class PeerServiceTest {
/* latch = new CountDownLatch(2); /* latch = new CountDownLatch(2);
seedNode.createAndStartP2PService(nodeAddress, useLocalhost, 2, true, seedNode.createAndStartP2PService(nodeAddress, MAX_CONNECTIONS, useLocalhost, 2, true,
seedNodeAddresses, new P2PServiceListener() { seedNodeAddresses, new P2PServiceListener() {
@Override @Override
public void onRequestingDataCompleted() { public void onRequestingDataCompleted() {
@ -181,7 +182,7 @@ public class PeerServiceTest {
latch = new CountDownLatch(6); latch = new CountDownLatch(6);
seedNode1 = new SeedNode("test_dummy_dir"); seedNode1 = new SeedNode("test_dummy_dir");
seedNode1.createAndStartP2PService(nodeAddress1, useLocalhost, 2, true, seedNodeAddresses, new P2PServiceListener() { seedNode1.createAndStartP2PService(nodeAddress1, MAX_CONNECTIONS, useLocalhost, 2, true, seedNodeAddresses, new P2PServiceListener() {
@Override @Override
public void onRequestingDataCompleted() { public void onRequestingDataCompleted() {
latch.countDown(); latch.countDown();
@ -219,7 +220,7 @@ public class PeerServiceTest {
Thread.sleep(500); Thread.sleep(500);
seedNode2 = new SeedNode("test_dummy_dir"); seedNode2 = new SeedNode("test_dummy_dir");
seedNode2.createAndStartP2PService(nodeAddress2, useLocalhost, 2, true, seedNodeAddresses, new P2PServiceListener() { seedNode2.createAndStartP2PService(nodeAddress2, MAX_CONNECTIONS, useLocalhost, 2, true, seedNodeAddresses, new P2PServiceListener() {
@Override @Override
public void onRequestingDataCompleted() { public void onRequestingDataCompleted() {
latch.countDown(); latch.countDown();
@ -456,7 +457,7 @@ public class PeerServiceTest {
SeedNode seedNode = new SeedNode("test_dummy_dir"); SeedNode seedNode = new SeedNode("test_dummy_dir");
latch = new CountDownLatch(1); latch = new CountDownLatch(1);
seedNode.createAndStartP2PService(new NodeAddress("localhost", port), useLocalhost, 2, true, seedNodeAddresses, new P2PServiceListener() { seedNode.createAndStartP2PService(new NodeAddress("localhost", port), MAX_CONNECTIONS, useLocalhost, 2, true, seedNodeAddresses, new P2PServiceListener() {
@Override @Override
public void onRequestingDataCompleted() { public void onRequestingDataCompleted() {
latch.countDown(); latch.countDown();

View file

@ -82,7 +82,7 @@ public class TestUtils {
} }
CountDownLatch latch = new CountDownLatch(1); CountDownLatch latch = new CountDownLatch(1);
seedNode.createAndStartP2PService(new NodeAddress("localhost", port), useLocalhost, 2, true, seedNode.createAndStartP2PService(new NodeAddress("localhost", port), SeedNode.MAX_CONNECTIONS_DEFAULT, useLocalhost, 2, true,
seedNodes, new P2PServiceListener() { seedNodes, new P2PServiceListener() {
@Override @Override
public void onRequestingDataCompleted() { public void onRequestingDataCompleted() {

View file

@ -26,6 +26,7 @@ import java.util.concurrent.CountDownLatch;
@Ignore @Ignore
public class PeerManagerTest { public class PeerManagerTest {
private static final Logger log = LoggerFactory.getLogger(PeerManagerTest.class); private static final Logger log = LoggerFactory.getLogger(PeerManagerTest.class);
public static final int MAX_CONNECTIONS = 100;
final boolean useLocalhost = true; final boolean useLocalhost = true;
private CountDownLatch latch; private CountDownLatch latch;
@ -37,7 +38,7 @@ public class PeerManagerTest {
public void setup() throws InterruptedException { public void setup() throws InterruptedException {
LocalhostNetworkNode.setSimulateTorDelayTorNode(50); LocalhostNetworkNode.setSimulateTorDelayTorNode(50);
LocalhostNetworkNode.setSimulateTorDelayHiddenService(8); LocalhostNetworkNode.setSimulateTorDelayHiddenService(8);
PeerManager.setMaxConnections(100); PeerManager.setMaxConnections(MAX_CONNECTIONS);
seedNodes = new HashSet<>(); seedNodes = new HashSet<>();
if (useLocalhost) { if (useLocalhost) {
@ -84,7 +85,7 @@ public class PeerManagerTest {
seedNodes.add(nodeAddress); seedNodes.add(nodeAddress);
seedNode1 = new SeedNode("test_dummy_dir"); seedNode1 = new SeedNode("test_dummy_dir");
latch = new CountDownLatch(2); latch = new CountDownLatch(2);
seedNode1.createAndStartP2PService(nodeAddress, useLocalhost, 2, true, seedNode1.createAndStartP2PService(nodeAddress, MAX_CONNECTIONS, useLocalhost, 2, true,
seedNodes, new P2PServiceListener() { seedNodes, new P2PServiceListener() {
@Override @Override
public void onRequestingDataCompleted() { public void onRequestingDataCompleted() {
@ -136,7 +137,7 @@ public class PeerManagerTest {
latch = new CountDownLatch(6); latch = new CountDownLatch(6);
seedNode1 = new SeedNode("test_dummy_dir"); seedNode1 = new SeedNode("test_dummy_dir");
seedNode1.createAndStartP2PService(nodeAddress1, useLocalhost, 2, true, seedNodes, new P2PServiceListener() { seedNode1.createAndStartP2PService(nodeAddress1, MAX_CONNECTIONS, useLocalhost, 2, true, seedNodes, new P2PServiceListener() {
@Override @Override
public void onRequestingDataCompleted() { public void onRequestingDataCompleted() {
latch.countDown(); latch.countDown();
@ -174,7 +175,7 @@ public class PeerManagerTest {
Thread.sleep(500); Thread.sleep(500);
seedNode2 = new SeedNode("test_dummy_dir"); seedNode2 = new SeedNode("test_dummy_dir");
seedNode2.createAndStartP2PService(nodeAddress2, useLocalhost, 2, true, seedNodes, new P2PServiceListener() { seedNode2.createAndStartP2PService(nodeAddress2, MAX_CONNECTIONS, useLocalhost, 2, true, seedNodes, new P2PServiceListener() {
@Override @Override
public void onRequestingDataCompleted() { public void onRequestingDataCompleted() {
latch.countDown(); latch.countDown();
@ -411,7 +412,7 @@ public class PeerManagerTest {
SeedNode seedNode = new SeedNode("test_dummy_dir"); SeedNode seedNode = new SeedNode("test_dummy_dir");
latch = new CountDownLatch(1); latch = new CountDownLatch(1);
seedNode.createAndStartP2PService(new NodeAddress("localhost", port), useLocalhost, 2, true, seedNodes, new P2PServiceListener() { seedNode.createAndStartP2PService(new NodeAddress("localhost", port), MAX_CONNECTIONS, useLocalhost, 2, true, seedNodes, new P2PServiceListener() {
@Override @Override
public void onRequestingDataCompleted() { public void onRequestingDataCompleted() {
latch.countDown(); latch.countDown();