--- /dev/null
+package example.symphony;\r
+\r
+import java.util.logging.Level;\r
+import java.util.logging.Logger;\r
+import peersim.config.Configuration;\r
+import peersim.core.CommonState;\r
+import peersim.core.Control;\r
+import peersim.core.Network;\r
+import peersim.core.Node;\r
+\r
+/**\r
+ *\r
+ * @author Andrea Esposito <and1989@gmail.com>\r
+ */\r
+public class RandomRouteTest implements Control, Handler {\r
+\r
+ private static final String PAR_SYMPHONY = "symphony";\r
+ private final int symphonyID;\r
+\r
+ public RandomRouteTest(String prefix) {\r
+ symphonyID = Configuration.getPid(prefix + "." + PAR_SYMPHONY);\r
+ }\r
+\r
+ public boolean execute() {\r
+\r
+ Node src = Network.get(Math.abs(CommonState.r.nextInt()) % Network.size());\r
+\r
+ SymphonyProtocol symphony = (SymphonyProtocol) src.getProtocol(symphonyID);\r
+ try {\r
+ symphony.route(src, CommonState.r.nextDouble(), this);\r
+ } catch (RoutingException ex) {\r
+ Logger.getLogger(RandomRouteTest.class.getName()).log(Level.SEVERE, ex.getMessage());\r
+ }\r
+\r
+ return false;\r
+\r
+ }\r
+\r
+ public void handle(SymphonyProtocol symphony, Tuple<Node, Double> tuple) {\r
+\r
+ if (tuple == null) {\r
+ Logger.getLogger(RandomRouteTest.class.getName()).log(Level.SEVERE, "FAIL ROUTE RANDOMTEST");\r
+ return;\r
+ }\r
+\r
+ 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
+ }\r
+}\r