@Override public int compare(KademliaPeer peer1, KademliaPeer peer2) { if (peer1.isLocked() || peer2.isLocked()) { int n1 = peer1.isLocked() ? 0 : 1; int n2 = peer2.isLocked() ? 0 : 1; return n2 - n1; } else return Long.valueOf(peer2.getFirstSeen()).compareTo(peer1.getFirstSeen()); } });
private void addPeerData(DhtPeerStatsRenderer renderer, AbstractBucket bucket, Hash localDestinationHash) { for (KademliaPeer peer: bucket) { BigInteger distance = KademliaUtil.getDistance(localDestinationHash, peer.calculateHash()); data.add(new KademliaPeerStatsRow( renderer, data.size() + 1, peer, getBucketPrefix(renderer, bucket), distance, peer.isLocked(), peer.getConsecTimeouts(), peer.getFirstSeen() )); } }