mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-04-19 15:26:03 -04:00
Update to latest TomP2P master
This commit is contained in:
parent
2a78e194bd
commit
9c8b76d2b6
@ -22,7 +22,7 @@ repositories {
|
||||
|
||||
dependencies {
|
||||
compile 'org.bitcoinj:bitcoinj-core:0.12'
|
||||
compile 'net.tomp2p:tomp2p-all:5.0-Alpha.094d47d-SNAPSHOT'
|
||||
compile 'net.tomp2p:tomp2p-all:5.0-Alpha.6fc2241-SNAPSHOT'
|
||||
compile 'com.typesafe.akka:akka-actor_2.10:2.3.4'
|
||||
compile 'org.slf4j:slf4j-api:1.7.7'
|
||||
compile 'ch.qos.logback:logback-core:1.1.2'
|
||||
|
@ -15,7 +15,9 @@
|
||||
* along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package io.bitsquare.msg;
|
||||
package io.bitsquare;
|
||||
|
||||
import io.bitsquare.msg.SeedNodeAddress;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
@ -26,7 +28,7 @@ import net.tomp2p.p2p.PeerBuilder;
|
||||
import net.tomp2p.peers.Number160;
|
||||
import net.tomp2p.peers.PeerAddress;
|
||||
import net.tomp2p.peers.PeerMapChangeListener;
|
||||
import net.tomp2p.peers.PeerStatatistic;
|
||||
import net.tomp2p.peers.PeerStatistic;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@ -51,12 +53,12 @@ public class SeedNode extends Thread {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void peerRemoved(PeerAddress peerAddress, PeerStatatistic peerStatistics) {
|
||||
public void peerRemoved(PeerAddress peerAddress, PeerStatistic peerStatistics) {
|
||||
log.debug("Peer removed: peerAddress=" + peerAddress + ", peerStatistics=" + peerStatistics);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void peerUpdated(PeerAddress peerAddress, PeerStatatistic peerStatistics) {
|
||||
public void peerUpdated(PeerAddress peerAddress, PeerStatistic peerStatistics) {
|
||||
// log.debug("Peer updated: peerAddress=" + peerAddress + ",
|
||||
// peerStatistics=" + peerStatistics);
|
||||
}
|
||||
@ -67,9 +69,9 @@ public class SeedNode extends Thread {
|
||||
while (true) {
|
||||
try {
|
||||
for (PeerAddress pa : _peer.peerBean().peerMap().all()) {
|
||||
System.out.println("peer online (TCP):" + pa);
|
||||
System.out.println("Peer online:" + pa);
|
||||
}
|
||||
Thread.sleep(2000L);
|
||||
Thread.sleep(5000L);
|
||||
} catch (InterruptedException e) {
|
||||
}
|
||||
}
|
@ -54,7 +54,7 @@ import net.tomp2p.p2p.PeerBuilder;
|
||||
import net.tomp2p.peers.Number160;
|
||||
import net.tomp2p.peers.PeerAddress;
|
||||
import net.tomp2p.peers.PeerMapChangeListener;
|
||||
import net.tomp2p.peers.PeerStatatistic;
|
||||
import net.tomp2p.peers.PeerStatistic;
|
||||
import net.tomp2p.storage.Storage;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@ -121,12 +121,12 @@ public class BootstrappedPeerFactory {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void peerRemoved(PeerAddress peerAddress, PeerStatatistic peerStatistics) {
|
||||
public void peerRemoved(PeerAddress peerAddress, PeerStatistic peerStatistics) {
|
||||
log.debug("Peer removed: peerAddress=" + peerAddress + ", peerStatistics=" + peerStatistics);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void peerUpdated(PeerAddress peerAddress, PeerStatatistic peerStatistics) {
|
||||
public void peerUpdated(PeerAddress peerAddress, PeerStatistic peerStatistics) {
|
||||
// log.debug("Peer updated: peerAddress=" + peerAddress + ", peerStatistics=" + peerStatistics);
|
||||
}
|
||||
});
|
||||
@ -156,12 +156,10 @@ public class BootstrappedPeerFactory {
|
||||
|
||||
switch (lastSuccessfulBootstrap) {
|
||||
case "relay":
|
||||
// just temporary while port forwarding is not working
|
||||
//futureDiscover = peerDHT.peer().discover().peerAddress(getBootstrapAddress()).start();
|
||||
// PeerNAT peerNAT = new PeerBuilderNAT(peerDHT.peer()).start();
|
||||
//FutureNAT futureNAT = peerNAT.startSetupPortforwarding(futureDiscover);
|
||||
// bootstrapWithRelay(peerDHT, peerNAT, futureDiscover, futureNAT);
|
||||
bootstrapWithRelay(peerDHT);
|
||||
futureDiscover = peerDHT.peer().discover().peerAddress(getBootstrapAddress()).start();
|
||||
PeerNAT peerNAT = new PeerBuilderNAT(peerDHT.peer()).start();
|
||||
FutureNAT futureNAT = peerNAT.startSetupPortforwarding(futureDiscover);
|
||||
bootstrapWithRelay(peerDHT, peerNAT, futureDiscover, futureNAT);
|
||||
break;
|
||||
case "portForwarding":
|
||||
futureDiscover = peerDHT.peer().discover().peerAddress(getBootstrapAddress()).start();
|
||||
@ -197,12 +195,8 @@ public class BootstrappedPeerFactory {
|
||||
setState("We are probably behind a NAT and not reachable to other peers. " +
|
||||
"We try port forwarding as next step.");
|
||||
|
||||
// just temporary while port forwarding is not working
|
||||
//tryPortForwarding(peerDHT, futureDiscover);
|
||||
tryPortForwarding(peerDHT, futureDiscover);
|
||||
setState("Port forwarding has failed. We try to use a relay as next step.");
|
||||
PeerNAT peerNAT = new PeerBuilderNAT(peerDHT.peer()).start();
|
||||
FutureNAT futureNAT = peerNAT.startSetupPortforwarding(futureDiscover);
|
||||
// bootstrapWithRelay(peerDHT, peerNAT, futureDiscover, futureNAT);
|
||||
}
|
||||
}
|
||||
|
||||
@ -230,7 +224,7 @@ public class BootstrappedPeerFactory {
|
||||
else {
|
||||
log.warn("Port forwarding has failed. Reason: " + futureNAT.failedReason());
|
||||
setState("Port forwarding has failed. We try to use a relay as next step.");
|
||||
// bootstrapWithRelay(peerDHT, peerNAT, futureDiscover, futureNAT);
|
||||
bootstrapWithRelay(peerDHT, peerNAT, futureDiscover, futureNAT);
|
||||
}
|
||||
}
|
||||
|
||||
@ -275,21 +269,10 @@ public class BootstrappedPeerFactory {
|
||||
});
|
||||
}
|
||||
|
||||
// just temporary while port forwarding is not working
|
||||
// 3. Attempt: We try to use another peer as relay
|
||||
/* private void bootstrapWithRelay(PeerDHT peerDHT, PeerNAT peerNAT, FutureDiscover futureDiscover,
|
||||
FutureNAT futureNAT) {*/
|
||||
|
||||
private void bootstrapWithRelay(PeerDHT peerDHT) {
|
||||
|
||||
PeerAddress upa = peerDHT.peerBean().serverPeerAddress();
|
||||
upa = upa.changeFirewalledTCP(true).changeFirewalledUDP(true);
|
||||
peerDHT.peerBean().serverPeerAddress(upa);
|
||||
|
||||
PeerNAT peerNAT = new PeerBuilderNAT(peerDHT.peer()).start();
|
||||
FutureRelayNAT futureRelayNAT = peerNAT.startRelay(getBootstrapAddress());
|
||||
|
||||
//FutureRelayNAT futureRelayNAT = peerNAT.startRelay(futureDiscover, futureNAT);
|
||||
private void bootstrapWithRelay(PeerDHT peerDHT, PeerNAT peerNAT, FutureDiscover futureDiscover,
|
||||
FutureNAT futureNAT) {
|
||||
FutureRelayNAT futureRelayNAT = peerNAT.startRelay(futureDiscover, futureNAT);
|
||||
futureRelayNAT.addListener(new BaseFutureListener<BaseFuture>() {
|
||||
@Override
|
||||
public void operationComplete(BaseFuture future) throws Exception {
|
||||
|
@ -30,7 +30,7 @@ import net.tomp2p.p2p.Peer;
|
||||
import net.tomp2p.p2p.PeerBuilder;
|
||||
import net.tomp2p.peers.PeerAddress;
|
||||
import net.tomp2p.peers.PeerMapChangeListener;
|
||||
import net.tomp2p.peers.PeerStatatistic;
|
||||
import net.tomp2p.peers.PeerStatistic;
|
||||
|
||||
import akka.actor.AbstractActor;
|
||||
import akka.actor.Props;
|
||||
@ -84,13 +84,13 @@ public class DHTManager extends AbstractActor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void peerRemoved(PeerAddress peerAddress, PeerStatatistic peerStatistics) {
|
||||
public void peerRemoved(PeerAddress peerAddress, PeerStatistic peerStatistics) {
|
||||
log.debug("Peer removed: peerAddress=" + peerAddress + ", " +
|
||||
"peerStatistics=" + peerStatistics);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void peerUpdated(PeerAddress peerAddress, PeerStatatistic peerStatistics) {
|
||||
public void peerUpdated(PeerAddress peerAddress, PeerStatistic peerStatistics) {
|
||||
// log.debug("Peer updated: peerAddress=" + peerAddress + ",
|
||||
// peerStatistics=" + peerStatistics);
|
||||
}
|
||||
|
@ -1,20 +1,3 @@
|
||||
/*
|
||||
* This file is part of Bitsquare.
|
||||
*
|
||||
* Bitsquare is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Affero General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or (at
|
||||
* your option) any later version.
|
||||
*
|
||||
* Bitsquare is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
|
||||
* License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright 2012 Thomas Bocek
|
||||
*
|
||||
@ -63,7 +46,7 @@ import net.tomp2p.peers.PeerSocketAddress;
|
||||
|
||||
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;
|
||||
|
||||
@ -137,7 +120,7 @@ public class UtilsDHT2 {
|
||||
/**
|
||||
* 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
|
||||
*
|
||||
*
|
||||
* @param nrOfPeers
|
||||
* The number of peers to create including the master
|
||||
* @param rnd
|
||||
@ -161,16 +144,16 @@ public class UtilsDHT2 {
|
||||
PeerMap peerMap = new PeerMap(new PeerMapConfiguration(peerId));
|
||||
master = new PeerBuilder(peerId)
|
||||
.ports(port).enableMaintenance(maintenance)
|
||||
.externalBindings(bindings).peerMap(peerMap).start().addAutomaticFuture(automaticFuture);
|
||||
.bindings(bindings).peerMap(peerMap).start().addAutomaticFuture(automaticFuture);
|
||||
peers[0] = new PeerBuilderDHT(master).start();
|
||||
|
||||
}
|
||||
else {
|
||||
Number160 peerId = new Number160(rnd);
|
||||
PeerMap peerMap = new PeerMap(new PeerMapConfiguration(peerId));
|
||||
master = new PeerBuilder(peerId).enableMaintenance(maintenance).externalBindings(bindings)
|
||||
master = new PeerBuilder(peerId).enableMaintenance(maintenance).bindings(bindings)
|
||||
.peerMap(peerMap).ports(port).start();
|
||||
peers[0] = new PeerBuilderDHT(master).start();
|
||||
peers[0] = new PeerBuilderDHT(master).start();
|
||||
}
|
||||
|
||||
for (int i = 1; i < nrOfPeers; i++) {
|
||||
@ -179,17 +162,16 @@ public class UtilsDHT2 {
|
||||
PeerMap peerMap = new PeerMap(new PeerMapConfiguration(peerId));
|
||||
Peer peer = new PeerBuilder(peerId)
|
||||
.masterPeer(master)
|
||||
.enableMaintenance(maintenance).enableMaintenance(maintenance).peerMap(peerMap)
|
||||
.externalBindings(bindings).start().addAutomaticFuture(automaticFuture);
|
||||
.enableMaintenance(maintenance).enableMaintenance(maintenance).peerMap(peerMap).bindings(bindings).start().addAutomaticFuture(automaticFuture);
|
||||
peers[i] = new PeerBuilderDHT(peer).start();
|
||||
}
|
||||
else {
|
||||
Number160 peerId = new Number160(rnd);
|
||||
PeerMap peerMap = new PeerMap(new PeerMapConfiguration(peerId).peerNoVerification());
|
||||
Peer peer = new PeerBuilder(peerId).enableMaintenance(maintenance)
|
||||
.externalBindings(bindings).peerMap(peerMap).masterPeer(master)
|
||||
.bindings(bindings).peerMap(peerMap).masterPeer(master)
|
||||
.start();
|
||||
peers[i] = new PeerBuilderDHT(peer).start();
|
||||
peers[i] = new PeerBuilderDHT(peer).start();
|
||||
}
|
||||
}
|
||||
System.err.println("peers created.");
|
||||
@ -227,7 +209,7 @@ public class UtilsDHT2 {
|
||||
/**
|
||||
* Perfect routing, where each neighbor has contacted each other. This means that for small number of peers, every
|
||||
* peer knows every other peer.
|
||||
*
|
||||
*
|
||||
* @param peers
|
||||
* The peers taking part in the p2p network.
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user