# HG changeset patch # User akahori # Date 1548134475 -32400 # Node ID 5c5a5da0d13d8954a8bf69f6588903f66a800d31 # Parent 3b9be156e2809ca7f63993f116b2e5cc610b41c2 add TopoDG diff -r 3b9be156e280 -r 5c5a5da0d13d src/main/java/christie/topology/TopologyDataGear.java --- /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 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 getConnectionList() { + return connectionList; + } +} diff -r 3b9be156e280 -r 5c5a5da0d13d src/main/java/christie/topology/manager/ConfigWaiter.java --- 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); } } diff -r 3b9be156e280 -r 5c5a5da0d13d src/main/java/christie/topology/manager/CreateTreeTopology.java --- 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); diff -r 3b9be156e280 -r 5c5a5da0d13d src/main/java/christie/topology/manager/FileParser.java --- 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 } } diff -r 3b9be156e280 -r 5c5a5da0d13d src/main/java/christie/topology/manager/IncomingHosts.java --- 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 nodeInfoList = resultParse.get(nodeName); diff -r 3b9be156e280 -r 5c5a5da0d13d src/main/java/christie/topology/node/CreateConnectionList.java --- 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 _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); } } diff -r 3b9be156e280 -r 5c5a5da0d13d src/main/java/christie/topology/node/PrepareToClose.java --- 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 _CLIST; - - @Peek - TopologyNodeConfig topologyNodeConfig; - + TopologyDataGear topoDG; public PrepareToClose() { @@ -27,7 +24,7 @@ @Override protected void run(CodeGearManager cgm) { - + List _CLIST = topoDG.getConnectionList(); for(String dgmName: _CLIST){ getDGM(dgmName).shutdown(); //_CLIST.remove(dgmName); diff -r 3b9be156e280 -r 5c5a5da0d13d src/main/java/christie/topology/node/TopologyNode.java --- 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()); getLocalDGM().put("reverseCount", 0); cgm.setup(new IncomingConnectionInfo());