mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-05-17 14:00:35 -04:00
persist trade with payment confirmation msgs before processing
This commit is contained in:
parent
923b3ad73b
commit
de5250e89a
3 changed files with 114 additions and 104 deletions
|
@ -811,6 +811,10 @@ public abstract class Trade extends XmrWalletBase implements Tradable, Model {
|
|||
if (processModel.getTradeManager() != null) processModel.getTradeManager().requestPersistence();
|
||||
}
|
||||
|
||||
public void persistNow(@Nullable Runnable completeHandler) {
|
||||
processModel.getTradeManager().persistNow(completeHandler);
|
||||
}
|
||||
|
||||
public TradeProtocol getProtocol() {
|
||||
return processModel.getTradeManager().getTradeProtocol(this);
|
||||
}
|
||||
|
|
|
@ -546,6 +546,10 @@ public class TradeManager implements PersistedDataHost, DecryptedDirectMessageLi
|
|||
persistenceManager.requestPersistence();
|
||||
}
|
||||
|
||||
public void persistNow(@Nullable Runnable completeHandler) {
|
||||
persistenceManager.persistNow(completeHandler);
|
||||
}
|
||||
|
||||
private void handleInitTradeRequest(InitTradeRequest request, NodeAddress sender) {
|
||||
log.info("TradeManager handling InitTradeRequest for tradeId={}, sender={}, uid={}", request.getOfferId(), sender, request.getUid());
|
||||
|
||||
|
|
|
@ -537,7 +537,7 @@ public abstract class TradeProtocol implements DecryptedDirectMessageListener, D
|
|||
|
||||
// save message for reprocessing
|
||||
trade.getBuyer().setPaymentSentMessage(message);
|
||||
trade.requestPersistence();
|
||||
trade.persistNow(() -> {
|
||||
|
||||
// process message on trade thread
|
||||
if (!trade.isInitialized() || trade.isShutDownStarted()) return;
|
||||
|
@ -593,6 +593,7 @@ public abstract class TradeProtocol implements DecryptedDirectMessageListener, D
|
|||
awaitTradeLatch();
|
||||
}
|
||||
}, trade.getId());
|
||||
});
|
||||
}
|
||||
|
||||
// received by buyer and arbitrator
|
||||
|
@ -619,7 +620,7 @@ public abstract class TradeProtocol implements DecryptedDirectMessageListener, D
|
|||
|
||||
// save message for reprocessing
|
||||
trade.getSeller().setPaymentReceivedMessage(message);
|
||||
trade.requestPersistence();
|
||||
trade.persistNow(() -> {
|
||||
|
||||
// process message on trade thread
|
||||
if (!trade.isInitialized() || trade.isShutDownStarted()) return;
|
||||
|
@ -672,6 +673,7 @@ public abstract class TradeProtocol implements DecryptedDirectMessageListener, D
|
|||
awaitTradeLatch();
|
||||
}
|
||||
}, trade.getId());
|
||||
});
|
||||
}
|
||||
|
||||
public void onWithdrawCompleted() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue