Mercurial > hg > Members > tatsuki > Alice
comparison src/topology/manager/IncomingHosts.java @ 22:2ca2d961a8d2
implements outline of TopologyManager
author | kazz <kazz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 17 Jan 2012 00:40:27 +0900 |
parents | |
children | 54bf607118ae |
comparison
equal
deleted
inserted
replaced
21:145667a554ad | 22:2ca2d961a8d2 |
---|---|
1 package topology.manager; | |
2 | |
3 import java.io.IOException; | |
4 import java.util.HashMap; | |
5 import java.util.LinkedList; | |
6 | |
7 import org.apache.log4j.Logger; | |
8 import org.msgpack.MessagePack; | |
9 | |
10 import alice.codesegment.CodeSegment; | |
11 import alice.datasegment.CommandType; | |
12 import alice.datasegment.DataSegmentReceiver; | |
13 import alice.topology.HostMessage; | |
14 | |
15 public class IncomingHosts extends CodeSegment { | |
16 | |
17 HashMap<String, NodeInfo> topology; | |
18 LinkedList<String> nodeNames; | |
19 DataSegmentReceiver host = new DataSegmentReceiver(ids, CommandType.TAKE); | |
20 Logger logger = Logger.getLogger(IncomingHosts.class); | |
21 | |
22 public IncomingHosts(HashMap<String, NodeInfo> topology, LinkedList<String> nodeNames) { | |
23 this.topology = topology; | |
24 this.nodeNames = nodeNames; | |
25 } | |
26 | |
27 @Override | |
28 public void run() { | |
29 MessagePack msgpack = new MessagePack(); | |
30 try { | |
31 HostMessage host = msgpack.convert(this.host.val, HostMessage.class); | |
32 String nodeName = nodeNames.poll(); | |
33 | |
34 // TODO: send nodeName to node | |
35 | |
36 } catch (IOException e) { | |
37 logger.error("HostMessage format error"); | |
38 e.printStackTrace(); | |
39 } | |
40 | |
41 if (!nodeNames.isEmpty()) { | |
42 IncomingHosts cs = new IncomingHosts(topology, nodeNames); | |
43 cs.host.setKey("local", "host"); | |
44 } | |
45 | |
46 } | |
47 | |
48 } |