Mercurial > hg > Database > Alice
annotate src/main/java/alice/topology/node/StartTopologyNode.java @ 602:8a9fd716c335 dispose
change topology class extends CodeSegment from MetaCodeSegment, Chat minor fix
author | Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 03 May 2016 20:09:45 +0900 |
parents | 3284428f525e |
children |
rev | line source |
---|---|
345 | 1 package alice.topology.node; |
2 | |
3 import java.net.InetAddress; | |
4 import java.net.UnknownHostException; | |
439 | 5 import java.util.ArrayList; |
584
8f765e3eed24
add Topology Manager Number to Topology Node Key
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
578
diff
changeset
|
6 import java.util.LinkedList; |
439 | 7 |
345 | 8 import alice.codesegment.CodeSegment; |
599
3284428f525e
add MetaCodeSegment & MetaDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
588
diff
changeset
|
9 import alice.codesegment.MetaCodeSegment; |
345 | 10 import alice.datasegment.DataSegment; |
11 import alice.topology.HostMessage; | |
12 | |
602
8a9fd716c335
change topology class extends CodeSegment from MetaCodeSegment, Chat minor fix
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
599
diff
changeset
|
13 public class StartTopologyNode extends CodeSegment { |
345 | 14 |
584
8f765e3eed24
add Topology Manager Number to Topology Node Key
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
578
diff
changeset
|
15 private LinkedList<TopologyNodeConfig> configs; |
419 | 16 private TopologyNodeConfig conf; |
17 private CodeSegment startCS; | |
578 | 18 private int topMNumber; |
419 | 19 |
584
8f765e3eed24
add Topology Manager Number to Topology Node Key
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
578
diff
changeset
|
20 public StartTopologyNode(LinkedList<TopologyNodeConfig> configs, CodeSegment startCS, int topMNum) { |
8f765e3eed24
add Topology Manager Number to Topology Node Key
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
578
diff
changeset
|
21 this.configs = configs; |
585
33c011f9fb81
change topMNum count of StartAliceVNC
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
584
diff
changeset
|
22 this.conf = configs.get(topMNum - 1); |
419 | 23 this.startCS = startCS; |
578 | 24 this.topMNumber = topMNum; |
419 | 25 } |
26 | |
27 @Override | |
28 public void run() { | |
584
8f765e3eed24
add Topology Manager Number to Topology Node Key
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
578
diff
changeset
|
29 DataSegment.connect("manager"+ topMNumber, "manager" + topMNumber, conf.getManagerHostName(), conf.getManagerPort()); |
419 | 30 String localHostName = null; |
31 try { | |
562 | 32 localHostName = InetAddress.getLocalHost().getHostAddress(); |
419 | 33 } catch (UnknownHostException e) { |
34 e.printStackTrace(); | |
35 } | |
584
8f765e3eed24
add Topology Manager Number to Topology Node Key
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
578
diff
changeset
|
36 new SaveCookie(topMNumber); |
419 | 37 |
578 | 38 HostMessage host = new HostMessage(localHostName, conf.localPort, topMNumber); |
427 | 39 host.cookie = conf.cookie; |
584
8f765e3eed24
add Topology Manager Number to Topology Node Key
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
578
diff
changeset
|
40 ods.put("manager" + topMNumber, "host", host); |
419 | 41 |
439 | 42 ods.put("_CLIST", new ArrayList<String>()); |
467 | 43 |
584
8f765e3eed24
add Topology Manager Number to Topology Node Key
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
578
diff
changeset
|
44 IncomingAbstractHostName cs = new IncomingAbstractHostName(topMNumber); |
8f765e3eed24
add Topology Manager Number to Topology Node Key
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
578
diff
changeset
|
45 cs.absName.setKey("local", "host"+topMNumber); |
419 | 46 |
47 IncomingReverseKey cs2 = new IncomingReverseKey(); | |
48 cs2.reverseKey.setKey("local", "reverseKey"); | |
49 cs2.reverseCount.setKey("local", "reverseCount"); | |
50 | |
51 ods.put("local", "reverseCount", 0); | |
588
dd9bd18fd878
change StartTopologyNode
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
587
diff
changeset
|
52 ConfigurationFinish cs3 = new ConfigurationFinish(startCS, topMNumber); |
dd9bd18fd878
change StartTopologyNode
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
587
diff
changeset
|
53 cs3.reverseCount.setKey("local", "reverseCount"); |
dd9bd18fd878
change StartTopologyNode
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
587
diff
changeset
|
54 cs3.configNodeNum.setKey("local", "configNodeNum"); |
419 | 55 |
588
dd9bd18fd878
change StartTopologyNode
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
587
diff
changeset
|
56 if (topMNumber != 1){ |
584
8f765e3eed24
add Topology Manager Number to Topology Node Key
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
578
diff
changeset
|
57 new StartTopologyNode(configs, startCS, topMNumber - 1).execute(); |
8f765e3eed24
add Topology Manager Number to Topology Node Key
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
578
diff
changeset
|
58 } |
419 | 59 |
60 } | |
61 | |
345 | 62 } |