Add callback for broadcaster when sending mailbox msg

This commit is contained in:
Manfred Karrer 2016-01-27 00:04:03 +01:00
parent 9bb4683379
commit 602c503cea
22 changed files with 231 additions and 112 deletions

View file

@ -196,7 +196,7 @@ public class DisputeManager {
}
@Override
public void onFault() {
public void onFault(String errorMessage) {
log.error("sendEncryptedMessage failed");
}
}
@ -263,7 +263,7 @@ public class DisputeManager {
}
@Override
public void onFault() {
public void onFault(String errorMessage) {
log.error("sendEncryptedMessage failed");
}
}
@ -313,7 +313,7 @@ public class DisputeManager {
}
@Override
public void onFault() {
public void onFault(String errorMessage) {
log.error("sendEncryptedMessage failed");
}
}
@ -354,7 +354,7 @@ public class DisputeManager {
}
@Override
public void onFault() {
public void onFault(String errorMessage) {
log.error("sendEncryptedMessage failed");
}
}
@ -381,7 +381,7 @@ public class DisputeManager {
}
@Override
public void onFault() {
public void onFault(String errorMessage) {
log.error("sendEncryptedMessage failed");
}
}

View file

@ -61,7 +61,7 @@ public class PaymentMethod implements Serializable, Comparable {
public static final List<PaymentMethod> ALL_VALUES = new ArrayList<>(Arrays.asList(
OK_PAY = new PaymentMethod(OK_PAY_ID, 0, DAY), // tx instant so min. wait time
PERFECT_MONEY = new PaymentMethod(PERFECT_MONEY_ID, 0, DAY),
SEPA = new PaymentMethod(SEPA_ID, 0, 8 * DAY), // sepa takes 1-3 business days. We use 8 days to include safety for holidays
SEPA = new PaymentMethod(SEPA_ID, 0, 7 * DAY), // sepa takes 1-3 business days. We use 7 days to include safety for holidays
SWISH = new PaymentMethod(SWISH_ID, 0, DAY),
ALI_PAY = new PaymentMethod(ALI_PAY_ID, 0, DAY),
/* FED_WIRE = new PaymentMethod(FED_WIRE_ID, 0, DAY),*/

View file

@ -18,6 +18,8 @@
package io.bitsquare.trade;
import io.bitsquare.app.Version;
import io.bitsquare.common.handlers.ErrorMessageHandler;
import io.bitsquare.common.handlers.ResultHandler;
import io.bitsquare.p2p.NodeAddress;
import io.bitsquare.storage.Storage;
import io.bitsquare.trade.offer.Offer;
@ -50,9 +52,9 @@ public abstract class BuyerTrade extends Trade implements Serializable {
state = State.PREPARATION;
}
public void onFiatPaymentStarted() {
checkArgument(tradeProtocol instanceof BuyerProtocol, "tradeProtocol NOT instanceof BuyerProtocol");
((BuyerProtocol) tradeProtocol).onFiatPaymentStarted();
public void onFiatPaymentStarted(ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) {
checkArgument(tradeProtocol instanceof BuyerProtocol, "Check failed: tradeProtocol instanceof BuyerProtocol");
((BuyerProtocol) tradeProtocol).onFiatPaymentStarted(resultHandler, errorMessageHandler);
}

View file

@ -17,6 +17,8 @@
package io.bitsquare.trade.protocol.trade;
import io.bitsquare.common.handlers.ErrorMessageHandler;
import io.bitsquare.common.handlers.ResultHandler;
import io.bitsquare.p2p.Message;
import io.bitsquare.p2p.NodeAddress;
import io.bitsquare.p2p.messaging.MailboxMessage;
@ -145,12 +147,18 @@ public class BuyerAsOffererProtocol extends TradeProtocol implements BuyerProtoc
// User clicked the "bank transfer started" button
@Override
public void onFiatPaymentStarted() {
public void onFiatPaymentStarted(ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) {
buyerAsOffererTrade.setState(Trade.State.FIAT_PAYMENT_STARTED);
TradeTaskRunner taskRunner = new TradeTaskRunner(buyerAsOffererTrade,
() -> handleTaskRunnerSuccess("onFiatPaymentStarted"),
this::handleTaskRunnerFault);
() -> {
resultHandler.handleResult();
handleTaskRunnerSuccess("onFiatPaymentStarted");
},
(errorMessage) -> {
errorMessageHandler.handleErrorMessage(errorMessage);
handleTaskRunnerFault(errorMessage);
});
taskRunner.addTasks(
VerifyTakeOfferFeePayment.class,
SendFiatTransferStartedMessage.class

View file

@ -18,6 +18,8 @@
package io.bitsquare.trade.protocol.trade;
import io.bitsquare.common.handlers.ErrorMessageHandler;
import io.bitsquare.common.handlers.ResultHandler;
import io.bitsquare.p2p.Message;
import io.bitsquare.p2p.NodeAddress;
import io.bitsquare.p2p.messaging.MailboxMessage;
@ -131,12 +133,18 @@ public class BuyerAsTakerProtocol extends TradeProtocol implements BuyerProtocol
// User clicked the "bank transfer started" button
@Override
public void onFiatPaymentStarted() {
public void onFiatPaymentStarted(ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler) {
buyerAsTakerTrade.setState(Trade.State.FIAT_PAYMENT_STARTED);
TradeTaskRunner taskRunner = new TradeTaskRunner(buyerAsTakerTrade,
() -> handleTaskRunnerSuccess("onFiatPaymentStarted"),
this::handleTaskRunnerFault);
() -> {
resultHandler.handleResult();
handleTaskRunnerSuccess("onFiatPaymentStarted");
},
(errorMessage) -> {
errorMessageHandler.handleErrorMessage(errorMessage);
handleTaskRunnerFault(errorMessage);
});
taskRunner.addTasks(
VerifyOfferFeePayment.class,
SendFiatTransferStartedMessage.class

View file

@ -17,6 +17,9 @@
package io.bitsquare.trade.protocol.trade;
import io.bitsquare.common.handlers.ErrorMessageHandler;
import io.bitsquare.common.handlers.ResultHandler;
public interface BuyerProtocol {
void onFiatPaymentStarted();
void onFiatPaymentStarted(ResultHandler resultHandler, ErrorMessageHandler errorMessageHandler);
}

View file

@ -36,7 +36,6 @@ public class SendFiatTransferStartedMessage extends TradeTask {
protected void run() {
try {
runInterceptHook();
processModel.getP2PService().sendEncryptedMailboxMessage(
trade.getTradingPeerNodeAddress(),
processModel.tradingPeer.getPubKeyRing(),
@ -48,22 +47,22 @@ public class SendFiatTransferStartedMessage extends TradeTask {
new SendMailboxMessageListener() {
@Override
public void onArrived() {
log.trace("Message arrived at peer.");
log.info("Message arrived at peer.");
trade.setState(Trade.State.FIAT_PAYMENT_STARTED_MSG_SENT);
complete();
}
@Override
public void onStoredInMailbox() {
log.trace("Message stored in mailbox.");
log.info("Message stored in mailbox.");
trade.setState(Trade.State.FIAT_PAYMENT_STARTED_MSG_SENT);
complete();
}
@Override
public void onFault() {
public void onFault(String errorMessage) {
appendToErrorMessage("FiatTransferStartedMessage sending failed");
failed();
failed(errorMessage);
}
}
);

View file

@ -61,7 +61,7 @@ public class SendPayoutTxFinalizedMessage extends TradeTask {
}
@Override
public void onFault() {
public void onFault(String errorMessage) {
appendToErrorMessage("PayoutTxFinalizedMessage sending failed");
failed();
}

View file

@ -65,7 +65,7 @@ public class SendFinalizePayoutTxRequest extends TradeTask {
}
@Override
public void onFault() {
public void onFault(String errorMessage) {
appendToErrorMessage("FinalizePayoutTxRequest sending failed");
failed();
}

View file

@ -61,7 +61,7 @@ public class SendDepositTxPublishedMessage extends TradeTask {
}
@Override
public void onFault() {
public void onFault(String errorMessage) {
appendToErrorMessage("DepositTxPublishedMessage sending failed");
failed();
}

View file

@ -72,7 +72,7 @@ public class SendPayDepositRequest extends TradeTask {
}
@Override
public void onFault() {
public void onFault(String errorMessage) {
appendToErrorMessage("PayDepositRequest sending failed");
failed();
}