mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-07-26 16:35:18 -04:00
Update to latest TomP2P master
This commit is contained in:
parent
2a78e194bd
commit
9c8b76d2b6
5 changed files with 33 additions and 66 deletions
|
@ -22,7 +22,7 @@ repositories {
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compile 'org.bitcoinj:bitcoinj-core:0.12'
|
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 'com.typesafe.akka:akka-actor_2.10:2.3.4'
|
||||||
compile 'org.slf4j:slf4j-api:1.7.7'
|
compile 'org.slf4j:slf4j-api:1.7.7'
|
||||||
compile 'ch.qos.logback:logback-core:1.1.2'
|
compile 'ch.qos.logback:logback-core:1.1.2'
|
||||||
|
|
|
@ -15,7 +15,9 @@
|
||||||
* along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
|
* 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;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
@ -26,7 +28,7 @@ import net.tomp2p.p2p.PeerBuilder;
|
||||||
import net.tomp2p.peers.Number160;
|
import net.tomp2p.peers.Number160;
|
||||||
import net.tomp2p.peers.PeerAddress;
|
import net.tomp2p.peers.PeerAddress;
|
||||||
import net.tomp2p.peers.PeerMapChangeListener;
|
import net.tomp2p.peers.PeerMapChangeListener;
|
||||||
import net.tomp2p.peers.PeerStatatistic;
|
import net.tomp2p.peers.PeerStatistic;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
@ -51,12 +53,12 @@ public class SeedNode extends Thread {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void peerRemoved(PeerAddress peerAddress, PeerStatatistic peerStatistics) {
|
public void peerRemoved(PeerAddress peerAddress, PeerStatistic peerStatistics) {
|
||||||
log.debug("Peer removed: peerAddress=" + peerAddress + ", peerStatistics=" + peerStatistics);
|
log.debug("Peer removed: peerAddress=" + peerAddress + ", peerStatistics=" + peerStatistics);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void peerUpdated(PeerAddress peerAddress, PeerStatatistic peerStatistics) {
|
public void peerUpdated(PeerAddress peerAddress, PeerStatistic peerStatistics) {
|
||||||
// log.debug("Peer updated: peerAddress=" + peerAddress + ",
|
// log.debug("Peer updated: peerAddress=" + peerAddress + ",
|
||||||
// peerStatistics=" + peerStatistics);
|
// peerStatistics=" + peerStatistics);
|
||||||
}
|
}
|
||||||
|
@ -67,9 +69,9 @@ public class SeedNode extends Thread {
|
||||||
while (true) {
|
while (true) {
|
||||||
try {
|
try {
|
||||||
for (PeerAddress pa : _peer.peerBean().peerMap().all()) {
|
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) {
|
} catch (InterruptedException e) {
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -54,7 +54,7 @@ import net.tomp2p.p2p.PeerBuilder;
|
||||||
import net.tomp2p.peers.Number160;
|
import net.tomp2p.peers.Number160;
|
||||||
import net.tomp2p.peers.PeerAddress;
|
import net.tomp2p.peers.PeerAddress;
|
||||||
import net.tomp2p.peers.PeerMapChangeListener;
|
import net.tomp2p.peers.PeerMapChangeListener;
|
||||||
import net.tomp2p.peers.PeerStatatistic;
|
import net.tomp2p.peers.PeerStatistic;
|
||||||
import net.tomp2p.storage.Storage;
|
import net.tomp2p.storage.Storage;
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
@ -121,12 +121,12 @@ public class BootstrappedPeerFactory {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void peerRemoved(PeerAddress peerAddress, PeerStatatistic peerStatistics) {
|
public void peerRemoved(PeerAddress peerAddress, PeerStatistic peerStatistics) {
|
||||||
log.debug("Peer removed: peerAddress=" + peerAddress + ", peerStatistics=" + peerStatistics);
|
log.debug("Peer removed: peerAddress=" + peerAddress + ", peerStatistics=" + peerStatistics);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void peerUpdated(PeerAddress peerAddress, PeerStatatistic peerStatistics) {
|
public void peerUpdated(PeerAddress peerAddress, PeerStatistic peerStatistics) {
|
||||||
// log.debug("Peer updated: peerAddress=" + peerAddress + ", peerStatistics=" + peerStatistics);
|
// log.debug("Peer updated: peerAddress=" + peerAddress + ", peerStatistics=" + peerStatistics);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -156,12 +156,10 @@ public class BootstrappedPeerFactory {
|
||||||
|
|
||||||
switch (lastSuccessfulBootstrap) {
|
switch (lastSuccessfulBootstrap) {
|
||||||
case "relay":
|
case "relay":
|
||||||
// just temporary while port forwarding is not working
|
futureDiscover = peerDHT.peer().discover().peerAddress(getBootstrapAddress()).start();
|
||||||
//futureDiscover = peerDHT.peer().discover().peerAddress(getBootstrapAddress()).start();
|
PeerNAT peerNAT = new PeerBuilderNAT(peerDHT.peer()).start();
|
||||||
// PeerNAT peerNAT = new PeerBuilderNAT(peerDHT.peer()).start();
|
FutureNAT futureNAT = peerNAT.startSetupPortforwarding(futureDiscover);
|
||||||
//FutureNAT futureNAT = peerNAT.startSetupPortforwarding(futureDiscover);
|
bootstrapWithRelay(peerDHT, peerNAT, futureDiscover, futureNAT);
|
||||||
// bootstrapWithRelay(peerDHT, peerNAT, futureDiscover, futureNAT);
|
|
||||||
bootstrapWithRelay(peerDHT);
|
|
||||||
break;
|
break;
|
||||||
case "portForwarding":
|
case "portForwarding":
|
||||||
futureDiscover = peerDHT.peer().discover().peerAddress(getBootstrapAddress()).start();
|
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. " +
|
setState("We are probably behind a NAT and not reachable to other peers. " +
|
||||||
"We try port forwarding as next step.");
|
"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.");
|
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 {
|
else {
|
||||||
log.warn("Port forwarding has failed. Reason: " + futureNAT.failedReason());
|
log.warn("Port forwarding has failed. Reason: " + futureNAT.failedReason());
|
||||||
setState("Port forwarding has failed. We try to use a relay as next step.");
|
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
|
// 3. Attempt: We try to use another peer as relay
|
||||||
/* private void bootstrapWithRelay(PeerDHT peerDHT, PeerNAT peerNAT, FutureDiscover futureDiscover,
|
private void bootstrapWithRelay(PeerDHT peerDHT, PeerNAT peerNAT, FutureDiscover futureDiscover,
|
||||||
FutureNAT futureNAT) {*/
|
FutureNAT futureNAT) {
|
||||||
|
FutureRelayNAT futureRelayNAT = peerNAT.startRelay(futureDiscover, 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);
|
|
||||||
futureRelayNAT.addListener(new BaseFutureListener<BaseFuture>() {
|
futureRelayNAT.addListener(new BaseFutureListener<BaseFuture>() {
|
||||||
@Override
|
@Override
|
||||||
public void operationComplete(BaseFuture future) throws Exception {
|
public void operationComplete(BaseFuture future) throws Exception {
|
||||||
|
|
|
@ -30,7 +30,7 @@ import net.tomp2p.p2p.Peer;
|
||||||
import net.tomp2p.p2p.PeerBuilder;
|
import net.tomp2p.p2p.PeerBuilder;
|
||||||
import net.tomp2p.peers.PeerAddress;
|
import net.tomp2p.peers.PeerAddress;
|
||||||
import net.tomp2p.peers.PeerMapChangeListener;
|
import net.tomp2p.peers.PeerMapChangeListener;
|
||||||
import net.tomp2p.peers.PeerStatatistic;
|
import net.tomp2p.peers.PeerStatistic;
|
||||||
|
|
||||||
import akka.actor.AbstractActor;
|
import akka.actor.AbstractActor;
|
||||||
import akka.actor.Props;
|
import akka.actor.Props;
|
||||||
|
@ -84,13 +84,13 @@ public class DHTManager extends AbstractActor {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void peerRemoved(PeerAddress peerAddress, PeerStatatistic peerStatistics) {
|
public void peerRemoved(PeerAddress peerAddress, PeerStatistic peerStatistics) {
|
||||||
log.debug("Peer removed: peerAddress=" + peerAddress + ", " +
|
log.debug("Peer removed: peerAddress=" + peerAddress + ", " +
|
||||||
"peerStatistics=" + peerStatistics);
|
"peerStatistics=" + peerStatistics);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void peerUpdated(PeerAddress peerAddress, PeerStatatistic peerStatistics) {
|
public void peerUpdated(PeerAddress peerAddress, PeerStatistic peerStatistics) {
|
||||||
// log.debug("Peer updated: peerAddress=" + peerAddress + ",
|
// log.debug("Peer updated: peerAddress=" + peerAddress + ",
|
||||||
// peerStatistics=" + peerStatistics);
|
// 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
|
* Copyright 2012 Thomas Bocek
|
||||||
*
|
*
|
||||||
|
@ -63,7 +46,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;
|
||||||
|
|
||||||
|
@ -161,14 +144,14 @@ public class UtilsDHT2 {
|
||||||
PeerMap peerMap = new PeerMap(new PeerMapConfiguration(peerId));
|
PeerMap peerMap = new PeerMap(new PeerMapConfiguration(peerId));
|
||||||
master = new PeerBuilder(peerId)
|
master = new PeerBuilder(peerId)
|
||||||
.ports(port).enableMaintenance(maintenance)
|
.ports(port).enableMaintenance(maintenance)
|
||||||
.externalBindings(bindings).peerMap(peerMap).start().addAutomaticFuture(automaticFuture);
|
.bindings(bindings).peerMap(peerMap).start().addAutomaticFuture(automaticFuture);
|
||||||
peers[0] = new PeerBuilderDHT(master).start();
|
peers[0] = new PeerBuilderDHT(master).start();
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Number160 peerId = new Number160(rnd);
|
Number160 peerId = new Number160(rnd);
|
||||||
PeerMap peerMap = new PeerMap(new PeerMapConfiguration(peerId));
|
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();
|
.peerMap(peerMap).ports(port).start();
|
||||||
peers[0] = new PeerBuilderDHT(master).start();
|
peers[0] = new PeerBuilderDHT(master).start();
|
||||||
}
|
}
|
||||||
|
@ -179,15 +162,14 @@ 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).bindings(bindings).start().addAutomaticFuture(automaticFuture);
|
||||||
.externalBindings(bindings).start().addAutomaticFuture(automaticFuture);
|
|
||||||
peers[i] = new PeerBuilderDHT(peer).start();
|
peers[i] = new PeerBuilderDHT(peer).start();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Number160 peerId = new Number160(rnd);
|
Number160 peerId = new Number160(rnd);
|
||||||
PeerMap peerMap = new PeerMap(new PeerMapConfiguration(peerId).peerNoVerification());
|
PeerMap peerMap = new PeerMap(new PeerMapConfiguration(peerId).peerNoVerification());
|
||||||
Peer peer = new PeerBuilder(peerId).enableMaintenance(maintenance)
|
Peer peer = new PeerBuilder(peerId).enableMaintenance(maintenance)
|
||||||
.externalBindings(bindings).peerMap(peerMap).masterPeer(master)
|
.bindings(bindings).peerMap(peerMap).masterPeer(master)
|
||||||
.start();
|
.start();
|
||||||
peers[i] = new PeerBuilderDHT(peer).start();
|
peers[i] = new PeerBuilderDHT(peer).start();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue