package io.bitsquare.p2p.network; public enum CloseConnectionReason { // First block are from different exceptions SOCKET_CLOSED(false, false), RESET(false, false), SOCKET_TIMEOUT(false, false), TERMINATED(false, false), // EOFException CORRUPTED_DATA(false, false), UNKNOWN_EXCEPTION(false, false), // Planned APP_SHUT_DOWN(true, true), CLOSE_REQUESTED_BY_PEER(false, true), // send msg SEND_MSG_FAILURE(false, false), SEND_MSG_TIMEOUT(false, false), // maintenance TOO_MANY_CONNECTIONS_OPEN(true, true), TOO_MANY_SEED_NODES_CONNECTED(true, true), UNKNOWN_PEER_ADDRESS(true, true), // illegal requests RULE_VIOLATION(true, false), PEER_BANNED(true, false), INVALID_CLASS_RECEIVED(false, false); public final boolean sendCloseMessage; public boolean isIntended; CloseConnectionReason(boolean sendCloseMessage, boolean isIntended) { this.sendCloseMessage = sendCloseMessage; this.isIntended = isIntended; } @Override public String toString() { return "CloseConnectionReason{" + "sendCloseMessage=" + sendCloseMessage + ", isIntended=" + isIntended + "} " + super.toString(); } }