mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-12-14 23:44:51 -05:00
save dispute closed message for reprocessing immediately
This commit is contained in:
parent
ca6ef3dc9a
commit
fee4bd0202
1 changed files with 13 additions and 16 deletions
|
|
@ -146,18 +146,15 @@ public final class ArbitrationManager extends DisputeManager<ArbitrationDisputeL
|
|||
if (canProcessMessage(message)) {
|
||||
log.info("Received {} from {} with tradeId {} and uid {}",
|
||||
message.getClass().getSimpleName(), message.getSenderNodeAddress(), message.getTradeId(), message.getUid());
|
||||
|
||||
ThreadUtils.execute(() -> {
|
||||
if (message instanceof DisputeOpenedMessage) {
|
||||
handle((DisputeOpenedMessage) message);
|
||||
} else if (message instanceof ChatMessage) {
|
||||
handle((ChatMessage) message);
|
||||
} else if (message instanceof DisputeClosedMessage) {
|
||||
handle((DisputeClosedMessage) message);
|
||||
} else {
|
||||
log.warn("Unsupported message at dispatchMessage. message={}", message);
|
||||
}
|
||||
}, message.getTradeId());
|
||||
if (message instanceof DisputeOpenedMessage) {
|
||||
handle((DisputeOpenedMessage) message);
|
||||
} else if (message instanceof ChatMessage) {
|
||||
handle((ChatMessage) message);
|
||||
} else if (message instanceof DisputeClosedMessage) {
|
||||
handle((DisputeClosedMessage) message);
|
||||
} else {
|
||||
log.warn("Unsupported message at dispatchMessage. message={}", message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -272,6 +269,10 @@ public final class ArbitrationManager extends DisputeManager<ArbitrationDisputeL
|
|||
return;
|
||||
}
|
||||
|
||||
// save dispute closed message for reprocessing
|
||||
trade.getArbitrator().setDisputeClosedMessage(disputeClosedMessage);
|
||||
persistNow(null);
|
||||
|
||||
// try to process dispute closed message
|
||||
ThreadUtils.execute(() -> {
|
||||
ChatMessage chatMessage = null;
|
||||
|
|
@ -310,10 +311,6 @@ public final class ArbitrationManager extends DisputeManager<ArbitrationDisputeL
|
|||
if (dispute != null) DisputeSummaryVerification.verifySignature(summaryText, dispute.getAgentPubKeyRing()); // use dispute's arbitrator pub key ring
|
||||
else DisputeSummaryVerification.verifySignature(summaryText, arbitratorManager); // verify using registered arbitrator (will fail if arbitrator is unregistered)
|
||||
|
||||
// save dispute closed message for reprocessing
|
||||
trade.getArbitrator().setDisputeClosedMessage(disputeClosedMessage);
|
||||
requestPersistence(trade);
|
||||
|
||||
// verify arbitrator does not receive DisputeClosedMessage
|
||||
if (keyRing.getPubKeyRing().equals(dispute.getAgentPubKeyRing())) {
|
||||
log.error("Arbitrator received disputeResultMessage. That should never happen.");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue