@Override public void stopping(int disconnectCause) { logger.debug("In stopping. Going to disconnect all peers in peer table"); isStarted = false; for (Peer peer : peerTable.values()) { try { peer.disconnect(disconnectCause); } catch (Exception e) { logger.warn("Failure disconnecting peer [" + peer.getUri().toString() + "]", e); } } }
@Override public Peer removePeer(String host) { try { String fqdn = null; for (String f : peerTable.keySet()) { if (f.equals(host)) { fqdn = f; peerTable.get(fqdn).disconnect(DisconnectCause.BUSY); } } if (fqdn != null) { predefinedPeerTable.remove(fqdn); Peer removedPeer = peerTable.remove(fqdn); if (peerTableListener != null) { peerTableListener.peerRemoved(removedPeer); } return removedPeer; } else { return null; } } catch (Exception e) { logger.debug("Unable to remove peer", e); return null; } }