private void sendStatusMessage(SessionId id, int status) { SessionStatusMessage msg = new SessionStatusMessage(); msg.setSessionId(id); msg.setStatus(status); try { _runner.doSend(msg); } catch (I2CPMessageException ime) { if (_log.shouldLog(Log.WARN)) _log.warn("Error writing out the session status message", ime); } }
@Override public String toString() { StringBuilder buf = new StringBuilder(); buf.append("[SessionStatusMessage: "); buf.append("\n\tSessionId: ").append(getSessionId()); buf.append("\n\tStatus: ").append(getStatus()); buf.append("]"); return buf.toString(); } }
public DataStructure createStructureToRead() { return new SessionStatusMessage(); } }
public SessionStatusMessage() { setStatus(STATUS_INVALID); }
return new SendMessageExpiresMessage(); case SessionStatusMessage.MESSAGE_TYPE: return new SessionStatusMessage(); case GetDateMessage.MESSAGE_TYPE: return new GetDateMessage();
public DataStructure createDataStructure() throws DataFormatException { SessionStatusMessage msg = new SessionStatusMessage(); msg.setSessionId((SessionId)(new SessionIdTest()).createDataStructure()); msg.setStatus(SessionStatusMessage.STATUS_CREATED); return msg; } public DataStructure createStructureToRead() { return new SessionStatusMessage(); }
public void handleMessage(I2CPMessage message, I2PSessionImpl session) { if (_log.shouldLog(Log.DEBUG)) _log.debug("Handle message " + message); SessionStatusMessage msg = (SessionStatusMessage) message; session.setSessionId(msg.getSessionId()); switch (msg.getStatus()) { case SessionStatusMessage.STATUS_CREATED: _log.info("Session created successfully"); break; case SessionStatusMessage.STATUS_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: if (_log.shouldLog(Log.WARN)) _log.warn("Unknown session status sent: " + msg.getStatus()); } return; } }