mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-06-23 22:34:23 -04:00
resend payment sent & received messages from trade thread on startup
This commit is contained in:
parent
bbec107dcc
commit
6f51d333ec
2 changed files with 46 additions and 40 deletions
|
@ -55,27 +55,30 @@ public class BuyerProtocol extends DisputeProtocol {
|
||||||
super.onInitialized();
|
super.onInitialized();
|
||||||
|
|
||||||
// re-send payment sent message if not acked
|
// re-send payment sent message if not acked
|
||||||
synchronized (trade) {
|
ThreadUtils.execute(() -> {
|
||||||
if (trade.isShutDownStarted()) return;
|
if (trade.isShutDownStarted() || trade.isPayoutPublished()) return;
|
||||||
if (trade.getState().ordinal() >= Trade.State.BUYER_SENT_PAYMENT_SENT_MSG.ordinal() && trade.getState().ordinal() < Trade.State.SELLER_RECEIVED_PAYMENT_SENT_MSG.ordinal()) {
|
synchronized (trade) {
|
||||||
latchTrade();
|
if (trade.isShutDownStarted() || trade.isPayoutPublished()) return;
|
||||||
given(anyPhase(Trade.Phase.PAYMENT_SENT)
|
if (trade.getState().ordinal() >= Trade.State.BUYER_SENT_PAYMENT_SENT_MSG.ordinal() && trade.getState().ordinal() < Trade.State.SELLER_RECEIVED_PAYMENT_SENT_MSG.ordinal()) {
|
||||||
.with(BuyerEvent.STARTUP))
|
latchTrade();
|
||||||
.setup(tasks(
|
given(anyPhase(Trade.Phase.PAYMENT_SENT)
|
||||||
BuyerSendPaymentSentMessageToSeller.class,
|
.with(BuyerEvent.STARTUP))
|
||||||
BuyerSendPaymentSentMessageToArbitrator.class)
|
.setup(tasks(
|
||||||
.using(new TradeTaskRunner(trade,
|
BuyerSendPaymentSentMessageToSeller.class,
|
||||||
() -> {
|
BuyerSendPaymentSentMessageToArbitrator.class)
|
||||||
unlatchTrade();
|
.using(new TradeTaskRunner(trade,
|
||||||
},
|
() -> {
|
||||||
(errorMessage) -> {
|
unlatchTrade();
|
||||||
log.warn("Error sending PaymentSentMessage on startup: " + errorMessage);
|
},
|
||||||
unlatchTrade();
|
(errorMessage) -> {
|
||||||
})))
|
log.warn("Error sending PaymentSentMessage on startup: " + errorMessage);
|
||||||
.executeTasks();
|
unlatchTrade();
|
||||||
awaitTradeLatch();
|
})))
|
||||||
|
.executeTasks();
|
||||||
|
awaitTradeLatch();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}, trade.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -51,27 +51,30 @@ public class SellerProtocol extends DisputeProtocol {
|
||||||
super.onInitialized();
|
super.onInitialized();
|
||||||
|
|
||||||
// re-send payment received message if payout not published
|
// re-send payment received message if payout not published
|
||||||
synchronized (trade) {
|
ThreadUtils.execute(() -> {
|
||||||
if (trade.isShutDownStarted()) return;
|
if (trade.isShutDownStarted() || trade.isPayoutPublished()) return;
|
||||||
if (trade.getState().ordinal() >= Trade.State.SELLER_SENT_PAYMENT_RECEIVED_MSG.ordinal() && !trade.isPayoutPublished()) {
|
synchronized (trade) {
|
||||||
latchTrade();
|
if (trade.isShutDownStarted() || trade.isPayoutPublished()) return;
|
||||||
given(anyPhase(Trade.Phase.PAYMENT_RECEIVED)
|
if (trade.getState().ordinal() >= Trade.State.SELLER_SENT_PAYMENT_RECEIVED_MSG.ordinal() && !trade.isPayoutPublished()) {
|
||||||
.with(SellerEvent.STARTUP))
|
latchTrade();
|
||||||
.setup(tasks(
|
given(anyPhase(Trade.Phase.PAYMENT_RECEIVED)
|
||||||
SellerSendPaymentReceivedMessageToBuyer.class,
|
.with(SellerEvent.STARTUP))
|
||||||
SellerSendPaymentReceivedMessageToArbitrator.class)
|
.setup(tasks(
|
||||||
.using(new TradeTaskRunner(trade,
|
SellerSendPaymentReceivedMessageToBuyer.class,
|
||||||
() -> {
|
SellerSendPaymentReceivedMessageToArbitrator.class)
|
||||||
unlatchTrade();
|
.using(new TradeTaskRunner(trade,
|
||||||
},
|
() -> {
|
||||||
(errorMessage) -> {
|
unlatchTrade();
|
||||||
log.warn("Error sending PaymentReceivedMessage on startup: " + errorMessage);
|
},
|
||||||
unlatchTrade();
|
(errorMessage) -> {
|
||||||
})))
|
log.warn("Error sending PaymentReceivedMessage on startup: " + errorMessage);
|
||||||
.executeTasks();
|
unlatchTrade();
|
||||||
awaitTradeLatch();
|
})))
|
||||||
|
.executeTasks();
|
||||||
|
awaitTradeLatch();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}, trade.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue