# HG changeset patch # User akahori # Date 1533177887 -32400 # Node ID 6664efac18ee5eba7b5dcf545f46372d16ccaa8c # Parent ea9657dc8311b7a021065a26b05ba1f5d4cc7918 fix CheckCommingHost ConfigWaiter IncommingHosts diff -r ea9657dc8311 -r 6664efac18ee src/main/java/christie/topology/manager/CheckComingHost.java --- a/src/main/java/christie/topology/manager/CheckComingHost.java Thu Aug 02 11:41:29 2018 +0900 +++ b/src/main/java/christie/topology/manager/CheckComingHost.java Thu Aug 02 11:44:47 2018 +0900 @@ -22,31 +22,21 @@ @Override public void run(CodeGearManager cgm) { - boolean match = false; // check cookie if (hostMessage.cookie != null) { if (absCookieTable.containsKey(hostMessage.cookie)){ - match = true; hostMessage.absName = absCookieTable.get(hostMessage.cookie); System.out.println("match"); + // coming host has ever joined this App + getLocalDGM().put("reconnectHost", hostMessage); + cgm.setup(new SearchHostName()); + }else { + getLocalDGM().put("orderHash", "order"); + getLocalDGM().put("newHost", hostMessage); } } - if (match){ - // coming host has ever joined this App - getLocalDGM().put("reconnectHost", hostMessage); - - // TODO: これから実装する - //new SearchHostName(); - } else { - getLocalDGM().put("orderHash", "order"); - getLocalDGM().put("newHost", hostMessage); - } - cgm.setup(new CheckComingHost()); } - - - } diff -r ea9657dc8311 -r 6664efac18ee src/main/java/christie/topology/manager/ConfigWaiter.java --- a/src/main/java/christie/topology/manager/ConfigWaiter.java Thu Aug 02 11:41:29 2018 +0900 +++ b/src/main/java/christie/topology/manager/ConfigWaiter.java Thu Aug 02 11:44:47 2018 +0900 @@ -9,7 +9,7 @@ public class ConfigWaiter extends CodeGear { - // Question; done 変数がわからない...何やっているんだろう. + // Question: done 変数がわからない...何やっているんだろう. // public Receiver done = ids.create(CommandType.TAKE); @Take boolean done; @@ -17,27 +17,21 @@ @Take int nodeNum; - - public ConfigWaiter() { } @Override public void run(CodeGearManager cgm) { nodeNum--; if (nodeNum == 0) { - put("local", "start", ValueFactory.createNilValue()); - put("startTime", System.currentTimeMillis()); - put("done", true); - //update("running", true); + getLocalDGM().put("start", ValueFactory.createNilValue()); + getLocalDGM().put("startTime", System.currentTimeMillis()); + getLocalDGM().put("running", true); return; } - //ConfigWaiter cs3 = new ConfigWaiter(count); - //cs3.done.setKey("local", "done"); cgm.setup(new ConfigWaiter()); getLocalDGM().put("nodeNum", nodeNum); - getLocalDGM().put("done", false); } } diff -r ea9657dc8311 -r 6664efac18ee src/main/java/christie/topology/manager/IncomingHosts.java --- 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> topology; + @Take // Topology from parse file + HashMap> resultParse; - @Peek // nodeName list + @Take // nodeName list LinkedList nodeNames; @Take // new coming host info - HostMessage host; + HostMessage newHost; + + @Take + HashMap 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 nodes = topology.get(nodeName); - for (NodeInfo nodeInfo : nodes) { - HostMessage newHost = new HostMessage(host.name, host.port, + LinkedList 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()); }