Update to latest TomP2P master

This commit is contained in:
Manfred Karrer 2014-10-27 15:09:52 +01:00
parent 2a78e194bd
commit 9c8b76d2b6
5 changed files with 33 additions and 66 deletions

View file

@ -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'

View file

@ -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) {
} }
} }

View file

@ -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 {

View file

@ -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);
} }

View file

@ -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();
} }