# HG changeset patch # User akahori # Date 1548140429 -32400 # Node ID c7300be0fff627f00ed027544e33df481ef4249d # Parent 240058b2ce3ea3776762ea86c9138e0d6f303455 fix incomingHosts end message diff -r 240058b2ce3e -r c7300be0fff6 src/main/java/christie/topology/manager/ConfigWaiter.java --- a/src/main/java/christie/topology/manager/ConfigWaiter.java Tue Jan 22 15:31:03 2019 +0900 +++ b/src/main/java/christie/topology/manager/ConfigWaiter.java Tue Jan 22 16:00:29 2019 +0900 @@ -13,6 +13,7 @@ @Peek LinkedList waiterNodeNames; + @Take String nodePrepareDone; diff -r 240058b2ce3e -r c7300be0fff6 src/main/java/christie/topology/manager/CreateTreeTopology.java --- a/src/main/java/christie/topology/manager/CreateTreeTopology.java Tue Jan 22 15:31:03 2019 +0900 +++ b/src/main/java/christie/topology/manager/CreateTreeTopology.java Tue Jan 22 16:00:29 2019 +0900 @@ -59,13 +59,8 @@ if (hostCount == 0) { // どこにも繋がれるところがないので, ルートのとき. - // ルートなので, connectNodeNumもreverseCountも0でいい. - getDGM(nodeName).put("connectNodeNum", 0); - getDGM(nodeName).put("reverseCount", 0); } else { - // 親のみにつながればいいので1 - getDGM(nodeName).put("connectNodeNum", 1); // put parent information own String parentNodeName = parentManager.getMyParent(); HostMessage parentHost = nameTable.get(parentNodeName).clone(); @@ -88,6 +83,8 @@ getLocalDGM().put("nameTable", nameTable); getLocalDGM().put("parentManager", parentManager); + getDGM(nodeName).put("remoteNodeInfo", new HostMessage() ); + getDGM(nodeName).put("reverseNodeName", ""); getDGM(nodeName).put("start", "start"); getLocalDGM().put("startTime", System.currentTimeMillis()); diff -r 240058b2ce3e -r c7300be0fff6 src/main/java/christie/topology/manager/IncomingHosts.java --- a/src/main/java/christie/topology/manager/IncomingHosts.java Tue Jan 22 15:31:03 2019 +0900 +++ b/src/main/java/christie/topology/manager/IncomingHosts.java Tue Jan 22 16:00:29 2019 +0900 @@ -51,8 +51,6 @@ getDGM(nodeName).put("cookie", MD5); LinkedList nodeInfoList = resultParse.get(nodeName); - getDGM(nodeName).put("connectNodeNum", nodeInfoList.size()); - if(nodeInfoList.size() == 0) getDGM(nodeName).put("reverseNodeName", "node"); for (HostMessage nodeInfo : nodeInfoList) { nodeInfo.setHostAndPort(newHost); @@ -62,13 +60,12 @@ cgm.setup(new RecordTopology()); } - /*if (nodeNames.isEmpty()) { + if (nodeNames.isEmpty()) { // configuration finish - for (String key : resultParse.keySet()) { put(key, "remoteNodeInfo", new HostMessage()); // end mark } - }*/ + } getLocalDGM().put("resultParse", resultParse); cgm.setup(new IncomingHosts()); diff -r 240058b2ce3e -r c7300be0fff6 src/main/java/christie/topology/manager/StartTopologyManager.java --- a/src/main/java/christie/topology/manager/StartTopologyManager.java Tue Jan 22 15:31:03 2019 +0900 +++ b/src/main/java/christie/topology/manager/StartTopologyManager.java Tue Jan 22 16:00:29 2019 +0900 @@ -37,7 +37,6 @@ } - public static void main(String[] args) { TopologyManagerConfig topologyManagerConfig = new TopologyManagerConfig(args); new StartTopologyManager(topologyManagerConfig); diff -r 240058b2ce3e -r c7300be0fff6 src/main/java/christie/topology/node/IncomingConnectionInfo.java --- a/src/main/java/christie/topology/node/IncomingConnectionInfo.java Tue Jan 22 15:31:03 2019 +0900 +++ b/src/main/java/christie/topology/node/IncomingConnectionInfo.java Tue Jan 22 16:00:29 2019 +0900 @@ -6,6 +6,7 @@ import christie.codegear.CodeGear; import christie.codegear.CodeGearManager; import christie.topology.HostMessage; +import christie.topology.TopologyDataGear; public class IncomingConnectionInfo extends CodeGear { @@ -13,26 +14,42 @@ @Take HostMessage remoteNodeInfo; + @Take + TopologyDataGear topoDG; + int count; public IncomingConnectionInfo() { this.count = 0; } + public IncomingConnectionInfo(int count) { + this.count = count; + } + @Override protected void run(CodeGearManager cgm) { String connectionName = remoteNodeInfo.getConnectionName(); - cgm.createRemoteDGM(connectionName, - remoteNodeInfo.getHostName(), - remoteNodeInfo.getPort()); + + if (remoteNodeInfo.getHostName().equals("")) { // end case + put("connectNodeNum", count); + getLocalDGM().put("topoDG", topoDG); + return; + }else{ - getDGM(connectionName).put("reverseNodeName", "node"); - getLocalDGM().put("cMember", connectionName); - cgm.setup(new CreateConnectionList()); + cgm.createRemoteDGM(connectionName, + remoteNodeInfo.getHostName(), + remoteNodeInfo.getPort()); - cgm.setup(new IncomingConnectionInfo()); + getDGM(connectionName).put("reverseNodeName", topoDG.getNodeName()); + topoDG.addConnection(connectionName); + getLocalDGM().put("topoDG", topoDG); + count++; + } + + cgm.setup(new IncomingConnectionInfo(count)); } }