changeset 161:5c5a5da0d13d

add TopoDG
author akahori
date Tue, 22 Jan 2019 14:21:15 +0900
parents 3b9be156e280
children d19c85796cdd
files src/main/java/christie/topology/TopologyDataGear.java src/main/java/christie/topology/manager/ConfigWaiter.java src/main/java/christie/topology/manager/CreateTreeTopology.java src/main/java/christie/topology/manager/FileParser.java src/main/java/christie/topology/manager/IncomingHosts.java src/main/java/christie/topology/node/CreateConnectionList.java src/main/java/christie/topology/node/PrepareToClose.java src/main/java/christie/topology/node/TopologyNode.java
diffstat 8 files changed, 67 insertions(+), 21 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/christie/topology/TopologyDataGear.java	Tue Jan 22 14:21:15 2019 +0900
@@ -0,0 +1,39 @@
+package christie.topology;
+import org.msgpack.annotation.Message;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Message
+public class TopologyDataGear {
+    String nodeName;
+    int totalNodeNum;
+    List<String> connectionList = new ArrayList<>();
+
+
+    public TopologyDataGear(){}
+
+    public void setNodeName(String nodeName) {
+        this.nodeName = nodeName;
+    }
+
+    public String getNodeName() {
+        return nodeName;
+    }
+
+    public void setTotalNodeNum(int totalNodeNum) {
+        this.totalNodeNum = totalNodeNum;
+    }
+
+    public int getTotalNodeNum() {
+        return totalNodeNum;
+    }
+
+    public void addConnection(String connectionName) {
+        this.connectionList.add(connectionName);
+    }
+
+    public List<String> getConnectionList() {
+        return connectionList;
+    }
+}
--- a/src/main/java/christie/topology/manager/ConfigWaiter.java	Mon Jan 21 21:40:53 2019 +0900
+++ b/src/main/java/christie/topology/manager/ConfigWaiter.java	Tue Jan 22 14:21:15 2019 +0900
@@ -17,14 +17,14 @@
     String nodePrepareDone;
 
     @Take
-    int _NODECOUNT;
+    int nodeNum;
 
     public ConfigWaiter() { }
 
     @Override
     protected void run(CodeGearManager cgm) {
-        _NODECOUNT--;
-        if (_NODECOUNT == 0) {
+        nodeNum--;
+        if (nodeNum == 0) {
             getLocalDGM().put("start", "start");
             for (String nodeName: waiterNodeNames) getDGM(nodeName).put("start", "start");
             getLocalDGM().put("startTime", System.currentTimeMillis());
@@ -34,7 +34,7 @@
         }
 
         cgm.setup(new ConfigWaiter());
-        getLocalDGM().put("_NODECOUNT", _NODECOUNT);
+        getLocalDGM().put("nodeNum", nodeNum);
     }
 
 }
--- a/src/main/java/christie/topology/manager/CreateTreeTopology.java	Mon Jan 21 21:40:53 2019 +0900
+++ b/src/main/java/christie/topology/manager/CreateTreeTopology.java	Tue Jan 22 14:21:15 2019 +0900
@@ -6,6 +6,7 @@
 import christie.codegear.CodeGear;
 import christie.codegear.CodeGearManager;
 import christie.topology.HostMessage;
+import christie.topology.TopologyDataGear;
 
 import java.util.HashMap;
 
@@ -40,9 +41,12 @@
         String newHostName = newHost.getHostName();
         int newHostPort = newHost.getPort();
 
+        cgm.createRemoteDGM(nodeName, newHostName, newHostPort);
 
-        cgm.createRemoteDGM(nodeName, newHostName, newHostPort);
-        getDGM(nodeName).put("nodeName", nodeName);
+        TopologyDataGear topoDG = new TopologyDataGear();
+        topoDG.setNodeName(nodeName);
+
+        getDGM(nodeName).put("topoDG", topoDG);
         getDGM(nodeName).put("cookie", MD5);
 
         absCookieTable.put(MD5, nodeName);
--- a/src/main/java/christie/topology/manager/FileParser.java	Mon Jan 21 21:40:53 2019 +0900
+++ b/src/main/java/christie/topology/manager/FileParser.java	Tue Jan 22 14:21:15 2019 +0900
@@ -12,6 +12,7 @@
 import java.util.LinkedList;
 
 import christie.topology.HostMessage;
+import christie.topology.TopologyDataGear;
 import com.alexmerz.graphviz.ParseException;
 import com.alexmerz.graphviz.Parser;
 import com.alexmerz.graphviz.objects.*;
@@ -65,11 +66,14 @@
             e.printStackTrace();
         }
 
+        TopologyDataGear topoDG = new TopologyDataGear();
+        topoDG.setTotalNodeNum(nodeNum);
+
         getLocalDGM().put("resultParse", resultParse);
-        getLocalDGM().put("_NODECOUNT", nodeNum);
+        getLocalDGM().put("nodeNum", nodeNum);
+        getLocalDGM().put("topoDG", topoDG);
         getLocalDGM().put("nodeNames", nodeNames);
         getLocalDGM().put("waiterNodeNames", nodeNames.clone());
-        getLocalDGM().put("_TOTALNODENUM", nodeNum); // use paxos
 
     }
 }
--- a/src/main/java/christie/topology/manager/IncomingHosts.java	Mon Jan 21 21:40:53 2019 +0900
+++ b/src/main/java/christie/topology/manager/IncomingHosts.java	Tue Jan 22 14:21:15 2019 +0900
@@ -6,6 +6,7 @@
 import christie.codegear.CodeGear;
 import christie.codegear.CodeGearManager;
 import christie.topology.HostMessage;
+import christie.topology.TopologyDataGear;
 
 import java.util.HashMap;
 import java.util.LinkedList;
@@ -25,7 +26,7 @@
     String MD5;
 
     @Peek
-    int _TOTALNODENUM;
+    TopologyDataGear topoDG;
 
     public IncomingHosts() {
 
@@ -45,8 +46,8 @@
         absCookieTable.put(MD5, nodeName);
         getLocalDGM().put("absCookieTable", absCookieTable);
 
-        getDGM(nodeName).put( "nodeName", nodeName);
-        getDGM(nodeName).put( "_TOTALNODENUM", _TOTALNODENUM);// use paxos
+        topoDG.setNodeName(nodeName);
+        getDGM(nodeName).put( "topoDG", topoDG);
         getDGM(nodeName).put("cookie", MD5);
 
         LinkedList<HostMessage> nodeInfoList = resultParse.get(nodeName);
--- a/src/main/java/christie/topology/node/CreateConnectionList.java	Mon Jan 21 21:40:53 2019 +0900
+++ b/src/main/java/christie/topology/node/CreateConnectionList.java	Tue Jan 22 14:21:15 2019 +0900
@@ -4,12 +4,13 @@
 import christie.annotation.Take;
 import christie.codegear.CodeGear;
 import christie.codegear.CodeGearManager;
+import christie.topology.TopologyDataGear;
 
 import java.util.List;
 
 public class CreateConnectionList extends CodeGear {
     @Take
-    List<String> _CLIST;
+    TopologyDataGear topoDG;
     @Take
     String cMember;
 
@@ -17,8 +18,9 @@
 
     @Override
     protected void run(CodeGearManager cgm) {
-        _CLIST.add(cMember);
-        getLocalDGM().put("_CLIST", _CLIST);
+
+        topoDG.addConnection(cMember);
+        getLocalDGM().put("topoDG", topoDG);
     }
 
 }
--- a/src/main/java/christie/topology/node/PrepareToClose.java	Mon Jan 21 21:40:53 2019 +0900
+++ b/src/main/java/christie/topology/node/PrepareToClose.java	Tue Jan 22 14:21:15 2019 +0900
@@ -6,6 +6,7 @@
 import christie.codegear.CodeGear;
 import christie.codegear.CodeGearManager;
 import christie.datagear.DataGearManager;
+import christie.topology.TopologyDataGear;
 
 import java.util.List;
 
@@ -15,11 +16,7 @@
     String _CLOSEMESSEAGE;
 
     @Peek
-    List<String> _CLIST;
-
-    @Peek
-    TopologyNodeConfig topologyNodeConfig;
-
+    TopologyDataGear topoDG;
 
     public PrepareToClose() {
 
@@ -27,7 +24,7 @@
 
     @Override
     protected void run(CodeGearManager cgm) {
-
+        List<String> _CLIST = topoDG.getConnectionList();
         for(String dgmName: _CLIST){
             getDGM(dgmName).shutdown();
             //_CLIST.remove(dgmName);
--- a/src/main/java/christie/topology/node/TopologyNode.java	Mon Jan 21 21:40:53 2019 +0900
+++ b/src/main/java/christie/topology/node/TopologyNode.java	Tue Jan 22 14:21:15 2019 +0900
@@ -30,7 +30,6 @@
 
         getDGM(topologyNodeConfig.getManagerKey()).put("hostMessage", hostMessage);
 
-        getLocalDGM().put("_CLIST", new ArrayList<String>());
         getLocalDGM().put("reverseCount", 0);
 
         cgm.setup(new IncomingConnectionInfo());