mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-04-20 07:46:05 -04:00
Untangle trade and msg packages
This commit is contained in:
parent
4f66404ae8
commit
89a68589e0
21
src/main/java/io/bitsquare/msg/Message.java
Normal file
21
src/main/java/io/bitsquare/msg/Message.java
Normal file
@ -0,0 +1,21 @@
|
||||
/*
|
||||
* This file is part of Bitsquare.
|
||||
*
|
||||
* Bitsquare is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Affero General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or (at
|
||||
* your option) any later version.
|
||||
*
|
||||
* Bitsquare is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
|
||||
* License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package io.bitsquare.msg;
|
||||
|
||||
public interface Message {
|
||||
}
|
@ -22,12 +22,11 @@ import io.bitsquare.msg.listeners.AddOfferListener;
|
||||
import io.bitsquare.msg.listeners.ArbitratorListener;
|
||||
import io.bitsquare.msg.listeners.BootstrapListener;
|
||||
import io.bitsquare.msg.listeners.GetPeerAddressListener;
|
||||
import io.bitsquare.msg.listeners.IncomingTradeMessageListener;
|
||||
import io.bitsquare.msg.listeners.IncomingMessageListener;
|
||||
import io.bitsquare.msg.listeners.OfferBookListener;
|
||||
import io.bitsquare.msg.listeners.OutgoingTradeMessageListener;
|
||||
import io.bitsquare.msg.listeners.OutgoingMessageListener;
|
||||
import io.bitsquare.network.Peer;
|
||||
import io.bitsquare.trade.Offer;
|
||||
import io.bitsquare.trade.protocol.trade.TradeMessage;
|
||||
|
||||
import java.security.PublicKey;
|
||||
|
||||
@ -37,15 +36,15 @@ import javafx.beans.property.LongProperty;
|
||||
|
||||
public interface MessageFacade extends MessageBroker {
|
||||
|
||||
void sendTradeMessage(Peer peer, TradeMessage tradeMessage, OutgoingTradeMessageListener listener);
|
||||
void sendMessage(Peer peer, Message message, OutgoingMessageListener listener);
|
||||
|
||||
void shutDown();
|
||||
|
||||
void addArbitrator(Arbitrator arbitrator);
|
||||
|
||||
void addIncomingTradeMessageListener(IncomingTradeMessageListener listener);
|
||||
void addIncomingMessageListener(IncomingMessageListener listener);
|
||||
|
||||
void removeIncomingTradeMessageListener(IncomingTradeMessageListener listener);
|
||||
void removeIncomingMessageListener(IncomingMessageListener listener);
|
||||
|
||||
void addOffer(Offer offer, AddOfferListener addOfferListener);
|
||||
|
||||
|
@ -22,13 +22,12 @@ import io.bitsquare.msg.listeners.AddOfferListener;
|
||||
import io.bitsquare.msg.listeners.ArbitratorListener;
|
||||
import io.bitsquare.msg.listeners.BootstrapListener;
|
||||
import io.bitsquare.msg.listeners.GetPeerAddressListener;
|
||||
import io.bitsquare.msg.listeners.IncomingTradeMessageListener;
|
||||
import io.bitsquare.msg.listeners.IncomingMessageListener;
|
||||
import io.bitsquare.msg.listeners.OfferBookListener;
|
||||
import io.bitsquare.msg.listeners.OutgoingTradeMessageListener;
|
||||
import io.bitsquare.msg.listeners.OutgoingMessageListener;
|
||||
import io.bitsquare.network.Peer;
|
||||
import io.bitsquare.network.tomp2p.TomP2PPeer;
|
||||
import io.bitsquare.trade.Offer;
|
||||
import io.bitsquare.trade.protocol.trade.TradeMessage;
|
||||
import io.bitsquare.user.User;
|
||||
|
||||
import com.google.common.util.concurrent.FutureCallback;
|
||||
@ -85,7 +84,7 @@ class TomP2PMessageFacade implements MessageFacade {
|
||||
|
||||
private final List<OfferBookListener> offerBookListeners = new ArrayList<>();
|
||||
private final List<ArbitratorListener> arbitratorListeners = new ArrayList<>();
|
||||
private final List<IncomingTradeMessageListener> incomingTradeMessageListeners = new ArrayList<>();
|
||||
private final List<IncomingMessageListener> incomingMessageListeners = new ArrayList<>();
|
||||
private final LongProperty invalidationTimestamp = new SimpleLongProperty(0);
|
||||
|
||||
|
||||
@ -317,12 +316,12 @@ class TomP2PMessageFacade implements MessageFacade {
|
||||
// Trade process
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
public void sendTradeMessage(Peer peer, TradeMessage tradeMessage,
|
||||
OutgoingTradeMessageListener listener) {
|
||||
public void sendMessage(Peer peer, Message message,
|
||||
OutgoingMessageListener listener) {
|
||||
if (!(peer instanceof TomP2PPeer)) {
|
||||
throw new IllegalArgumentException("peer must be of type TomP2PPeer") ;
|
||||
}
|
||||
FutureDirect futureDirect = p2pNode.sendData(((TomP2PPeer)peer).getPeerAddress(), tradeMessage);
|
||||
FutureDirect futureDirect = p2pNode.sendData(((TomP2PPeer)peer).getPeerAddress(), message);
|
||||
futureDirect.addListener(new BaseFutureListener<BaseFuture>() {
|
||||
@Override
|
||||
public void operationComplete(BaseFuture future) throws Exception {
|
||||
@ -469,12 +468,12 @@ class TomP2PMessageFacade implements MessageFacade {
|
||||
arbitratorListeners.remove(listener);
|
||||
}
|
||||
|
||||
public void addIncomingTradeMessageListener(IncomingTradeMessageListener listener) {
|
||||
incomingTradeMessageListeners.add(listener);
|
||||
public void addIncomingMessageListener(IncomingMessageListener listener) {
|
||||
incomingMessageListeners.add(listener);
|
||||
}
|
||||
|
||||
public void removeIncomingTradeMessageListener(IncomingTradeMessageListener listener) {
|
||||
incomingTradeMessageListeners.remove(listener);
|
||||
public void removeIncomingMessageListener(IncomingMessageListener listener) {
|
||||
incomingMessageListeners.remove(listener);
|
||||
}
|
||||
|
||||
|
||||
@ -565,9 +564,9 @@ class TomP2PMessageFacade implements MessageFacade {
|
||||
|
||||
@Override
|
||||
public void handleMessage(Object message, Peer sender) {
|
||||
if (message instanceof TradeMessage) {
|
||||
Platform.runLater(() -> incomingTradeMessageListeners.stream().forEach(e ->
|
||||
e.onMessage((TradeMessage) message, sender)));
|
||||
if (message instanceof Message) {
|
||||
Platform.runLater(() -> incomingMessageListeners.stream().forEach(e ->
|
||||
e.onMessage((Message) message, sender)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -17,9 +17,9 @@
|
||||
|
||||
package io.bitsquare.msg.listeners;
|
||||
|
||||
import io.bitsquare.msg.Message;
|
||||
import io.bitsquare.network.Peer;
|
||||
import io.bitsquare.trade.protocol.trade.TradeMessage;
|
||||
|
||||
public interface IncomingTradeMessageListener {
|
||||
void onMessage(TradeMessage tradeMessage, Peer sender);
|
||||
public interface IncomingMessageListener {
|
||||
void onMessage(Message message, Peer sender);
|
||||
}
|
@ -17,7 +17,7 @@
|
||||
|
||||
package io.bitsquare.msg.listeners;
|
||||
|
||||
public interface OutgoingTradeMessageListener {
|
||||
public interface OutgoingMessageListener {
|
||||
void onFailed();
|
||||
|
||||
void onResult();
|
@ -20,6 +20,7 @@ package io.bitsquare.trade;
|
||||
import io.bitsquare.btc.BlockChainFacade;
|
||||
import io.bitsquare.btc.WalletFacade;
|
||||
import io.bitsquare.crypto.CryptoFacade;
|
||||
import io.bitsquare.msg.Message;
|
||||
import io.bitsquare.msg.MessageFacade;
|
||||
import io.bitsquare.network.Peer;
|
||||
import io.bitsquare.persistence.Persistence;
|
||||
@ -120,7 +121,7 @@ public class TradeManager {
|
||||
closedTrades.putAll((Map<String, Trade>) closedTradesObject);
|
||||
}
|
||||
|
||||
messageFacade.addIncomingTradeMessageListener(this::onIncomingTradeMessage);
|
||||
messageFacade.addIncomingMessageListener(this::onIncomingTradeMessage);
|
||||
}
|
||||
|
||||
|
||||
@ -129,7 +130,7 @@ public class TradeManager {
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
public void cleanup() {
|
||||
messageFacade.removeIncomingTradeMessageListener(this::onIncomingTradeMessage);
|
||||
messageFacade.removeIncomingMessageListener(this::onIncomingTradeMessage);
|
||||
}
|
||||
|
||||
|
||||
@ -411,8 +412,11 @@ public class TradeManager {
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Routes the incoming messages to the responsible protocol
|
||||
private void onIncomingTradeMessage(TradeMessage tradeMessage, Peer sender) {
|
||||
// log.trace("processTradingMessage TradeId " + tradeMessage.getTradeId());
|
||||
private void onIncomingTradeMessage(Message message, Peer sender) {
|
||||
if (!(message instanceof TradeMessage))
|
||||
throw new IllegalArgumentException("message must be of type TradeMessage");
|
||||
TradeMessage tradeMessage = (TradeMessage) message;
|
||||
|
||||
log.trace("onIncomingTradeMessage instance " + tradeMessage.getClass().getSimpleName());
|
||||
log.trace("onIncomingTradeMessage sender " + sender);
|
||||
|
||||
|
@ -17,6 +17,8 @@
|
||||
|
||||
package io.bitsquare.trade.protocol.trade;
|
||||
|
||||
public interface TradeMessage {
|
||||
import io.bitsquare.msg.Message;
|
||||
|
||||
public interface TradeMessage extends Message {
|
||||
public String getTradeId();
|
||||
}
|
||||
|
@ -18,7 +18,7 @@
|
||||
package io.bitsquare.trade.protocol.trade.offerer.tasks;
|
||||
|
||||
import io.bitsquare.msg.MessageFacade;
|
||||
import io.bitsquare.msg.listeners.OutgoingTradeMessageListener;
|
||||
import io.bitsquare.msg.listeners.OutgoingMessageListener;
|
||||
import io.bitsquare.network.Peer;
|
||||
import io.bitsquare.trade.Trade;
|
||||
import io.bitsquare.trade.handlers.ExceptionHandler;
|
||||
@ -39,7 +39,7 @@ public class HandleTakeOfferRequest {
|
||||
}
|
||||
RespondToTakeOfferRequestMessage tradeMessage =
|
||||
new RespondToTakeOfferRequestMessage(tradeId, takeOfferRequestAccepted);
|
||||
messageFacade.sendTradeMessage(peer, tradeMessage, new OutgoingTradeMessageListener() {
|
||||
messageFacade.sendMessage(peer, tradeMessage, new OutgoingMessageListener() {
|
||||
@Override
|
||||
public void onResult() {
|
||||
log.trace("RespondToTakeOfferRequestMessage successfully arrived at peer");
|
||||
|
@ -19,7 +19,7 @@ package io.bitsquare.trade.protocol.trade.offerer.tasks;
|
||||
|
||||
import io.bitsquare.bank.BankAccount;
|
||||
import io.bitsquare.msg.MessageFacade;
|
||||
import io.bitsquare.msg.listeners.OutgoingTradeMessageListener;
|
||||
import io.bitsquare.msg.listeners.OutgoingMessageListener;
|
||||
import io.bitsquare.network.Peer;
|
||||
import io.bitsquare.trade.handlers.ExceptionHandler;
|
||||
import io.bitsquare.trade.handlers.ResultHandler;
|
||||
@ -44,7 +44,7 @@ public class RequestTakerDepositPayment {
|
||||
log.trace("Run task");
|
||||
RequestTakerDepositPaymentMessage tradeMessage = new RequestTakerDepositPaymentMessage(
|
||||
tradeId, bankAccount, accountId, offererPubKey, preparedOffererDepositTxAsHex, offererTxOutIndex);
|
||||
messageFacade.sendTradeMessage(peer, tradeMessage, new OutgoingTradeMessageListener() {
|
||||
messageFacade.sendMessage(peer, tradeMessage, new OutgoingMessageListener() {
|
||||
@Override
|
||||
public void onResult() {
|
||||
log.trace("RequestTakerDepositPaymentMessage successfully arrived at peer");
|
||||
|
@ -18,7 +18,7 @@
|
||||
package io.bitsquare.trade.protocol.trade.offerer.tasks;
|
||||
|
||||
import io.bitsquare.msg.MessageFacade;
|
||||
import io.bitsquare.msg.listeners.OutgoingTradeMessageListener;
|
||||
import io.bitsquare.msg.listeners.OutgoingMessageListener;
|
||||
import io.bitsquare.network.Peer;
|
||||
import io.bitsquare.trade.handlers.ExceptionHandler;
|
||||
import io.bitsquare.trade.handlers.ResultHandler;
|
||||
@ -39,7 +39,7 @@ public class SendDepositTxIdToTaker {
|
||||
DepositTxPublishedMessage tradeMessage =
|
||||
new DepositTxPublishedMessage(tradeId, Utils.HEX.encode(depositTransaction.bitcoinSerialize()));
|
||||
|
||||
messageFacade.sendTradeMessage(peer, tradeMessage, new OutgoingTradeMessageListener() {
|
||||
messageFacade.sendMessage(peer, tradeMessage, new OutgoingMessageListener() {
|
||||
@Override
|
||||
public void onResult() {
|
||||
log.trace("DepositTxPublishedMessage successfully arrived at peer");
|
||||
|
@ -19,7 +19,7 @@ package io.bitsquare.trade.protocol.trade.offerer.tasks;
|
||||
|
||||
import io.bitsquare.btc.WalletFacade;
|
||||
import io.bitsquare.msg.MessageFacade;
|
||||
import io.bitsquare.msg.listeners.OutgoingTradeMessageListener;
|
||||
import io.bitsquare.msg.listeners.OutgoingMessageListener;
|
||||
import io.bitsquare.network.Peer;
|
||||
import io.bitsquare.trade.handlers.ExceptionHandler;
|
||||
import io.bitsquare.trade.handlers.ResultHandler;
|
||||
@ -68,7 +68,7 @@ public class SendSignedPayoutTx {
|
||||
takerPaybackAmount,
|
||||
offererPayoutAddress);
|
||||
|
||||
messageFacade.sendTradeMessage(peer, tradeMessage, new OutgoingTradeMessageListener() {
|
||||
messageFacade.sendMessage(peer, tradeMessage, new OutgoingMessageListener() {
|
||||
@Override
|
||||
public void onResult() {
|
||||
log.trace("BankTransferInitedMessage successfully arrived at peer");
|
||||
|
@ -18,7 +18,7 @@
|
||||
package io.bitsquare.trade.protocol.trade.taker.tasks;
|
||||
|
||||
import io.bitsquare.msg.MessageFacade;
|
||||
import io.bitsquare.msg.listeners.OutgoingTradeMessageListener;
|
||||
import io.bitsquare.msg.listeners.OutgoingMessageListener;
|
||||
import io.bitsquare.network.Peer;
|
||||
import io.bitsquare.trade.handlers.ExceptionHandler;
|
||||
import io.bitsquare.trade.handlers.ResultHandler;
|
||||
@ -33,8 +33,8 @@ public class RequestTakeOffer {
|
||||
public static void run(ResultHandler resultHandler, ExceptionHandler exceptionHandler, Peer peer,
|
||||
MessageFacade messageFacade, String tradeId) {
|
||||
log.trace("Run task");
|
||||
messageFacade.sendTradeMessage(peer, new RequestTakeOfferMessage(tradeId),
|
||||
new OutgoingTradeMessageListener() {
|
||||
messageFacade.sendMessage(peer, new RequestTakeOfferMessage(tradeId),
|
||||
new OutgoingMessageListener() {
|
||||
@Override
|
||||
public void onResult() {
|
||||
log.trace("RequestTakeOfferMessage successfully arrived at peer");
|
||||
|
@ -18,7 +18,7 @@
|
||||
package io.bitsquare.trade.protocol.trade.taker.tasks;
|
||||
|
||||
import io.bitsquare.msg.MessageFacade;
|
||||
import io.bitsquare.msg.listeners.OutgoingTradeMessageListener;
|
||||
import io.bitsquare.msg.listeners.OutgoingMessageListener;
|
||||
import io.bitsquare.network.Peer;
|
||||
import io.bitsquare.trade.handlers.ExceptionHandler;
|
||||
import io.bitsquare.trade.handlers.ResultHandler;
|
||||
@ -34,7 +34,7 @@ public class SendPayoutTxToOfferer {
|
||||
MessageFacade messageFacade, String tradeId, String payoutTxAsHex) {
|
||||
log.trace("Run task");
|
||||
PayoutTxPublishedMessage tradeMessage = new PayoutTxPublishedMessage(tradeId, payoutTxAsHex);
|
||||
messageFacade.sendTradeMessage(peer, tradeMessage, new OutgoingTradeMessageListener() {
|
||||
messageFacade.sendMessage(peer, tradeMessage, new OutgoingMessageListener() {
|
||||
@Override
|
||||
public void onResult() {
|
||||
log.trace("PayoutTxPublishedMessage successfully arrived at peer");
|
||||
|
@ -20,7 +20,7 @@ package io.bitsquare.trade.protocol.trade.taker.tasks;
|
||||
import io.bitsquare.bank.BankAccount;
|
||||
import io.bitsquare.btc.WalletFacade;
|
||||
import io.bitsquare.msg.MessageFacade;
|
||||
import io.bitsquare.msg.listeners.OutgoingTradeMessageListener;
|
||||
import io.bitsquare.msg.listeners.OutgoingMessageListener;
|
||||
import io.bitsquare.network.Peer;
|
||||
import io.bitsquare.trade.handlers.ExceptionHandler;
|
||||
import io.bitsquare.trade.handlers.ResultHandler;
|
||||
@ -68,7 +68,7 @@ public class SendSignedTakerDepositTxAsHex {
|
||||
walletFacade.getAddressInfoByTradeID(tradeId).getAddressString(),
|
||||
takerTxOutIndex,
|
||||
offererTxOutIndex);
|
||||
messageFacade.sendTradeMessage(peer, tradeMessage, new OutgoingTradeMessageListener() {
|
||||
messageFacade.sendMessage(peer, tradeMessage, new OutgoingMessageListener() {
|
||||
@Override
|
||||
public void onResult() {
|
||||
log.trace("RequestOffererDepositPublicationMessage successfully arrived at peer");
|
||||
|
@ -18,7 +18,7 @@
|
||||
package io.bitsquare.trade.protocol.trade.taker.tasks;
|
||||
|
||||
import io.bitsquare.msg.MessageFacade;
|
||||
import io.bitsquare.msg.listeners.OutgoingTradeMessageListener;
|
||||
import io.bitsquare.msg.listeners.OutgoingMessageListener;
|
||||
import io.bitsquare.network.Peer;
|
||||
import io.bitsquare.trade.handlers.ExceptionHandler;
|
||||
import io.bitsquare.trade.handlers.ResultHandler;
|
||||
@ -44,7 +44,7 @@ public class SendTakeOfferFeePayedTxId {
|
||||
TakeOfferFeePayedMessage msg = new TakeOfferFeePayedMessage(tradeId, takeOfferFeeTxId, tradeAmount,
|
||||
pubKeyForThatTradeAsHex);
|
||||
|
||||
messageFacade.sendTradeMessage(peer, msg, new OutgoingTradeMessageListener() {
|
||||
messageFacade.sendMessage(peer, msg, new OutgoingMessageListener() {
|
||||
@Override
|
||||
public void onResult() {
|
||||
log.trace("TakeOfferFeePayedMessage successfully arrived at peer");
|
||||
|
Loading…
x
Reference in New Issue
Block a user