diff --git a/core/java/src/net/i2p/client/DisconnectMessageHandler.java b/core/java/src/net/i2p/client/DisconnectMessageHandler.java index c7b58a19fa376b56f0e657671c48b1aaea4d1c36..56ad3fa38a8cd7c094214c61cfe2495976edcadd 100644 --- a/core/java/src/net/i2p/client/DisconnectMessageHandler.java +++ b/core/java/src/net/i2p/client/DisconnectMessageHandler.java @@ -12,6 +12,7 @@ package net.i2p.client; import net.i2p.I2PAppContext; import net.i2p.data.i2cp.DisconnectMessage; import net.i2p.data.i2cp.I2CPMessage; +import net.i2p.util.Log; /** * Handle I2CP disconnect messages from the router @@ -24,7 +25,9 @@ class DisconnectMessageHandler extends HandlerImpl { } public void handleMessage(I2CPMessage message, I2PSessionImpl session) { - _log.debug("Handle message " + message); + if (_log.shouldLog(Log.DEBUG)) + _log.debug("Handle message " + message); + session.propogateError(((DisconnectMessage)message).getReason(), new I2PSessionException("Disconnect Message received")); session.destroySession(false); } -} \ No newline at end of file +} diff --git a/core/java/src/net/i2p/client/I2PSessionListener.java b/core/java/src/net/i2p/client/I2PSessionListener.java index 740ebeeab34e0116436059df27dc164211ed3af7..6e01d994f124496a60c4d75b8b13fc39e723164c 100644 --- a/core/java/src/net/i2p/client/I2PSessionListener.java +++ b/core/java/src/net/i2p/client/I2PSessionListener.java @@ -39,7 +39,7 @@ public interface I2PSessionListener { /** * Notify the client that some error occurred - * + * @param null can be null? or not? */ void errorOccurred(I2PSession session, String message, Throwable error); } diff --git a/core/java/src/net/i2p/client/SessionStatusMessageHandler.java b/core/java/src/net/i2p/client/SessionStatusMessageHandler.java index d6f875424efe687c67ed50ccdb50c2f2d9ca5cd3..92bd7db82a8a8c43d0ac3fa9e077c1dc064b4d49 100644 --- a/core/java/src/net/i2p/client/SessionStatusMessageHandler.java +++ b/core/java/src/net/i2p/client/SessionStatusMessageHandler.java @@ -12,6 +12,7 @@ package net.i2p.client; import net.i2p.I2PAppContext; import net.i2p.data.i2cp.I2CPMessage; import net.i2p.data.i2cp.SessionStatusMessage; +import net.i2p.util.Log; /** * Handle I2CP SessionStatusMessagese from the router, updating the session as @@ -25,7 +26,8 @@ class SessionStatusMessageHandler extends HandlerImpl { } public void handleMessage(I2CPMessage message, I2PSessionImpl session) { - _log.debug("Handle message " + message); + if (_log.shouldLog(Log.DEBUG)) + _log.debug("Handle message " + message); SessionStatusMessage msg = (SessionStatusMessage) message; session.setSessionId(msg.getSessionId()); switch (msg.getStatus()) { @@ -33,19 +35,23 @@ class SessionStatusMessageHandler extends HandlerImpl { _log.info("Session created successfully"); break; case SessionStatusMessage.STATUS_DESTROYED: - _log.info("Session destroyed"); + _log.warn("Session destroyed"); + session.propogateError("Destroyed", new I2PSessionException("Session Status Message received")); //session.destroySession(); session.reconnect(); // la la la break; case SessionStatusMessage.STATUS_INVALID: + _log.warn("Session invalid"); + session.propogateError("Invalid", new I2PSessionException("Session Status Message received")); session.destroySession(); // ok, honor this destroy message, because we're b0rked break; case SessionStatusMessage.STATUS_UPDATED: _log.info("Session status updated"); break; default: - _log.warn("Unknown session status sent: " + msg.getStatus()); + if (_log.shouldLog(Log.WARN)) + _log.warn("Unknown session status sent: " + msg.getStatus()); } return; } -} \ No newline at end of file +}