add P2PNetworkReadyListener

This commit is contained in:
Manfred Karrer 2015-11-09 14:20:52 +01:00
parent 13399057f7
commit 0f87eb99cc
17 changed files with 103 additions and 125 deletions

View file

@ -24,8 +24,8 @@ import io.bitsquare.common.crypto.KeyRing;
import io.bitsquare.common.handlers.ErrorMessageHandler;
import io.bitsquare.common.handlers.ResultHandler;
import io.bitsquare.p2p.Address;
import io.bitsquare.p2p.P2PNetworkReadyListener;
import io.bitsquare.p2p.P2PService;
import io.bitsquare.p2p.P2PServiceListener;
import io.bitsquare.p2p.storage.HashMapChangedListener;
import io.bitsquare.p2p.storage.data.ProtectedData;
import io.bitsquare.user.User;
@ -86,7 +86,7 @@ public class ArbitratorManager {
));
private static final String publicKeyForTesting = "027a381b5333a56e1cc3d90d3a7d07f26509adf7029ed06fc997c656621f8da1ee";
private final boolean isDevTest;
private P2PServiceListener p2PServiceListener;
private P2PNetworkReadyListener p2PNetworkReadyListener;
@Inject
public ArbitratorManager(@Named(ProgramArguments.DEV_TEST) boolean isDevTest, KeyRing keyRing, ArbitratorService arbitratorService, User user) {
@ -113,29 +113,13 @@ public class ArbitratorManager {
P2PService p2PService = arbitratorService.getP2PService();
if (!p2PService.isAuthenticated()) {
p2PServiceListener = new P2PServiceListener() {
p2PNetworkReadyListener = new P2PNetworkReadyListener() {
@Override
public void onTorNodeReady() {
}
@Override
public void onHiddenServicePublished() {
}
@Override
public void onSetupFailed(Throwable throwable) {
}
@Override
public void onRequestingDataCompleted() {
}
@Override
public void onAuthenticated() {
public void onFirstPeerAuthenticated() {
republishArbitrator();
}
};
p2PService.addP2PServiceListener(p2PServiceListener);
p2PService.addP2PServiceListener(p2PNetworkReadyListener);
} else {
republishArbitrator();
@ -152,7 +136,8 @@ public class ArbitratorManager {
}
private void republishArbitrator() {
if (p2PServiceListener != null) arbitratorService.getP2PService().removeP2PServiceListener(p2PServiceListener);
if (p2PNetworkReadyListener != null)
arbitratorService.getP2PService().removeP2PServiceListener(p2PNetworkReadyListener);
Arbitrator registeredArbitrator = user.getRegisteredArbitrator();
if (registeredArbitrator != null) {

View file

@ -28,8 +28,8 @@ import io.bitsquare.common.crypto.KeyRing;
import io.bitsquare.common.crypto.PubKeyRing;
import io.bitsquare.p2p.Address;
import io.bitsquare.p2p.Message;
import io.bitsquare.p2p.P2PNetworkReadyListener;
import io.bitsquare.p2p.P2PService;
import io.bitsquare.p2p.P2PServiceListener;
import io.bitsquare.p2p.messaging.DecryptedMsgWithPubKey;
import io.bitsquare.p2p.messaging.SendMailboxMessageListener;
import io.bitsquare.storage.Storage;
@ -67,7 +67,7 @@ public class DisputeManager {
private final DisputeList<Dispute> disputes;
transient private final ObservableList<Dispute> disputesObservableList;
private final String disputeInfo;
private final P2PServiceListener p2PServiceListener;
private final P2PNetworkReadyListener p2PNetworkReadyListener;
private final CopyOnWriteArraySet<DecryptedMsgWithPubKey> decryptedMailboxMessageWithPubKeys = new CopyOnWriteArraySet<>();
private final CopyOnWriteArraySet<DecryptedMsgWithPubKey> decryptedMailMessageWithPubKeys = new CopyOnWriteArraySet<>();
@ -115,29 +115,13 @@ public class DisputeManager {
applyMessages();
});
p2PServiceListener = new P2PServiceListener() {
p2PNetworkReadyListener = new P2PNetworkReadyListener() {
@Override
public void onTorNodeReady() {
}
@Override
public void onHiddenServicePublished() {
}
@Override
public void onSetupFailed(Throwable throwable) {
}
@Override
public void onRequestingDataCompleted() {
}
@Override
public void onAuthenticated() {
public void onFirstPeerAuthenticated() {
applyMessages();
}
};
p2PService.addP2PServiceListener(p2PServiceListener);
p2PService.addP2PServiceListener(p2PNetworkReadyListener);
}
private void applyMessages() {
@ -159,7 +143,7 @@ public class DisputeManager {
});
decryptedMailboxMessageWithPubKeys.clear();
p2PService.removeP2PServiceListener(p2PServiceListener);
p2PService.removeP2PServiceListener(p2PNetworkReadyListener);
}

View file

@ -27,8 +27,8 @@ import io.bitsquare.common.handlers.FaultHandler;
import io.bitsquare.common.handlers.ResultHandler;
import io.bitsquare.p2p.Address;
import io.bitsquare.p2p.Message;
import io.bitsquare.p2p.P2PNetworkReadyListener;
import io.bitsquare.p2p.P2PService;
import io.bitsquare.p2p.P2PServiceListener;
import io.bitsquare.p2p.messaging.DecryptedMailListener;
import io.bitsquare.p2p.messaging.DecryptedMailboxListener;
import io.bitsquare.p2p.messaging.DecryptedMsgWithPubKey;
@ -81,7 +81,7 @@ public class TradeManager {
private final Storage<TradableList<Trade>> tradableListStorage;
private final TradableList<Trade> trades;
private final BooleanProperty pendingTradesInitialized = new SimpleBooleanProperty();
private P2PServiceListener p2PServiceListener;
private P2PNetworkReadyListener p2PNetworkReadyListener;
///////////////////////////////////////////////////////////////////////////////////////////
@ -148,29 +148,13 @@ public class TradeManager {
}
});
p2PServiceListener = new P2PServiceListener() {
p2PNetworkReadyListener = new P2PNetworkReadyListener() {
@Override
public void onTorNodeReady() {
}
@Override
public void onHiddenServicePublished() {
}
@Override
public void onSetupFailed(Throwable throwable) {
}
@Override
public void onRequestingDataCompleted() {
}
@Override
public void onAuthenticated() {
public void onFirstPeerAuthenticated() {
initPendingTrades();
}
};
p2PService.addP2PServiceListener(p2PServiceListener);
p2PService.addP2PServiceListener(p2PNetworkReadyListener);
}
@ -185,7 +169,7 @@ public class TradeManager {
}
private void initPendingTrades() {
if (p2PServiceListener != null) p2PService.removeP2PServiceListener(p2PServiceListener);
if (p2PNetworkReadyListener != null) p2PService.removeP2PServiceListener(p2PNetworkReadyListener);
List<Trade> failedTrades = new ArrayList<>();
for (Trade trade : trades) {

View file

@ -27,8 +27,8 @@ import io.bitsquare.common.handlers.ResultHandler;
import io.bitsquare.common.util.Utilities;
import io.bitsquare.p2p.Address;
import io.bitsquare.p2p.Message;
import io.bitsquare.p2p.P2PNetworkReadyListener;
import io.bitsquare.p2p.P2PService;
import io.bitsquare.p2p.P2PServiceListener;
import io.bitsquare.p2p.messaging.SendMailMessageListener;
import io.bitsquare.storage.Storage;
import io.bitsquare.trade.TradableList;
@ -68,7 +68,7 @@ public class OpenOfferManager {
private final TradableList<OpenOffer> openOffers;
private final Storage<TradableList<OpenOffer>> openOffersStorage;
private boolean shutDownRequested;
private P2PServiceListener p2PServiceListener;
private P2PNetworkReadyListener p2PNetworkReadyListener;
private final Timer timer = new Timer();
///////////////////////////////////////////////////////////////////////////////////////////
@ -128,29 +128,13 @@ public class OpenOfferManager {
// If offer removal at shutdown fails we don't want to have long term dangling dead offers, so we set TTL quite short and use re-publish as
// strategy. Offerers need to be online anyway.
if (!p2PService.isAuthenticated()) {
p2PServiceListener = new P2PServiceListener() {
p2PNetworkReadyListener = new P2PNetworkReadyListener() {
@Override
public void onTorNodeReady() {
}
@Override
public void onHiddenServicePublished() {
}
@Override
public void onSetupFailed(Throwable throwable) {
}
@Override
public void onRequestingDataCompleted() {
}
@Override
public void onAuthenticated() {
public void onFirstPeerAuthenticated() {
startRePublishThread();
}
};
p2PService.addP2PServiceListener(p2PServiceListener);
p2PService.addP2PServiceListener(p2PNetworkReadyListener);
} else {
startRePublishThread();
@ -158,8 +142,8 @@ public class OpenOfferManager {
}
private void startRePublishThread() {
if (p2PServiceListener != null)
p2PService.removeP2PServiceListener(p2PServiceListener);
if (p2PNetworkReadyListener != null)
p2PService.removeP2PServiceListener(p2PNetworkReadyListener);
long period = (long) (Offer.TTL * 0.8);
TimerTask timerTask = new TimerTask() {