1 package example.symphony;
\r
3 import java.util.logging.Level;
\r
4 import java.util.logging.Logger;
\r
5 import peersim.config.Configuration;
\r
6 import peersim.core.CommonState;
\r
7 import peersim.core.Control;
\r
8 import peersim.core.Network;
\r
9 import peersim.core.Node;
\r
13 * @author Andrea Esposito <and1989@gmail.com>
\r
15 public class RandomRouteTest implements Control, Handler {
\r
17 private static final String PAR_SYMPHONY = "symphony";
\r
18 private final int symphonyID;
\r
20 public RandomRouteTest(String prefix) {
\r
21 symphonyID = Configuration.getPid(prefix + "." + PAR_SYMPHONY);
\r
24 public boolean execute() {
\r
26 Node src = Network.get(Math.abs(CommonState.r.nextInt()) % Network.size());
\r
28 SymphonyProtocol symphony = (SymphonyProtocol) src.getProtocol(symphonyID);
\r
30 symphony.route(src, CommonState.r.nextDouble(), this);
\r
31 } catch (RoutingException ex) {
\r
32 Logger.getLogger(RandomRouteTest.class.getName()).log(Level.SEVERE, ex.getMessage());
\r
39 public void handle(SymphonyProtocol symphony, Tuple<Node, Double> tuple) {
\r
41 if (tuple == null) {
\r
42 Logger.getLogger(RandomRouteTest.class.getName()).log(Level.SEVERE, "FAIL ROUTE RANDOMTEST");
\r
46 Logger.getLogger(RandomRouteTest.class.getName()).log(Level.FINE, symphony.getIdentifier() + " source find the manager of " + tuple.y + " and it is " + ((SymphonyProtocol) tuple.x.getProtocol(symphonyID)).getIdentifier());
\r