コード例 #1
0
  static Collection<EndPoint> randomEndPoints(Node caller, int total) {

    Set<EndPoint> res = new HashSet<EndPoint>();

    if (seeds.isEmpty()) res.add(nodes.randomElement().endpoint);
    else
      while (res.size() < Math.min(total, seeds.size())) {
        res.add(seeds.randomElement().endpoint);
      }

    seeds.add(caller);
    return res;
  }
コード例 #2
0
 static void dispose(Node n) {
   if (n != null) {
     seeds.remove(n);
     nodes.remove(n);
     n.dispose();
   }
 }
コード例 #3
0
 static Node randomNode() {
   return nodes.randomElement();
 }
コード例 #4
0
 static int size() {
   return nodes.size();
 }
コード例 #5
0
 static void store(Node n) {
   nodes.add(n);
 }