Skip to content

Commit

Permalink
Merge pull request #1330 from blabno/feature/configurable-address-in-…
Browse files Browse the repository at this point in the history
…localp2p-mode

Configurable hostname in localhost p2p mode.
  • Loading branch information
ManfredKarrer authored Feb 6, 2018
2 parents 1bd222c + c12fb0c commit fb28766
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,11 @@ public class NetworkNodeProvider implements Provider<NetworkNode> {
public NetworkNodeProvider(NetworkProtoResolver networkProtoResolver,
BridgeAddressProvider bridgeAddressProvider,
@Named(NetworkOptionKeys.USE_LOCALHOST_FOR_P2P) boolean useLocalhostForP2P,
@Named(NetworkOptionKeys.MY_ADDRESS) String address,
@Named(NetworkOptionKeys.PORT_KEY) int port,
@Named(NetworkOptionKeys.TOR_DIR) File torDir) {
networkNode = useLocalhostForP2P ?
new LocalhostNetworkNode(port, networkProtoResolver) :
new LocalhostNetworkNode(address, port, networkProtoResolver) :
new TorNetworkNode(port, torDir, networkProtoResolver, bridgeAddressProvider);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ public class LocalhostNetworkNode extends NetworkNode {
private static int simulateTorDelayTorNode = 500;
private static int simulateTorDelayHiddenService = 500;

private String address;

public static void setSimulateTorDelayTorNode(int simulateTorDelayTorNode) {
LocalhostNetworkNode.simulateTorDelayTorNode = simulateTorDelayTorNode;
}
Expand All @@ -33,8 +35,15 @@ public static void setSimulateTorDelayHiddenService(int simulateTorDelayHiddenSe
// Constructor
///////////////////////////////////////////////////////////////////////////////////////////

public LocalhostNetworkNode(int port, NetworkProtoResolver networkProtoResolver) {
public LocalhostNetworkNode(String address, int port, NetworkProtoResolver networkProtoResolver) {
super(port, networkProtoResolver);
if (null != address && !address.trim().isEmpty()) {
this.address = address;
}
}

public LocalhostNetworkNode(int port, NetworkProtoResolver networkProtoResolver) {
this(null, port, networkProtoResolver);
}

@Override
Expand All @@ -59,7 +68,10 @@ public void start(@Nullable SetupListener setupListener) {
log.error("Exception at startServer: " + e.getMessage());
}

nodeAddressProperty.set(new NodeAddress("localhost", servicePort));
final NodeAddress nodeAddress;
if (null == address) nodeAddress = new NodeAddress("localhost", servicePort);
else nodeAddress = new NodeAddress(address);
nodeAddressProperty.set(nodeAddress);
setupListeners.stream().forEach(SetupListener::onHiddenServicePublished);
}, simulateTorDelayTorNode, TimeUnit.MILLISECONDS);
}, simulateTorDelayHiddenService, TimeUnit.MILLISECONDS);
Expand Down

0 comments on commit fb28766

Please sign in to comment.