Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
kill another out of date script
[simgrid.git] / contrib / psg / src / example / symphony / RandomRouteTest.java
1 package example.symphony;\r
2 \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
10 \r
11 /**\r
12  *\r
13  * @author Andrea Esposito <and1989@gmail.com>\r
14  */\r
15 public class RandomRouteTest implements Control, Handler {\r
16 \r
17     private static final String PAR_SYMPHONY = "symphony";\r
18     private final int symphonyID;\r
19 \r
20     public RandomRouteTest(String prefix) {\r
21         symphonyID = Configuration.getPid(prefix + "." + PAR_SYMPHONY);\r
22     }\r
23 \r
24     public boolean execute() {\r
25 \r
26         Node src = Network.get(Math.abs(CommonState.r.nextInt()) % Network.size());\r
27 \r
28         SymphonyProtocol symphony = (SymphonyProtocol) src.getProtocol(symphonyID);\r
29         try {\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
33         }\r
34 \r
35         return false;\r
36 \r
37     }\r
38 \r
39     public void handle(SymphonyProtocol symphony, Tuple<Node, Double> tuple) {\r
40 \r
41         if (tuple == null) {\r
42             Logger.getLogger(RandomRouteTest.class.getName()).log(Level.SEVERE, "FAIL ROUTE RANDOMTEST");\r
43             return;\r
44         }\r
45 \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
47     }\r
48 }\r