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 }