# HG changeset patch # User akahori # Date 1535757015 -32400 # Node ID 37601b98f0da3c9312f11dc21d6810690ae01658 # Parent d74a64a3940a90dc1d757d256fdbd350007bd43b update TopologyNode diff -r d74a64a3940a -r 37601b98f0da src/main/java/christie/topology/manager/ConfigWaiter.java --- a/src/main/java/christie/topology/manager/ConfigWaiter.java Fri Aug 31 08:55:27 2018 +0900 +++ b/src/main/java/christie/topology/manager/ConfigWaiter.java Sat Sep 01 08:10:15 2018 +0900 @@ -1,12 +1,19 @@ package christie.topology.manager; +import christie.annotation.Peek; import christie.annotation.Take; import christie.codegear.CodeGear; import christie.codegear.CodeGearManager; +import java.util.HashMap; +import java.util.LinkedList; + public class ConfigWaiter extends CodeGear { + @Peek + HashMap> resultParse; + @Take String nodePrepareDone; @@ -19,7 +26,7 @@ protected void run(CodeGearManager cgm) { nodeNum--; if (nodeNum == 0) { - //getLocalDGM().put("start", "start"); + for (String nodeName: resultParse.keySet()) getDGM(nodeName).put("start", "start"); getLocalDGM().put("startTime", System.currentTimeMillis()); getLocalDGM().put("running", true); diff -r d74a64a3940a -r 37601b98f0da src/main/java/christie/topology/manager/IncomingHosts.java --- a/src/main/java/christie/topology/manager/IncomingHosts.java Fri Aug 31 08:55:27 2018 +0900 +++ b/src/main/java/christie/topology/manager/IncomingHosts.java Sat Sep 01 08:10:15 2018 +0900 @@ -46,9 +46,8 @@ getDGM(nodeName).put("cookie", MD5); log.info( "toplology manager connected from " + nodeName); - - LinkedList nodeInfoList = resultParse.get(nodeName); + getDGM(nodeName).put("connectNodeNum", nodeInfoList.size()); for (NodeInfo nodeInfo : nodeInfoList) { HostMessage hostMessage = new HostMessage(newHost.hostName, newHost.port, nodeInfo.connectionName, ""); @@ -60,17 +59,12 @@ log.info(" write to " + nodeInfo.sourceNodeName + " config message =" + hostMessage.toString() + " remain " + Integer.toString((nodeNames.size()))); + cgm.setup(new RecordTopology()); } log.info(" remaining configure host = " + Integer.toString(nodeNames.size())); - if (nodeNames.isEmpty()) { - // configuration finish - for (String key : resultParse.keySet()) { - log.info(" write to " + key + " end message =" + (new HostMessage("",0,"","")).toString()); - getLocalDGM().put("remoteNodeInfo", new HostMessage("",0,"","")); // end mark - } - } + cgm.setup(new IncomingHosts()); } } diff -r d74a64a3940a -r 37601b98f0da src/main/java/christie/topology/node/ConfigurationFinish.java --- a/src/main/java/christie/topology/node/ConfigurationFinish.java Fri Aug 31 08:55:27 2018 +0900 +++ b/src/main/java/christie/topology/node/ConfigurationFinish.java Sat Sep 01 08:10:15 2018 +0900 @@ -14,30 +14,37 @@ int reverseCount; @Peek - int configNodeNum; + int connectNodeNum; @Peek - TopologyNodeConfig config; + TopologyNodeConfig topologyNodeConfig; + + private CodeGear startCG; public ConfigurationFinish() { // System.err.println("config finish ...") ; } + public ConfigurationFinish(CodeGear startCG) { + this.startCG = startCG; + } + @Override protected void run(CodeGearManager cgm) { // System.err.println(" rcount = " + Integer.toString(rcount) + " " + Integer.toString(ncount)); - if (reverseCount == configNodeNum) { - getDGM("manager").put( "done", "done"); - cgm.setup(new Start()); + if (reverseCount == connectNodeNum) { + getDGM(topologyNodeConfig.getManagerKey()).put("nodePrepareDone", "done"); + cgm.setup(new Start(startCG)); - if (config.useKeepAlive) + + /*if (topologyNodeConfig.useKeepAlive) cgm.setup(new KeepAlive()); cgm.setup(new PrepareToClose()); - //ClosedEventManager.getInstance().register(DeleteConnection.class); - //ClosedEventManager.getInstance().setKey();*/ + ClosedEventManager.getInstance().register(DeleteConnection.class); + ClosedEventManager.getInstance().setKey();*/ return; } - new ConfigurationFinish(); + cgm.setup(new ConfigurationFinish(this.startCG)); } } diff -r d74a64a3940a -r 37601b98f0da src/main/java/christie/topology/node/CreateConnectionList.java --- a/src/main/java/christie/topology/node/CreateConnectionList.java Fri Aug 31 08:55:27 2018 +0900 +++ b/src/main/java/christie/topology/node/CreateConnectionList.java Sat Sep 01 08:10:15 2018 +0900 @@ -18,6 +18,7 @@ @Override protected void run(CodeGearManager cgm) { + _CLIST.add(cMember); } diff -r d74a64a3940a -r 37601b98f0da src/main/java/christie/topology/node/IncomingConnectionInfo.java --- a/src/main/java/christie/topology/node/IncomingConnectionInfo.java Fri Aug 31 08:55:27 2018 +0900 +++ b/src/main/java/christie/topology/node/IncomingConnectionInfo.java Sat Sep 01 08:10:15 2018 +0900 @@ -10,53 +10,31 @@ public class IncomingConnectionInfo extends CodeGear { @Peek - TopologyNodeConfig topologyNodeConfig; - - @Peek String nodeName; @Take HostMessage remoteNodeInfo; - @Take - int count; - private Logger log = Logger.getLogger(IncomingConnectionInfo.class); public IncomingConnectionInfo() { } - - @Override protected void run(CodeGearManager cgm) { - String managerKey = topologyNodeConfig.getManagerKey(); log.info(remoteNodeInfo.toString()); - if ( remoteNodeInfo.hostName.equals("")) { // end case - log.info(" topology node finished " + nodeName); - getLocalDGM().put("configNodeNum", 0); - return ; - } + //if ( remoteNodeInfo.hostName.equals("")) { // end case + //return ; + //} log.info("topology node " + nodeName + " will connect to " + remoteNodeInfo.hostName ); - if (cgm.getDgmList().contains(remoteNodeInfo.connectionName)) { - // need to wait remove by DeleteConnection - getDGM("manager").put(nodeName, remoteNodeInfo); - } else { - cgm.createRemoteDGM(remoteNodeInfo.connectionName, remoteNodeInfo.hostName, remoteNodeInfo.port); + + cgm.createRemoteDGM(remoteNodeInfo.connectionName, remoteNodeInfo.hostName, remoteNodeInfo.port); + getDGM(remoteNodeInfo.connectionName).put("reverseNodeName", nodeName); - getDGM(remoteNodeInfo.connectionName).put("reverseKey", remoteNodeInfo.reverseName); - getDGM(remoteNodeInfo.connectionName).put("reverseHostName", remoteNodeInfo.hostName); - getDGM(remoteNodeInfo.connectionName).put("reverseKeyPort", remoteNodeInfo.port); - - count++; - - getLocalDGM().put("cMember", remoteNodeInfo.connectionName); - cgm.setup(new CreateConnectionList()); - - } + getLocalDGM().put("cMember", remoteNodeInfo.connectionName); + cgm.setup(new CreateConnectionList()); cgm.setup(new IncomingConnectionInfo()); - getLocalDGM().put("count", count); } } diff -r d74a64a3940a -r 37601b98f0da src/main/java/christie/topology/node/IncomingReverseKey.java --- a/src/main/java/christie/topology/node/IncomingReverseKey.java Fri Aug 31 08:55:27 2018 +0900 +++ b/src/main/java/christie/topology/node/IncomingReverseKey.java Sat Sep 01 08:10:15 2018 +0900 @@ -10,25 +10,13 @@ public class IncomingReverseKey extends CodeGear { @Take - String reverseKey; + String reverseNodeName; @Take - int reverseKeyPort; - - @Take - String reverseKeyHostName; - - - @Peek int reverseCount; @Override protected void run(CodeGearManager cgm) { - //String from = this.reverseKey.from; - - //IncomingTcpConnection s = DataSegment.getAccept(from); - //if (s != null) s.setReverseKey(reverseKey); - cgm.createRemoteDGM(reverseKey,reverseKeyHostName,reverseKeyPort); reverseCount++; getLocalDGM().put( "reverseCount", reverseCount); diff -r d74a64a3940a -r 37601b98f0da src/main/java/christie/topology/node/Start.java --- a/src/main/java/christie/topology/node/Start.java Fri Aug 31 08:55:27 2018 +0900 +++ b/src/main/java/christie/topology/node/Start.java Sat Sep 01 08:10:15 2018 +0900 @@ -5,28 +5,33 @@ import christie.annotation.Take; import christie.codegear.CodeGear; import christie.codegear.CodeGearManager; +import christie.test.topology.localTestTopology.LTRemoteIncrement; import org.apache.log4j.Logger; public class Start extends CodeGear { - @PeekFrom("manager") - boolean start; + @Peek + String start; private Logger logger = Logger.getLogger(Start.class); - @Take - CodeGear startCS; + //@Take + CodeGear startCG; public Start() { } + public Start(CodeGear startCG) { + this.startCG = startCG; + } + @Override protected void run(CodeGearManager cgm) { logger.info("Configuration finished."); - if (startCS == null) return; - cgm.setup(startCS); + if (startCG == null) return; + cgm.setup(startCG); } diff -r d74a64a3940a -r 37601b98f0da src/main/java/christie/topology/node/StartTopologyNode.java --- a/src/main/java/christie/topology/node/StartTopologyNode.java Fri Aug 31 08:55:27 2018 +0900 +++ b/src/main/java/christie/topology/node/StartTopologyNode.java Sat Sep 01 08:10:15 2018 +0900 @@ -10,8 +10,8 @@ public StartTopologyNode(CodeGearManager cgm, TopologyNodeConfig conf, CodeGear startCG) { super(cgm); - cgm.setup(new TopologyNode()); - cgm.getLocalDGM().put("startCG", startCG); + cgm.setup(new TopologyNode(startCG)); + //cgm.getLocalDGM().put("startCG", startCG); cgm.getLocalDGM().put("topologyNodeConfig", conf); } diff -r d74a64a3940a -r 37601b98f0da src/main/java/christie/topology/node/TopologyNode.java --- a/src/main/java/christie/topology/node/TopologyNode.java Fri Aug 31 08:55:27 2018 +0900 +++ b/src/main/java/christie/topology/node/TopologyNode.java Sat Sep 01 08:10:15 2018 +0900 @@ -15,9 +15,15 @@ @Peek TopologyNodeConfig topologyNodeConfig; + private CodeGear startCG; public TopologyNode() { } + + public TopologyNode(CodeGear startCG) { + this.startCG = startCG; + } + @Override protected void run(CodeGearManager cgm) { @@ -46,7 +52,7 @@ cgm.setup(new SaveCookie()); cgm.setup(new IncomingConnectionInfo()); cgm.setup(new IncomingReverseKey()); - cgm.setup(new ConfigurationFinish()); + cgm.setup(new ConfigurationFinish(this.startCG)); } }