annotate src/alice/topology/node/StartTopologyNode.java @ 175:d7816b9b72e9 working

minor change
author e095732
date Thu, 24 Jan 2013 21:23:16 +0900
parents 23d6a775a643
children 52a1fa5ba38b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 package alice.topology.node;
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 import java.net.InetAddress;
175
d7816b9b72e9 minor change
e095732
parents: 173
diff changeset
4 import java.net.NetworkInterface;
d7816b9b72e9 minor change
e095732
parents: 173
diff changeset
5 import java.net.SocketException;
d7816b9b72e9 minor change
e095732
parents: 173
diff changeset
6 import java.util.Enumeration;
25
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 import alice.codesegment.CodeSegment;
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 import alice.datasegment.DataSegment;
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 import alice.topology.HostMessage;
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 public class StartTopologyNode extends CodeSegment {
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13
26
9c6b9e032338 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
14 private TopologyNodeConfig conf;
46
1a498f436332 bug fix for time calculate
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
15 private CodeSegment startCS;
25
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16
46
1a498f436332 bug fix for time calculate
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
17 public StartTopologyNode(TopologyNodeConfig conf, CodeSegment startCS) {
25
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 this.conf = conf;
46
1a498f436332 bug fix for time calculate
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
19 this.startCS = startCS;
25
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 }
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 @Override
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 public void run() {
34
ca079a730d0b added method to OutputDataSegment and Receiver, to convert type from Value to Class<?> without MessagePack
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 30
diff changeset
24 DataSegment.connect("manager", "", conf.managerHostName, conf.managerPort);
ca079a730d0b added method to OutputDataSegment and Receiver, to convert type from Value to Class<?> without MessagePack
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 30
diff changeset
25 String localHostName = null;
175
d7816b9b72e9 minor change
e095732
parents: 173
diff changeset
26 //localHostName = InetAddress.getLocalHost().getHostName();
d7816b9b72e9 minor change
e095732
parents: 173
diff changeset
27 try {
d7816b9b72e9 minor change
e095732
parents: 173
diff changeset
28 localHostName = getIPAddress();
d7816b9b72e9 minor change
e095732
parents: 173
diff changeset
29 } catch (SocketException e) {
d7816b9b72e9 minor change
e095732
parents: 173
diff changeset
30 e.printStackTrace();
d7816b9b72e9 minor change
e095732
parents: 173
diff changeset
31 }
95
7982324d4329 "setKey" move in the instance
sugi
parents: 46
diff changeset
32 HostMessage host = new HostMessage(localHostName, conf.localPort);
34
ca079a730d0b added method to OutputDataSegment and Receiver, to convert type from Value to Class<?> without MessagePack
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 30
diff changeset
33 ods.put("manager", "host", host);
25
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34
95
7982324d4329 "setKey" move in the instance
sugi
parents: 46
diff changeset
35 new IncomingAbstractHostName();
28
98ab26e09a98 Configuration Manager work and implements reverseKey
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
36
98ab26e09a98 Configuration Manager work and implements reverseKey
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
37 IncomingReverseKey cs2 = new IncomingReverseKey();
98ab26e09a98 Configuration Manager work and implements reverseKey
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
38 cs2.reverseKey.setKey("local", "reverseKey");
98ab26e09a98 Configuration Manager work and implements reverseKey
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
39 cs2.reverseCount.setKey("local", "reverseCount");
98ab26e09a98 Configuration Manager work and implements reverseKey
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
40
34
ca079a730d0b added method to OutputDataSegment and Receiver, to convert type from Value to Class<?> without MessagePack
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 30
diff changeset
41 ods.put("local", "reverseCount", 0);
28
98ab26e09a98 Configuration Manager work and implements reverseKey
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
42
46
1a498f436332 bug fix for time calculate
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
43 ConfigurationFinish cs3 = new ConfigurationFinish(startCS);
28
98ab26e09a98 Configuration Manager work and implements reverseKey
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
44 cs3.reverseCount.setKey("local", "reverseCount");
98ab26e09a98 Configuration Manager work and implements reverseKey
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
45 cs3.configNodeNum.setKey("local", "configNodeNum");
25
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 }
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
47
175
d7816b9b72e9 minor change
e095732
parents: 173
diff changeset
48 private String getIPAddress() throws SocketException {
d7816b9b72e9 minor change
e095732
parents: 173
diff changeset
49 Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
d7816b9b72e9 minor change
e095732
parents: 173
diff changeset
50
d7816b9b72e9 minor change
e095732
parents: 173
diff changeset
51 while(interfaces.hasMoreElements()){
d7816b9b72e9 minor change
e095732
parents: 173
diff changeset
52 NetworkInterface network = interfaces.nextElement();
d7816b9b72e9 minor change
e095732
parents: 173
diff changeset
53 Enumeration<InetAddress> addresses = network.getInetAddresses();
d7816b9b72e9 minor change
e095732
parents: 173
diff changeset
54
d7816b9b72e9 minor change
e095732
parents: 173
diff changeset
55 while(addresses.hasMoreElements()){
d7816b9b72e9 minor change
e095732
parents: 173
diff changeset
56 String address = addresses.nextElement().getHostAddress();
d7816b9b72e9 minor change
e095732
parents: 173
diff changeset
57 if(!"127.0.0.1".equals(address) && !"0.0.0.0".equals(address)){
d7816b9b72e9 minor change
e095732
parents: 173
diff changeset
58 return address;
d7816b9b72e9 minor change
e095732
parents: 173
diff changeset
59 }
d7816b9b72e9 minor change
e095732
parents: 173
diff changeset
60 }
d7816b9b72e9 minor change
e095732
parents: 173
diff changeset
61 }
d7816b9b72e9 minor change
e095732
parents: 173
diff changeset
62 return "127.0.0.1";
d7816b9b72e9 minor change
e095732
parents: 173
diff changeset
63 }
d7816b9b72e9 minor change
e095732
parents: 173
diff changeset
64
25
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 }