Mercurial > hg > Database > Christie
changeset 61:20d4c0cce914
refactor Topology Node
author | akahori |
---|---|
date | Tue, 28 Aug 2018 18:56:45 +0900 |
parents | cfd79a71f9cd |
children | ea03d9c01601 |
files | src/main/java/christie/topology/node/ConfigurationFinish.java src/main/java/christie/topology/node/IncomingAbstractHostName.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 | 7 files changed, 48 insertions(+), 33 deletions(-) [+] |
line wrap: on
line diff
--- a/src/main/java/christie/topology/node/ConfigurationFinish.java Tue Aug 28 10:49:26 2018 +0900 +++ b/src/main/java/christie/topology/node/ConfigurationFinish.java Tue Aug 28 18:56:45 2018 +0900 @@ -1,6 +1,7 @@ package christie.topology.node; import christie.annotation.Peek; +import christie.annotation.Take; import christie.codegear.CodeGear; import christie.codegear.CodeGearManager; import christie.daemon.Config; @@ -18,19 +19,16 @@ @Peek TopologyNodeConfig config; - private CodeGear startCS; - - public ConfigurationFinish(CodeGear startCS) { + public ConfigurationFinish() { // System.err.println("config finish ...") ; - this.startCS = startCS; } @Override protected void run(CodeGearManager cgm) { // System.err.println(" rcount = " + Integer.toString(rcount) + " " + Integer.toString(ncount)); if (reverseCount == configNodeNum) { - getDGM("manager").put( "done", ValueFactory.createNilValue()); - cgm.setup(new Start(startCS)); + getDGM("manager").put( "done", "done"); + cgm.setup(new Start()); if (config.useKeepAlive) cgm.setup(new KeepAlive()); @@ -40,6 +38,6 @@ return; } - new ConfigurationFinish(startCS); + new ConfigurationFinish(); } }
--- a/src/main/java/christie/topology/node/IncomingAbstractHostName.java Tue Aug 28 10:49:26 2018 +0900 +++ b/src/main/java/christie/topology/node/IncomingAbstractHostName.java Tue Aug 28 18:56:45 2018 +0900 @@ -2,7 +2,6 @@ import christie.annotation.Peek; -import christie.annotation.Take; import christie.codegear.CodeGear; import christie.codegear.CodeGearManager;
--- a/src/main/java/christie/topology/node/IncomingConnectionInfo.java Tue Aug 28 10:49:26 2018 +0900 +++ b/src/main/java/christie/topology/node/IncomingConnectionInfo.java Tue Aug 28 18:56:45 2018 +0900 @@ -1,7 +1,6 @@ package christie.topology.node; -import christie.annotation.Take; import christie.annotation.TakeFrom; import christie.codegear.CodeGear; import christie.codegear.CodeGearManager; @@ -29,10 +28,11 @@ @Override protected void run(CodeGearManager cgm) { + log.info(hostInfo.toString()); if ( hostInfo.hostName.equals("")) { // end case log.info(" topology node finished " + absName); - getLocalDGM().put("configNodeNum", count); + getLocalDGM().put("configNodeNum", 0); return ; } log.info("topology node " + absName + " will connect to " + hostInfo.hostName ); @@ -41,11 +41,16 @@ getDGM("manager").put(absName, hostInfo); } else { cgm.createRemoteDGM(hostInfo.connectionName, hostInfo.hostName, hostInfo.port); + getDGM(hostInfo.connectionName).put("reverseKey", hostInfo.reverseName); + getDGM(hostInfo.connectionName).put("reverseHostName", hostInfo.hostName); + getDGM(hostInfo.connectionName).put("reverseKeyPort", hostInfo.port); + count++; getLocalDGM().put("cMember", hostInfo.connectionName); cgm.setup(new CreateConnectionList()); + } cgm.setup(new IncomingConnectionInfo(absName, count, managerKey)); }
--- a/src/main/java/christie/topology/node/IncomingReverseKey.java Tue Aug 28 10:49:26 2018 +0900 +++ b/src/main/java/christie/topology/node/IncomingReverseKey.java Tue Aug 28 18:56:45 2018 +0900 @@ -12,14 +12,23 @@ @Take String reverseKey; + @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 Tue Aug 28 10:49:26 2018 +0900 +++ b/src/main/java/christie/topology/node/Start.java Tue Aug 28 18:56:45 2018 +0900 @@ -1,21 +1,24 @@ package christie.topology.node; import christie.annotation.Peek; +import christie.annotation.PeekFrom; +import christie.annotation.Take; import christie.codegear.CodeGear; import christie.codegear.CodeGearManager; import org.apache.log4j.Logger; public class Start extends CodeGear { - @Peek + @PeekFrom("manager") boolean start; private Logger logger = Logger.getLogger(Start.class); - private CodeGear startCS; + + @Take + CodeGear startCS; - public Start(CodeGear startCS) { - this.startCS = startCS; + public Start() { } @Override
--- a/src/main/java/christie/topology/node/StartTopologyNode.java Tue Aug 28 10:49:26 2018 +0900 +++ b/src/main/java/christie/topology/node/StartTopologyNode.java Tue Aug 28 18:56:45 2018 +0900 @@ -10,13 +10,15 @@ public StartTopologyNode(CodeGearManager cgm, TopologyNodeConfig conf, CodeGear startCG) { super(cgm); - cgm.setup(new TopologyNode(conf, startCG)); + cgm.setup(new TopologyNode()); + cgm.getLocalDGM().put("startCG", startCG); + cgm.getLocalDGM().put("topologyNodeConfig", conf); } public static void main(String[] args) { TopologyNodeConfig conf = new TopologyNodeConfig(args); - new TopologyNode(conf, null); + //new TopologyNode(conf, null); } @Override
--- a/src/main/java/christie/topology/node/TopologyNode.java Tue Aug 28 10:49:26 2018 +0900 +++ b/src/main/java/christie/topology/node/TopologyNode.java Tue Aug 28 18:56:45 2018 +0900 @@ -1,5 +1,6 @@ package christie.topology.node; +import christie.annotation.Peek; import christie.codegear.CodeGear; import christie.codegear.CodeGearManager; import christie.topology.HostMessage; @@ -11,48 +12,46 @@ public class TopologyNode extends CodeGear{ - private final String manager; - private TopologyNodeConfig topologyNodeConfig; - private CodeGear startCS; + @Peek + TopologyNodeConfig topologyNodeConfig; - public TopologyNode(TopologyNodeConfig conf, CodeGear startCS) { - this.topologyNodeConfig = conf; - this.startCS = startCS; - this.manager = conf.getManagerKey(); + public TopologyNode() { } @Override protected void run(CodeGearManager cgm) { - cgm.createRemoteDGM(manager, + + cgm.createRemoteDGM(topologyNodeConfig.getManagerKey(), topologyNodeConfig.getManagerHostName(), topologyNodeConfig.getManagerPort()); + + String localHostName = null; try { localHostName = InetAddress.getLocalHost().getHostAddress(); } catch (UnknownHostException e) { e.printStackTrace(); } - cgm.setup(new SaveCookie()); + + if (cgm.localPort == 0) { // local test mode localHostName = topologyNodeConfig.getLocalKey(); + } getLocalDGM().put("config" , topologyNodeConfig); HostMessage host = new HostMessage(localHostName, cgm.localPort); host.cookie = topologyNodeConfig.cookie; - getDGM(manager).put("hostMessage", host); + getDGM(topologyNodeConfig.getManagerKey()).put("hostMessage", host); getLocalDGM().put("_CLIST", new ArrayList<String>()); - //getDGM(local).put("_CLIST", new ArrayList<String>()); - - cgm.setup(new IncomingAbstractHostName(topologyNodeConfig)); - - cgm.setup(new IncomingReverseKey()); - getLocalDGM().put("reverseCount", 0); - cgm.setup(new ConfigurationFinish(startCS)); + cgm.setup(new SaveCookie()); + cgm.setup(new IncomingAbstractHostName(topologyNodeConfig)); + cgm.setup(new IncomingReverseKey()); + cgm.setup(new ConfigurationFinish()); } }