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

View File

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

View File

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

View File

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

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
*
@ -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.
*/