annotate src/main/java/alice/topology/manager/RecodeTopology.java @ 472:116e0fde9233 dispose

change algotherm
author sugi
date Tue, 25 Nov 2014 16:17:33 +0900
parents 268b1280dc18
children fac27e395930
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
422
2c6f86320691 add topology state recoder
sugi
parents:
diff changeset
1 package alice.topology.manager;
2c6f86320691 add topology state recoder
sugi
parents:
diff changeset
2
2c6f86320691 add topology state recoder
sugi
parents:
diff changeset
3 import java.util.HashMap;
2c6f86320691 add topology state recoder
sugi
parents:
diff changeset
4 import java.util.LinkedList;
2c6f86320691 add topology state recoder
sugi
parents:
diff changeset
5
2c6f86320691 add topology state recoder
sugi
parents:
diff changeset
6 import alice.codesegment.CodeSegment;
2c6f86320691 add topology state recoder
sugi
parents:
diff changeset
7 import alice.datasegment.CommandType;
2c6f86320691 add topology state recoder
sugi
parents:
diff changeset
8 import alice.datasegment.Receiver;
2c6f86320691 add topology state recoder
sugi
parents:
diff changeset
9 import alice.topology.HostMessage;
2c6f86320691 add topology state recoder
sugi
parents:
diff changeset
10
2c6f86320691 add topology state recoder
sugi
parents:
diff changeset
11 public class RecodeTopology extends CodeSegment {
2c6f86320691 add topology state recoder
sugi
parents:
diff changeset
12
2c6f86320691 add topology state recoder
sugi
parents:
diff changeset
13 private Receiver info = ids.create(CommandType.TAKE); // NodeInfo
466
268b1280dc18 remove debug message
sugi
parents: 435
diff changeset
14 private Receiver info1 = ids.create(CommandType.TAKE); // HashMap
422
2c6f86320691 add topology state recoder
sugi
parents:
diff changeset
15
2c6f86320691 add topology state recoder
sugi
parents:
diff changeset
16 public RecodeTopology(){
2c6f86320691 add topology state recoder
sugi
parents:
diff changeset
17 info.setKey("nodeInfo");
472
116e0fde9233 change algotherm
sugi
parents: 466
diff changeset
18
422
2c6f86320691 add topology state recoder
sugi
parents:
diff changeset
19 }
2c6f86320691 add topology state recoder
sugi
parents:
diff changeset
20
2c6f86320691 add topology state recoder
sugi
parents:
diff changeset
21 @Override
2c6f86320691 add topology state recoder
sugi
parents:
diff changeset
22 public void run() {
2c6f86320691 add topology state recoder
sugi
parents:
diff changeset
23 HostMessage hostInfo = info.asClass(HostMessage.class);
2c6f86320691 add topology state recoder
sugi
parents:
diff changeset
24 @SuppressWarnings("unchecked")
2c6f86320691 add topology state recoder
sugi
parents:
diff changeset
25 HashMap<String, LinkedList<HostMessage>> topology = info1.asClass(HashMap.class);
466
268b1280dc18 remove debug message
sugi
parents: 435
diff changeset
26 LinkedList<HostMessage> connections;
428
93995b7a9a05 change HostMessage field from parentAbsName to remoteAbsName
sugi
parents: 422
diff changeset
27 if (!topology.containsKey(hostInfo.remoteAbsName)) {
422
2c6f86320691 add topology state recoder
sugi
parents:
diff changeset
28 connections = new LinkedList<HostMessage>();
2c6f86320691 add topology state recoder
sugi
parents:
diff changeset
29 } else {
428
93995b7a9a05 change HostMessage field from parentAbsName to remoteAbsName
sugi
parents: 422
diff changeset
30 connections = topology.get(hostInfo.remoteAbsName);
422
2c6f86320691 add topology state recoder
sugi
parents:
diff changeset
31 }
2c6f86320691 add topology state recoder
sugi
parents:
diff changeset
32 connections.add(hostInfo);
428
93995b7a9a05 change HostMessage field from parentAbsName to remoteAbsName
sugi
parents: 422
diff changeset
33 topology.put(hostInfo.remoteAbsName, connections);
466
268b1280dc18 remove debug message
sugi
parents: 435
diff changeset
34 // need debug option
268b1280dc18 remove debug message
sugi
parents: 435
diff changeset
35 // for (LinkedList<HostMessage> list :topology.values()){
268b1280dc18 remove debug message
sugi
parents: 435
diff changeset
36 // System.out.print(list.get(0).remoteAbsName+" : ");
268b1280dc18 remove debug message
sugi
parents: 435
diff changeset
37 // for (HostMessage host : list){
268b1280dc18 remove debug message
sugi
parents: 435
diff changeset
38 // System.out.print("[ "+host.absName+" "+host.name+" "+host.port+" "+host.connectionName+" "+host.reverseName+" "+host.remoteAbsName+" ]");
268b1280dc18 remove debug message
sugi
parents: 435
diff changeset
39 // }
268b1280dc18 remove debug message
sugi
parents: 435
diff changeset
40 // System.out.println();
268b1280dc18 remove debug message
sugi
parents: 435
diff changeset
41 // }
435
41bb86275910 send MD5 "mode -t"
sugi
parents: 429
diff changeset
42 ods.update(info1.key, topology);
422
2c6f86320691 add topology state recoder
sugi
parents:
diff changeset
43 }
2c6f86320691 add topology state recoder
sugi
parents:
diff changeset
44
2c6f86320691 add topology state recoder
sugi
parents:
diff changeset
45 }