diff --git a/router/java/src/net/i2p/router/client/ClientMessageEventListener.java b/router/java/src/net/i2p/router/client/ClientMessageEventListener.java index d5697571e0981cddfbf463472550ef340f157595..a50a6c9bce0ca68df89775f16516febbb57f75ed 100644 --- a/router/java/src/net/i2p/router/client/ClientMessageEventListener.java +++ b/router/java/src/net/i2p/router/client/ClientMessageEventListener.java @@ -407,6 +407,8 @@ class ClientMessageEventListener implements I2CPMessageReader.I2CPMessageEventLi /** * The client asked for a message, so we send it to them. * + * This is only when not in fast receive mode. + * In the default fast receive mode, data is sent in MessageReceivedJob. */ private void handleReceiveBegin(ReceiveMessageBeginMessage message) { if (_runner.isDead()) return; @@ -427,8 +429,11 @@ class ClientMessageEventListener implements I2CPMessageReader.I2CPMessageEventLi try { _runner.doSend(msg); } catch (I2CPMessageException ime) { - if (_log.shouldLog(Log.WARN)) - _log.warn("Error delivering the payload", ime); + String emsg = "Error sending data to client " + _runner.getDestHash(); + if (_log.shouldWarn()) + _log.warn(emsg, ime); + else + _log.logAlways(Log.WARN, emsg); _runner.removePayload(new MessageId(message.getMessageId())); } } diff --git a/router/java/src/net/i2p/router/client/MessageReceivedJob.java b/router/java/src/net/i2p/router/client/MessageReceivedJob.java index 3614d1693077e06f699c8ba194ab71d6d0e75da4..02ecc8dd625f5d123f01380981e0520c0e40af0b 100644 --- a/router/java/src/net/i2p/router/client/MessageReceivedJob.java +++ b/router/java/src/net/i2p/router/client/MessageReceivedJob.java @@ -60,8 +60,11 @@ class MessageReceivedJob extends JobImpl { messageAvailable(id, _payload.getSize()); } } catch (I2CPMessageException ime) { - if (_log.shouldLog(Log.WARN)) - _log.warn("Error writing out the message", ime); + String msg = "Error sending data to client " + _runner.getDestHash(); + if (_log.shouldWarn()) + _log.warn(msg, ime); + else + _log.logAlways(Log.WARN, msg); if (id != null && !_sendDirect) _runner.removePayload(id); }