mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-08-02 03:36:24 -04:00
Fix problem with relay and portforwarding
This commit is contained in:
parent
6a51dd154a
commit
7c8a8dffcd
1 changed files with 23 additions and 25 deletions
|
@ -152,25 +152,16 @@ public class BootstrappedPeerFactory {
|
||||||
FutureDiscover futureDiscover;
|
FutureDiscover futureDiscover;
|
||||||
|
|
||||||
// just temporary while port forwarding is not working
|
// just temporary while port forwarding is not working
|
||||||
|
lastSuccessfulBootstrap = "relay";
|
||||||
|
|
||||||
switch (lastSuccessfulBootstrap) {
|
switch (lastSuccessfulBootstrap) {
|
||||||
case "relay":
|
case "relay":
|
||||||
case "portForwarding":
|
// 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);
|
||||||
break;
|
bootstrapWithRelay(peerDHT);
|
||||||
case "default":
|
|
||||||
default:
|
|
||||||
discover(peerDHT);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
/* switch (lastSuccessfulBootstrap) {
|
|
||||||
case "relay":
|
|
||||||
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;
|
break;
|
||||||
case "portForwarding":
|
case "portForwarding":
|
||||||
futureDiscover = peerDHT.peer().discover().peerAddress(getBootstrapAddress()).start();
|
futureDiscover = peerDHT.peer().discover().peerAddress(getBootstrapAddress()).start();
|
||||||
|
@ -180,7 +171,7 @@ public class BootstrappedPeerFactory {
|
||||||
default:
|
default:
|
||||||
discover(peerDHT);
|
discover(peerDHT);
|
||||||
break;
|
break;
|
||||||
}*/
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
setState("Cannot create peer with port: " + port + ". Exeption: " + e, false);
|
setState("Cannot create peer with port: " + port + ". Exeption: " + e, false);
|
||||||
settableFuture.setException(e);
|
settableFuture.setException(e);
|
||||||
|
@ -211,7 +202,7 @@ public class BootstrappedPeerFactory {
|
||||||
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();
|
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -239,7 +230,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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -284,10 +275,17 @@ 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) {
|
||||||
|
|
||||||
|
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 {
|
||||||
|
@ -298,12 +296,12 @@ public class BootstrappedPeerFactory {
|
||||||
settableFuture.set(peerDHT);
|
settableFuture.set(peerDHT);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
setState("Bootstrap using relay has failed " + futureDiscover.failedReason(), false);
|
setState("Bootstrap using relay has failed " + futureRelayNAT.failedReason(), false);
|
||||||
persistence.write(BootstrappedPeerFactory.this, "lastSuccessfulBootstrap", "default");
|
persistence.write(BootstrappedPeerFactory.this, "lastSuccessfulBootstrap", "default");
|
||||||
futureRelayNAT.shutdown();
|
futureRelayNAT.shutdown();
|
||||||
peerDHT.shutdown().awaitUninterruptibly();
|
peerDHT.shutdown().awaitUninterruptibly();
|
||||||
settableFuture.setException(new Exception("Bootstrap using relay failed " +
|
settableFuture.setException(new Exception("Bootstrap using relay failed " +
|
||||||
futureDiscover.failedReason()));
|
futureRelayNAT.failedReason()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue