package plugins.CENO.FreenetInterface; import freenet.node.DarknetPeerNode; import freenet.node.Node; import freenet.node.PeerManager; public class ConnectionOverview { private Node node; private PeerManager peerManager; public class NodeConnections { private int numberOfCurrentConnections; private int numberOfMaximumConnections; public NodeConnections(int numberOfCurrentConnections, int numberOfMaximumConnections) { this.numberOfCurrentConnections = numberOfCurrentConnections; this.numberOfMaximumConnections = numberOfMaximumConnections; } public int getCurrent() { return numberOfCurrentConnections; } public int getMaximum() { return numberOfMaximumConnections; } } public ConnectionOverview(Node node) { this.node = node; this.peerManager = node.peers; } public NodeConnections getConnections() { int numberOfCurrentConnections = getNumberOfCurrentConnections(); int numberOfMaximumConnections = getNumberOfMaximumConnections(); return new NodeConnections(numberOfCurrentConnections, numberOfMaximumConnections); } private int getNumberOfCurrentConnections() { return peerManager.countConnectedPeers(); } private int getNumberOfMaximumConnections() { if (node.isOpennetEnabled()) { return node.getOpennet().getNumberOfConnectedPeersToAimIncludingDarknet(); } int enabledPeers = 0; for (DarknetPeerNode darknetPeer : peerManager.getDarknetPeers()) { if (darknetPeer != null && !darknetPeer.isDisabled()) { enabledPeers++; } } return enabledPeers; } }