mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-07-26 16:35:18 -04:00
Update to changes in TomP2P snapshot 25 API
This commit is contained in:
parent
b254ad234a
commit
68fc89f3f6
3 changed files with 29 additions and 19 deletions
|
@ -35,6 +35,7 @@ import net.tomp2p.peers.PeerAddress;
|
||||||
import net.tomp2p.peers.PeerMapChangeListener;
|
import net.tomp2p.peers.PeerMapChangeListener;
|
||||||
import net.tomp2p.peers.PeerStatatistic;
|
import net.tomp2p.peers.PeerStatatistic;
|
||||||
import net.tomp2p.relay.FutureRelay;
|
import net.tomp2p.relay.FutureRelay;
|
||||||
|
import net.tomp2p.relay.RconRPC;
|
||||||
import net.tomp2p.relay.RelayRPC;
|
import net.tomp2p.relay.RelayRPC;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
|
@ -114,7 +115,8 @@ public class SeedNode extends Thread {
|
||||||
// Need to add all features the clients will use (otherwise msg type is UNKNOWN_ID)
|
// Need to add all features the clients will use (otherwise msg type is UNKNOWN_ID)
|
||||||
new PeerBuilderDHT(peer).start();
|
new PeerBuilderDHT(peer).start();
|
||||||
PeerNAT nodeBehindNat = new PeerBuilderNAT(peer).start();
|
PeerNAT nodeBehindNat = new PeerBuilderNAT(peer).start();
|
||||||
new RelayRPC(peer);
|
RconRPC rconRPC = new RconRPC(peer);
|
||||||
|
new RelayRPC(peer, rconRPC);
|
||||||
//new PeerBuilderTracker(peer);
|
//new PeerBuilderTracker(peer);
|
||||||
nodeBehindNat.startSetupRelay(new FutureRelay());
|
nodeBehindNat.startSetupRelay(new FutureRelay());
|
||||||
|
|
||||||
|
|
|
@ -29,8 +29,8 @@ import net.tomp2p.nat.PeerBuilderNAT;
|
||||||
import net.tomp2p.nat.PeerNAT;
|
import net.tomp2p.nat.PeerNAT;
|
||||||
import net.tomp2p.p2p.Peer;
|
import net.tomp2p.p2p.Peer;
|
||||||
import net.tomp2p.p2p.PeerBuilder;
|
import net.tomp2p.p2p.PeerBuilder;
|
||||||
import net.tomp2p.peers.Number160;
|
|
||||||
import net.tomp2p.relay.FutureRelay;
|
import net.tomp2p.relay.FutureRelay;
|
||||||
|
import net.tomp2p.relay.RconRPC;
|
||||||
import net.tomp2p.relay.RelayRPC;
|
import net.tomp2p.relay.RelayRPC;
|
||||||
|
|
||||||
import akka.actor.AbstractActor;
|
import akka.actor.AbstractActor;
|
||||||
|
@ -73,7 +73,8 @@ public class DHTManager extends AbstractActor {
|
||||||
// Need to add all features the clients will use (otherwise msg type is UNKNOWN_ID)
|
// Need to add all features the clients will use (otherwise msg type is UNKNOWN_ID)
|
||||||
peerDHT = new PeerBuilderDHT(peer).start();
|
peerDHT = new PeerBuilderDHT(peer).start();
|
||||||
PeerNAT nodeBehindNat = new PeerBuilderNAT(peer).start();
|
PeerNAT nodeBehindNat = new PeerBuilderNAT(peer).start();
|
||||||
new RelayRPC(peer);
|
RconRPC rconRPC = new RconRPC(peer);
|
||||||
|
new RelayRPC(peer, rconRPC);
|
||||||
//new PeerBuilderTracker(peer);
|
//new PeerBuilderTracker(peer);
|
||||||
nodeBehindNat.startSetupRelay(new FutureRelay());
|
nodeBehindNat.startSetupRelay(new FutureRelay());
|
||||||
|
|
||||||
|
|
|
@ -48,7 +48,7 @@ import net.tomp2p.peers.PeerSocketAddress;
|
||||||
|
|
||||||
public class UtilsDHT2 {
|
public class UtilsDHT2 {
|
||||||
/**
|
/**
|
||||||
* Used to make the testcases predictable. Used as an input for {@link java.util.Random}.
|
* Used to make the testcases predictable. Used as an input for {@link Random}.
|
||||||
*/
|
*/
|
||||||
public static final long THE_ANSWER = 42L;
|
public static final long THE_ANSWER = 42L;
|
||||||
|
|
||||||
|
@ -83,8 +83,9 @@ public class UtilsDHT2 {
|
||||||
return createAddress(new Number160(id), "127.0.0.1", 8005, 8006, false, false);
|
return createAddress(new Number160(id), "127.0.0.1", 8005, 8006, false, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static PeerAddress createAddress(Number160 idSender, String inetSender, int tcpPortSender, int udpPortSender,
|
public static PeerAddress createAddress(Number160 idSender, String inetSender, int tcpPortSender,
|
||||||
boolean firewallUDP, boolean firewallTCP) throws UnknownHostException {
|
int udpPortSender, boolean firewallUDP,
|
||||||
|
boolean firewallTCP) throws UnknownHostException {
|
||||||
InetAddress inetSend = InetAddress.getByName(inetSender);
|
InetAddress inetSend = InetAddress.getByName(inetSender);
|
||||||
PeerSocketAddress peerSocketAddress = new PeerSocketAddress(inetSend, tcpPortSender, udpPortSender);
|
PeerSocketAddress peerSocketAddress = new PeerSocketAddress(inetSend, tcpPortSender, udpPortSender);
|
||||||
PeerAddress n1 = new PeerAddress(idSender, peerSocketAddress, firewallTCP, firewallUDP, false,
|
PeerAddress n1 = new PeerAddress(idSender, peerSocketAddress, firewallTCP, firewallUDP, false,
|
||||||
|
@ -94,8 +95,10 @@ public class UtilsDHT2 {
|
||||||
|
|
||||||
public static Message createDummyMessage(Number160 idSender, String inetSender, int tcpPortSendor,
|
public static Message createDummyMessage(Number160 idSender, String inetSender, int tcpPortSendor,
|
||||||
int udpPortSender, Number160 idRecipien, String inetRecipient,
|
int udpPortSender, Number160 idRecipien, String inetRecipient,
|
||||||
int tcpPortRecipient, int udpPortRecipient, byte command, Type type,
|
int tcpPortRecipient,
|
||||||
boolean firewallUDP, boolean firewallTCP) throws UnknownHostException {
|
int udpPortRecipient, byte command, Type type, boolean firewallUDP,
|
||||||
|
boolean firewallTCP)
|
||||||
|
throws UnknownHostException {
|
||||||
Message message = new Message();
|
Message message = new Message();
|
||||||
PeerAddress n1 = createAddress(idSender, inetSender, tcpPortSendor, udpPortSender, firewallUDP,
|
PeerAddress n1 = createAddress(idSender, inetSender, tcpPortSendor, udpPortSender, firewallUDP,
|
||||||
firewallTCP);
|
firewallTCP);
|
||||||
|
@ -122,18 +125,22 @@ public class UtilsDHT2 {
|
||||||
* Creates peers for testing. The first peer (peer[0]) will be used as the master. This means that shutting down
|
* Creates peers for testing. The first peer (peer[0]) will be used as the master. This means that shutting down
|
||||||
* peer[0] will shut down all other peers
|
* peer[0] will shut down all other peers
|
||||||
*
|
*
|
||||||
* @param nrOfPeers The number of peers to create including the master
|
* @param nrOfPeers
|
||||||
* @param rnd The random object to create random peer IDs
|
* The number of peers to create including the master
|
||||||
* @param port The port where the master peer will listen to
|
* @param rnd
|
||||||
|
* The random object to create random peer IDs
|
||||||
|
* @param port
|
||||||
|
* The port where the master peer will listen to
|
||||||
* @return All the peers, with the master peer at position 0 -> peer[0]
|
* @return All the peers, with the master peer at position 0 -> peer[0]
|
||||||
* @throws Exception If the creation of nodes fail.
|
* @throws Exception
|
||||||
|
* If the creation of nodes fail.
|
||||||
*/
|
*/
|
||||||
public static PeerDHT[] createNodes(int nrOfPeers, Random rnd, int port, AutomaticFuture automaticFuture,
|
public static PeerDHT[] createNodes(int nrOfPeers, Random rnd, int port, AutomaticFuture automaticFuture,
|
||||||
boolean maintenance) throws Exception {
|
boolean maintenance) throws Exception {
|
||||||
if (nrOfPeers < 1) {
|
if (nrOfPeers < 1) {
|
||||||
throw new IllegalArgumentException("Cannot create less than 1 peer");
|
throw new IllegalArgumentException("Cannot create less than 1 peer");
|
||||||
}
|
}
|
||||||
Bindings bindings = new Bindings();
|
Bindings bindings = new Bindings();//.addInterface("lo");
|
||||||
PeerDHT[] peers = new PeerDHT[nrOfPeers];
|
PeerDHT[] peers = new PeerDHT[nrOfPeers];
|
||||||
final Peer master;
|
final Peer master;
|
||||||
if (automaticFuture != null) {
|
if (automaticFuture != null) {
|
||||||
|
@ -159,8 +166,7 @@ public class UtilsDHT2 {
|
||||||
PeerMap peerMap = new PeerMap(new PeerMapConfiguration(peerId));
|
PeerMap peerMap = new PeerMap(new PeerMapConfiguration(peerId));
|
||||||
Peer peer = new PeerBuilder(peerId)
|
Peer peer = new PeerBuilder(peerId)
|
||||||
.masterPeer(master)
|
.masterPeer(master)
|
||||||
.enableMaintenance(maintenance).enableMaintenance(maintenance).peerMap(peerMap)
|
.enableMaintenance(maintenance).enableMaintenance(maintenance).peerMap(peerMap).externalBindings(bindings).start().addAutomaticFuture(automaticFuture);
|
||||||
.externalBindings(bindings).start().addAutomaticFuture(automaticFuture);
|
|
||||||
peers[i] = new PeerBuilderDHT(peer).start();
|
peers[i] = new PeerBuilderDHT(peer).start();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -208,12 +214,13 @@ public class UtilsDHT2 {
|
||||||
* Perfect routing, where each neighbor has contacted each other. This means that for small number of peers, every
|
* Perfect routing, where each neighbor has contacted each other. This means that for small number of peers, every
|
||||||
* peer knows every other peer.
|
* peer knows every other peer.
|
||||||
*
|
*
|
||||||
* @param peers The peers taking part in the p2p network.
|
* @param peers
|
||||||
|
* The peers taking part in the p2p network.
|
||||||
*/
|
*/
|
||||||
public static void perfectRouting(PeerDHT... peers) {
|
public static void perfectRouting(PeerDHT... peers) {
|
||||||
for (int i = 0; i < peers.length; i++) {
|
for (int i = 0; i < peers.length; i++) {
|
||||||
for (int j = 0; j < peers.length; j++)
|
for (int j = 0; j < peers.length; j++)
|
||||||
peers[i].peer().peerBean().peerMap().peerFound(peers[j].peer().peerAddress(), null);
|
peers[i].peer().peerBean().peerMap().peerFound(peers[j].peer().peerAddress(), null, null);
|
||||||
}
|
}
|
||||||
System.err.println("perfect routing done.");
|
System.err.println("perfect routing done.");
|
||||||
}
|
}
|
||||||
|
@ -221,7 +228,7 @@ public class UtilsDHT2 {
|
||||||
public static void perfectRoutingIndirect(PeerDHT... peers) {
|
public static void perfectRoutingIndirect(PeerDHT... peers) {
|
||||||
for (int i = 0; i < peers.length; i++) {
|
for (int i = 0; i < peers.length; i++) {
|
||||||
for (int j = 0; j < peers.length; j++)
|
for (int j = 0; j < peers.length; j++)
|
||||||
peers[i].peerBean().peerMap().peerFound(peers[j].peerAddress(), peers[j].peerAddress());
|
peers[i].peerBean().peerMap().peerFound(peers[j].peerAddress(), peers[j].peerAddress(), null);
|
||||||
}
|
}
|
||||||
System.err.println("perfect routing done.");
|
System.err.println("perfect routing done.");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue