mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-07-30 10:18:44 -04:00
Refactor data request at starup to separate class
This commit is contained in:
parent
3222019480
commit
2d518f9a16
25 changed files with 444 additions and 296 deletions
|
@ -24,7 +24,7 @@ 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.FirstPeerAuthenticatedListener;
|
||||
import io.bitsquare.p2p.P2PService;
|
||||
import io.bitsquare.p2p.storage.HashMapChangedListener;
|
||||
import io.bitsquare.p2p.storage.data.ProtectedData;
|
||||
|
@ -86,7 +86,7 @@ public class ArbitratorManager {
|
|||
));
|
||||
private static final String publicKeyForTesting = "027a381b5333a56e1cc3d90d3a7d07f26509adf7029ed06fc997c656621f8da1ee";
|
||||
private final boolean isDevTest;
|
||||
private P2PNetworkReadyListener p2PNetworkReadyListener;
|
||||
private FirstPeerAuthenticatedListener firstPeerAuthenticatedListener;
|
||||
|
||||
@Inject
|
||||
public ArbitratorManager(@Named(ProgramArguments.DEV_TEST) boolean isDevTest, KeyRing keyRing, ArbitratorService arbitratorService, User user) {
|
||||
|
@ -112,14 +112,14 @@ public class ArbitratorManager {
|
|||
if (user.getRegisteredArbitrator() != null) {
|
||||
|
||||
P2PService p2PService = arbitratorService.getP2PService();
|
||||
if (!p2PService.isAuthenticated()) {
|
||||
p2PNetworkReadyListener = new P2PNetworkReadyListener() {
|
||||
if (!p2PService.getFirstPeerAuthenticated()) {
|
||||
firstPeerAuthenticatedListener = new FirstPeerAuthenticatedListener() {
|
||||
@Override
|
||||
public void onFirstPeerAuthenticated() {
|
||||
republishArbitrator();
|
||||
}
|
||||
};
|
||||
p2PService.addP2PServiceListener(p2PNetworkReadyListener);
|
||||
p2PService.addP2PServiceListener(firstPeerAuthenticatedListener);
|
||||
|
||||
} else {
|
||||
republishArbitrator();
|
||||
|
@ -136,8 +136,8 @@ public class ArbitratorManager {
|
|||
}
|
||||
|
||||
private void republishArbitrator() {
|
||||
if (p2PNetworkReadyListener != null)
|
||||
arbitratorService.getP2PService().removeP2PServiceListener(p2PNetworkReadyListener);
|
||||
if (firstPeerAuthenticatedListener != null)
|
||||
arbitratorService.getP2PService().removeP2PServiceListener(firstPeerAuthenticatedListener);
|
||||
|
||||
Arbitrator registeredArbitrator = user.getRegisteredArbitrator();
|
||||
if (registeredArbitrator != null) {
|
||||
|
|
|
@ -27,8 +27,8 @@ import io.bitsquare.btc.exceptions.WalletException;
|
|||
import io.bitsquare.common.crypto.KeyRing;
|
||||
import io.bitsquare.common.crypto.PubKeyRing;
|
||||
import io.bitsquare.p2p.Address;
|
||||
import io.bitsquare.p2p.FirstPeerAuthenticatedListener;
|
||||
import io.bitsquare.p2p.Message;
|
||||
import io.bitsquare.p2p.P2PNetworkReadyListener;
|
||||
import io.bitsquare.p2p.P2PService;
|
||||
import io.bitsquare.p2p.messaging.DecryptedMsgWithPubKey;
|
||||
import io.bitsquare.p2p.messaging.SendMailboxMessageListener;
|
||||
|
@ -67,7 +67,7 @@ public class DisputeManager {
|
|||
private final DisputeList<Dispute> disputes;
|
||||
transient private final ObservableList<Dispute> disputesObservableList;
|
||||
private final String disputeInfo;
|
||||
private final P2PNetworkReadyListener p2PNetworkReadyListener;
|
||||
private final FirstPeerAuthenticatedListener firstPeerAuthenticatedListener;
|
||||
private final CopyOnWriteArraySet<DecryptedMsgWithPubKey> decryptedMailboxMessageWithPubKeys = new CopyOnWriteArraySet<>();
|
||||
private final CopyOnWriteArraySet<DecryptedMsgWithPubKey> decryptedMailMessageWithPubKeys = new CopyOnWriteArraySet<>();
|
||||
|
||||
|
@ -106,22 +106,22 @@ public class DisputeManager {
|
|||
|
||||
p2PService.addDecryptedMailListener((decryptedMessageWithPubKey, senderAddress) -> {
|
||||
decryptedMailMessageWithPubKeys.add(decryptedMessageWithPubKey);
|
||||
if (p2PService.isAuthenticated())
|
||||
if (p2PService.getFirstPeerAuthenticated())
|
||||
applyMessages();
|
||||
});
|
||||
p2PService.addDecryptedMailboxListener((decryptedMessageWithPubKey, senderAddress) -> {
|
||||
decryptedMailboxMessageWithPubKeys.add(decryptedMessageWithPubKey);
|
||||
if (p2PService.isAuthenticated())
|
||||
if (p2PService.getFirstPeerAuthenticated())
|
||||
applyMessages();
|
||||
});
|
||||
|
||||
p2PNetworkReadyListener = new P2PNetworkReadyListener() {
|
||||
firstPeerAuthenticatedListener = new FirstPeerAuthenticatedListener() {
|
||||
@Override
|
||||
public void onFirstPeerAuthenticated() {
|
||||
applyMessages();
|
||||
}
|
||||
};
|
||||
p2PService.addP2PServiceListener(p2PNetworkReadyListener);
|
||||
p2PService.addP2PServiceListener(firstPeerAuthenticatedListener);
|
||||
}
|
||||
|
||||
private void applyMessages() {
|
||||
|
@ -143,7 +143,7 @@ public class DisputeManager {
|
|||
});
|
||||
decryptedMailboxMessageWithPubKeys.clear();
|
||||
|
||||
p2PService.removeP2PServiceListener(p2PNetworkReadyListener);
|
||||
p2PService.removeP2PServiceListener(firstPeerAuthenticatedListener);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -27,8 +27,8 @@ import io.bitsquare.common.crypto.KeyRing;
|
|||
import io.bitsquare.common.handlers.FaultHandler;
|
||||
import io.bitsquare.common.handlers.ResultHandler;
|
||||
import io.bitsquare.p2p.Address;
|
||||
import io.bitsquare.p2p.FirstPeerAuthenticatedListener;
|
||||
import io.bitsquare.p2p.Message;
|
||||
import io.bitsquare.p2p.P2PNetworkReadyListener;
|
||||
import io.bitsquare.p2p.P2PService;
|
||||
import io.bitsquare.p2p.messaging.DecryptedMailListener;
|
||||
import io.bitsquare.p2p.messaging.DecryptedMailboxListener;
|
||||
|
@ -83,7 +83,7 @@ public class TradeManager {
|
|||
private final Storage<TradableList<Trade>> tradableListStorage;
|
||||
private final TradableList<Trade> trades;
|
||||
private final BooleanProperty pendingTradesInitialized = new SimpleBooleanProperty();
|
||||
private P2PNetworkReadyListener p2PNetworkReadyListener;
|
||||
private FirstPeerAuthenticatedListener firstPeerAuthenticatedListener;
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -150,14 +150,14 @@ public class TradeManager {
|
|||
}
|
||||
});
|
||||
|
||||
p2PNetworkReadyListener = new P2PNetworkReadyListener() {
|
||||
firstPeerAuthenticatedListener = new FirstPeerAuthenticatedListener() {
|
||||
@Override
|
||||
public void onFirstPeerAuthenticated() {
|
||||
// give a bit delay to be sure other listeners has dont its jobs
|
||||
UserThread.runAfter(() -> initPendingTrades(), 100, TimeUnit.MILLISECONDS);
|
||||
}
|
||||
};
|
||||
p2PService.addP2PServiceListener(p2PNetworkReadyListener);
|
||||
p2PService.addP2PServiceListener(firstPeerAuthenticatedListener);
|
||||
}
|
||||
|
||||
|
||||
|
@ -172,7 +172,7 @@ public class TradeManager {
|
|||
}
|
||||
|
||||
private void initPendingTrades() {
|
||||
if (p2PNetworkReadyListener != null) p2PService.removeP2PServiceListener(p2PNetworkReadyListener);
|
||||
if (firstPeerAuthenticatedListener != null) p2PService.removeP2PServiceListener(firstPeerAuthenticatedListener);
|
||||
|
||||
List<Trade> failedTrades = new ArrayList<>();
|
||||
for (Trade trade : trades) {
|
||||
|
|
|
@ -26,8 +26,8 @@ import io.bitsquare.common.handlers.ErrorMessageHandler;
|
|||
import io.bitsquare.common.handlers.ResultHandler;
|
||||
import io.bitsquare.common.util.Utilities;
|
||||
import io.bitsquare.p2p.Address;
|
||||
import io.bitsquare.p2p.FirstPeerAuthenticatedListener;
|
||||
import io.bitsquare.p2p.Message;
|
||||
import io.bitsquare.p2p.P2PNetworkReadyListener;
|
||||
import io.bitsquare.p2p.P2PService;
|
||||
import io.bitsquare.p2p.messaging.SendMailMessageListener;
|
||||
import io.bitsquare.storage.Storage;
|
||||
|
@ -69,7 +69,7 @@ public class OpenOfferManager {
|
|||
private final TradableList<OpenOffer> openOffers;
|
||||
private final Storage<TradableList<OpenOffer>> openOffersStorage;
|
||||
private boolean shutDownRequested;
|
||||
private P2PNetworkReadyListener p2PNetworkReadyListener;
|
||||
private FirstPeerAuthenticatedListener firstPeerAuthenticatedListener;
|
||||
private final Timer timer = new Timer();
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -128,14 +128,14 @@ public class OpenOfferManager {
|
|||
// Before the TTL is reached we re-publish our offers
|
||||
// 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()) {
|
||||
p2PNetworkReadyListener = new P2PNetworkReadyListener() {
|
||||
if (!p2PService.getFirstPeerAuthenticated()) {
|
||||
firstPeerAuthenticatedListener = new FirstPeerAuthenticatedListener() {
|
||||
@Override
|
||||
public void onFirstPeerAuthenticated() {
|
||||
startRePublishThread();
|
||||
}
|
||||
};
|
||||
p2PService.addP2PServiceListener(p2PNetworkReadyListener);
|
||||
p2PService.addP2PServiceListener(firstPeerAuthenticatedListener);
|
||||
|
||||
} else {
|
||||
startRePublishThread();
|
||||
|
@ -143,8 +143,8 @@ public class OpenOfferManager {
|
|||
}
|
||||
|
||||
private void startRePublishThread() {
|
||||
if (p2PNetworkReadyListener != null)
|
||||
p2PService.removeP2PServiceListener(p2PNetworkReadyListener);
|
||||
if (firstPeerAuthenticatedListener != null)
|
||||
p2PService.removeP2PServiceListener(firstPeerAuthenticatedListener);
|
||||
|
||||
long period = (long) (Offer.TTL * 0.8); // republish sufficiently before offer would expires
|
||||
TimerTask timerTask = new TimerTask() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue