annotate src/alice/topology/node/IncomingConnectionInfo.java @ 31:5c704b9a9a87

add ring script
author kazz <kazz@cr.ie.u-ryukyu.ac.jp>
date Tue, 17 Jan 2012 20:24:46 +0900
parents 98ab26e09a98
children 2bfb796b0fa1
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.io.IOException;
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 import org.msgpack.MessagePack;
28
98ab26e09a98 Configuration Manager work and implements reverseKey
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
6 import org.msgpack.type.ValueFactory;
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.CommandType;
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 import alice.datasegment.DataSegment;
28
98ab26e09a98 Configuration Manager work and implements reverseKey
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
11 import alice.datasegment.DataSegmentManager;
25
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 import alice.datasegment.DataSegmentReceiver;
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 import alice.topology.HostMessage;
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 public class IncomingConnectionInfo extends CodeSegment {
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 public DataSegmentReceiver hostInfo = new DataSegmentReceiver(ids, CommandType.TAKE);
26
9c6b9e032338 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
18 private String absName;
28
98ab26e09a98 Configuration Manager work and implements reverseKey
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
19 private int count;
26
9c6b9e032338 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
20
28
98ab26e09a98 Configuration Manager work and implements reverseKey
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
21 public IncomingConnectionInfo(String absName, int count) {
25
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 this.absName = absName;
28
98ab26e09a98 Configuration Manager work and implements reverseKey
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
23 this.count = count;
25
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 }
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 @Override
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 public void run() {
27
f54dcbebde3a topology manager work!
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
28 if (this.hostInfo.val == null) {
31
5c704b9a9a87 add ring script
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
29 ods.put("local", "configNodeNum", count);
26
9c6b9e032338 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
30 return;
9c6b9e032338 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
31 }
25
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 MessagePack msgpack = new MessagePack();
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 try {
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 HostMessage hostInfo = msgpack.convert(this.hostInfo.val, HostMessage.class);
31
5c704b9a9a87 add ring script
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
35 DataSegment.connect(hostInfo.connectionName, hostInfo.reverseName, hostInfo.name, hostInfo.port);
5c704b9a9a87 add ring script
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
36 //manager.put("reverseKey", ValueFactory.createRawValue(hostInfo.reverseName));
5c704b9a9a87 add ring script
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
37 ods.put(hostInfo.connectionName, "reverseKey", hostInfo.reverseName);
25
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 } catch (IOException e) {
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 e.printStackTrace();
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 }
26
9c6b9e032338 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
41
28
98ab26e09a98 Configuration Manager work and implements reverseKey
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
42 IncomingConnectionInfo cs = new IncomingConnectionInfo(absName, ++count);
26
9c6b9e032338 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
43 cs.hostInfo.setKey("manager", absName);
25
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 }
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
45
50c75cb3de60 implements TopologyNode
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 }