changeset 68:37601b98f0da

update TopologyNode
author akahori
date Sat, 01 Sep 2018 08:10:15 +0900
parents d74a64a3940a
children 251e306094d4
files src/main/java/christie/topology/manager/ConfigWaiter.java src/main/java/christie/topology/manager/IncomingHosts.java src/main/java/christie/topology/node/ConfigurationFinish.java src/main/java/christie/topology/node/CreateConnectionList.java src/main/java/christie/topology/node/IncomingConnectionInfo.java src/main/java/christie/topology/node/IncomingReverseKey.java src/main/java/christie/topology/node/Start.java src/main/java/christie/topology/node/StartTopologyNode.java src/main/java/christie/topology/node/TopologyNode.java
diffstat 9 files changed, 57 insertions(+), 71 deletions(-) [+]
line wrap: on
line diff
--- 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<String, LinkedList<NodeInfo>> 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);
 
--- 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<NodeInfo> 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());
     }
 }
--- 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));
     }
 }
--- 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);
     }
 
--- 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);
     }
 
 }
--- 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);
--- 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);
 
     }
 
--- 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);
 
     }
--- 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));
 
     }
 }