From 846cdb743f47d2001aaae91043d91640796c68ac Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Thu, 5 May 2016 10:40:59 +0200 Subject: [PATCH] Ignore data request message success or failure after a timeout --- .../peers/getdata/GetDataRequestHandler.java | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/network/src/main/java/io/bitsquare/p2p/peers/getdata/GetDataRequestHandler.java b/network/src/main/java/io/bitsquare/p2p/peers/getdata/GetDataRequestHandler.java index fc76ad3e55..451a95bdbd 100644 --- a/network/src/main/java/io/bitsquare/p2p/peers/getdata/GetDataRequestHandler.java +++ b/network/src/main/java/io/bitsquare/p2p/peers/getdata/GetDataRequestHandler.java @@ -80,18 +80,26 @@ public class GetDataRequestHandler { Futures.addCallback(future, new FutureCallback() { @Override public void onSuccess(Connection connection) { - log.trace("Send DataResponse to {} succeeded. getDataResponse={}", - connection.getPeersNodeAddressOptional(), getDataResponse); - cleanup(); - listener.onComplete(); + if (!stopped) { + log.trace("Send DataResponse to {} succeeded. getDataResponse={}", + connection.getPeersNodeAddressOptional(), getDataResponse); + cleanup(); + listener.onComplete(); + } else { + log.trace("We have stopped already. We ignore that networkNode.sendMessage.onSuccess call."); + } } @Override public void onFailure(@NotNull Throwable throwable) { - String errorMessage = "Sending getDataRequest to " + connection + - " failed. That is expected if the peer is offline. getDataResponse=" + getDataResponse + "." + - "Exception: " + throwable.getMessage(); - handleFault(errorMessage, CloseConnectionReason.SEND_MSG_FAILURE, connection); + if (!stopped) { + String errorMessage = "Sending getDataRequest to " + connection + + " failed. That is expected if the peer is offline. getDataResponse=" + getDataResponse + "." + + "Exception: " + throwable.getMessage(); + handleFault(errorMessage, CloseConnectionReason.SEND_MSG_FAILURE, connection); + } else { + log.trace("We have stopped already. We ignore that networkNode.sendMessage.onFailure call."); + } } }); }