I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
Commit d47dcddb authored by zzz's avatar zzz
Browse files

send I2CP DisconnectMessage at router shutdown

parent cd621f2b
No related branches found
No related tags found
No related merge requests found
...@@ -237,17 +237,32 @@ public class ClientConnectionRunner { ...@@ -237,17 +237,32 @@ public class ClientConnectionRunner {
_context.jobQueue().addJob(state.getOnGranted()); _context.jobQueue().addJob(state.getOnGranted());
} }
/**
* Send a DisconnectMessage and log with level Log.CRIT.
* This is always bad.
* See ClientMessageEventListener.handleCreateSession()
* for why we don't send a SessionStatusMessage when we do this.
*/
void disconnectClient(String reason) { void disconnectClient(String reason) {
if (_log.shouldLog(Log.CRIT)) disconnectClient(reason, Log.CRIT);
_log.log(Log.CRIT, "Disconnecting the client (" }
/**
* @param logLevel e.g. Log.WARN
* @since 0.8.2
*/
void disconnectClient(String reason, int logLevel) {
if (_log.shouldLog(logLevel))
_log.log(logLevel, "Disconnecting the client ("
+ _config + _config
+ ": " + reason); + ") : " + reason);
DisconnectMessage msg = new DisconnectMessage(); DisconnectMessage msg = new DisconnectMessage();
msg.setReason(reason); msg.setReason(reason);
try { try {
doSend(msg); doSend(msg);
} catch (I2CPMessageException ime) { } catch (I2CPMessageException ime) {
_log.error("Error writing out the disconnect message: " + ime); if (_log.shouldLog(Log.WARN))
_log.warn("Error writing out the disconnect message: " + ime);
} }
stopRunning(); stopRunning();
} }
......
...@@ -113,7 +113,7 @@ public class ClientManager { ...@@ -113,7 +113,7 @@ public class ClientManager {
} }
for (Iterator<ClientConnectionRunner> iter = runners.iterator(); iter.hasNext(); ) { for (Iterator<ClientConnectionRunner> iter = runners.iterator(); iter.hasNext(); ) {
ClientConnectionRunner runner = iter.next(); ClientConnectionRunner runner = iter.next();
runner.stopRunning(); runner.disconnectClient("Router shutdown", Log.WARN);
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment