Mercurial > hg > Database > Christie
diff src/main/java/christie/topology/manager/IncomingHosts.java @ 44:6664efac18ee
fix CheckCommingHost ConfigWaiter IncommingHosts
author | akahori |
---|---|
date | Thu, 02 Aug 2018 11:44:47 +0900 |
parents | cf5a75bc3e55 |
children | 8dfd93810041 |
line wrap: on
line diff
--- a/src/main/java/christie/topology/manager/IncomingHosts.java Thu Aug 02 11:41:29 2018 +0900 +++ b/src/main/java/christie/topology/manager/IncomingHosts.java Thu Aug 02 11:44:47 2018 +0900 @@ -13,18 +13,22 @@ public class IncomingHosts extends CodeGear { - @Peek // Topology from parse file - HashMap<String, LinkedList<NodeInfo>> topology; + @Take // Topology from parse file + HashMap<String, LinkedList<NodeInfo>> resultParse; - @Peek // nodeName list + @Take // nodeName list LinkedList<String> nodeNames; @Take // new coming host info - HostMessage host; + HostMessage newHost; + + @Take + HashMap<String, String> absCookieTable; + + @Take + String MD5; - //private Receiver absCookieTable = ids.create(CommandType.TAKE); // cookie, AbsName HashMap - //private Receiver cookie = ids.create(CommandType.TAKE); // MD5 private Logger log = Logger.getLogger(IncomingHosts.class); public IncomingHosts() { @@ -36,48 +40,44 @@ // not have or match cookie String nodeName = nodeNames.poll(); + // Manager connect to Node - - cgm.createRemoteDGM(nodeName, host.name, host.port); + cgm.createRemoteDGM(nodeName, newHost.name, newHost.port); getDGM(nodeName).put( "host", nodeName); - /* cookie - String cookie = this.cookie.asString(); - absCookieTable.put(cookie, nodeName); - ods.put(this.absCookieTable.key, absCookieTable); + absCookieTable.put(MD5, nodeName); + getLocalDGM().put("absCookieTable", absCookieTable); - ods.put(nodeName, "cookie", cookie); - */ + getDGM(nodeName).put("cookie", MD5); log.info( "toplology manager connected from " + nodeName); - LinkedList<NodeInfo> nodes = topology.get(nodeName); - for (NodeInfo nodeInfo : nodes) { - HostMessage newHost = new HostMessage(host.name, host.port, + LinkedList<NodeInfo> nodeInfoList = resultParse.get(nodeName); + for (NodeInfo nodeInfo : nodeInfoList) { + HostMessage hostMessage = new HostMessage(newHost.name, newHost.port, nodeInfo.connectionName, nodeInfo.reverseName); - newHost.absName = nodeName; - newHost.remoteAbsName = nodeInfo.sourceNodeName; + hostMessage.absName = nodeName; + hostMessage.remoteAbsName = nodeInfo.sourceNodeName; - getLocalDGM().put("nodeInfo", newHost); - getLocalDGM().put(nodeInfo.sourceNodeName, newHost); - log.info(" write to " + nodeInfo.sourceNodeName + " config message =" + newHost.toString() + " remain " + getLocalDGM().put("nodeInfo", hostMessage); + getLocalDGM().put(nodeInfo.sourceNodeName, hostMessage); + log.info(" write to " + nodeInfo.sourceNodeName + " config message =" + hostMessage.toString() + " remain " + Integer.toString((nodeNames.size()))); - new RecordTopology(); + cgm.setup(new RecordTopology()); } log.info(" remaining configure host = " + Integer.toString(nodeNames.size())); if (nodeNames.isEmpty()) { // configuration finish - for (String key : topology.keySet()) { + for (String key : resultParse.keySet()) { log.info(" write to " + key + " end message =" + (new HostMessage("",0,"","")).toString()); getLocalDGM().put(key, new HostMessage("",0,"","")); // end mark } } - // idsのときはkeyメソッドが使えたけど, 今はlistなのでエラーが出る. - // これが何をする処理か読めていないので, 今はコメントアウト. - //getLocalDGM().put(this.nodeNames.key, nodeNames); - //getLocalDGM().put(this.topology.key, topology); + + getLocalDGM().put("nodeNames", nodeNames); + getLocalDGM().put("resultParse", resultParse); cgm.setup(new IncomingHosts()); }