forked from I2P_Developers/i2p.i2p
PeerManager: Add countPeersByCapability()
This commit is contained in:
@ -21,6 +21,7 @@ import net.i2p.data.Hash;
|
||||
*/
|
||||
public interface PeerManagerFacade extends Service {
|
||||
public Set<Hash> getPeersByCapability(char capability);
|
||||
public int countPeersByCapability(char capability);
|
||||
public void setCapabilities(Hash peer, String caps);
|
||||
public void removeCapabilities(Hash peer);
|
||||
public Hash selectRandomByCapability(char capability);
|
||||
|
@ -27,6 +27,7 @@ public class DummyPeerManagerFacade implements PeerManagerFacade {
|
||||
public void restart() {}
|
||||
public void renderStatusHTML(Writer out) { }
|
||||
public Set<Hash> getPeersByCapability(char capability) { return null; }
|
||||
public int countPeersByCapability(char capability) { return 0; }
|
||||
public void setCapabilities(Hash peer, String caps) {}
|
||||
public void removeCapabilities(Hash peer) {}
|
||||
public Hash selectRandomByCapability(char capability) { return null; }
|
||||
|
@ -354,4 +354,16 @@ class PeerManager {
|
||||
return Collections.unmodifiableSet(peers);
|
||||
return Collections.emptySet();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param capability case-insensitive
|
||||
* @return how many
|
||||
* @since 0.9.45
|
||||
*/
|
||||
public int countPeersByCapability(char capability) {
|
||||
Set<Hash> peers = locked_getPeers(capability);
|
||||
if (peers != null)
|
||||
return peers.size();
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
@ -89,6 +89,16 @@ public class PeerManagerFacadeImpl implements PeerManagerFacade {
|
||||
return _manager.getPeersByCapability(capability);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param capability case-insensitive
|
||||
* @return how many
|
||||
* @since 0.9.45
|
||||
*/
|
||||
public int countPeersByCapability(char capability) {
|
||||
if (_manager == null) return 0;
|
||||
return _manager.countPeersByCapability(capability);
|
||||
}
|
||||
|
||||
/** @deprecated moved to routerconsole */
|
||||
@Deprecated
|
||||
public void renderStatusHTML(Writer out) throws IOException {
|
||||
|
Reference in New Issue
Block a user