changeset 645:cb16036404ba

fix local topology test
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 31 Dec 2017 11:04:29 +0900
parents e0621f645e2e
children 3c060de44c2e
files src/main/java/alice/test/topology/localTestTopology/LTopologyStartCodeSegment.java src/main/java/alice/test/topology/localTestTopology/LocalTestTopology.java src/main/java/alice/topology/node/IncomingAbstractHostName.java src/main/java/alice/topology/node/StartTopologyNode.java src/main/java/alice/topology/node/TopologyNodeConfig.java
diffstat 5 files changed, 54 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/src/main/java/alice/test/topology/localTestTopology/LTopologyStartCodeSegment.java	Sun Dec 31 09:59:59 2017 +0900
+++ b/src/main/java/alice/test/topology/localTestTopology/LTopologyStartCodeSegment.java	Sun Dec 31 11:04:29 2017 +0900
@@ -14,9 +14,6 @@
 
     @Override
     public void run() {
-        for(LocalTestTopologyConfig conf : configs) {
-            new LTRemoteIncrement(conf);
-        }
         ods.put("remote1", "num", 0);
     }
 }
\ No newline at end of file
--- a/src/main/java/alice/test/topology/localTestTopology/LocalTestTopology.java	Sun Dec 31 09:59:59 2017 +0900
+++ b/src/main/java/alice/test/topology/localTestTopology/LocalTestTopology.java	Sun Dec 31 11:04:29 2017 +0900
@@ -4,15 +4,17 @@
 import alice.datasegment.DataSegment;
 import alice.topology.manager.StartTopologyManager;
 import alice.topology.manager.TopologyManagerConfig;
+import alice.topology.node.StartTopologyNode;
+import alice.topology.node.TopologyNodeConfig;
 
 import java.util.LinkedList;
 
 public class LocalTestTopology {
 
+
     public static void main(String[] args) {
         LinkedList<LocalTestTopologyConfig> configs = new LinkedList<LocalTestTopologyConfig>();
-        int port = 10000;
-        int toplogyManagerPort = port++;
+        int port = 10001;
         configs.add(new LocalTestTopologyConfig(args, port++, "remote1"));
         configs.add(new LocalTestTopologyConfig(args, port++, "remote2"));
         configs.add(new LocalTestTopologyConfig(args, port++, "remote3"));
@@ -22,8 +24,11 @@
         new StartTopologyManager(topologyManagerConfig).execute();
 
         for (LocalTestTopologyConfig conf: configs ) {
-            new AliceDaemon(conf).listen();
-            DataSegment.connect(conf.key, "rev" + conf.key, conf.hostname, toplogyManagerPort);
+            String[] csarg = {"--port ", Integer.toString(topologyManagerConfig.localPort), "--host","localhost" };
+            TopologyNodeConfig cs  = new TopologyNodeConfig(csarg);
+            cs.setLocalKey(conf.key);
+            cs.setManagerKey("manager");
+            new StartTopologyNode(cs, new LTRemoteIncrement(conf));
         }
         new LTopologyStartCodeSegment(configs).execute();
     }
--- a/src/main/java/alice/topology/node/IncomingAbstractHostName.java	Sun Dec 31 09:59:59 2017 +0900
+++ b/src/main/java/alice/topology/node/IncomingAbstractHostName.java	Sun Dec 31 11:04:29 2017 +0900
@@ -6,13 +6,18 @@
 
 public class IncomingAbstractHostName extends CodeSegment {
 
+    private final TopologyNodeConfig conf;
     public Receiver absName = ids.create(CommandType.PEEK);
 
+    public IncomingAbstractHostName(TopologyNodeConfig conf) {
+        this.conf = conf;
+    }
+
     @Override
     public void run() {
         String absName = this.absName.asString();
         IncomingConnectionInfo cs = new IncomingConnectionInfo(absName, 0);
-        cs.hostInfo.setKey("manager", absName);
+        cs.hostInfo.setKey(conf.getManagerKey(), absName);
     }
 
 }
--- a/src/main/java/alice/topology/node/StartTopologyNode.java	Sun Dec 31 09:59:59 2017 +0900
+++ b/src/main/java/alice/topology/node/StartTopologyNode.java	Sun Dec 31 11:04:29 2017 +0900
@@ -10,17 +10,21 @@
 
 public class StartTopologyNode extends CodeSegment {
 
+    private final String manager;
+    private final String local;
     private TopologyNodeConfig conf;
     private CodeSegment startCS;
 
     public StartTopologyNode(TopologyNodeConfig conf, CodeSegment startCS) {
         this.conf = conf;
         this.startCS = startCS;
+        this.manager = conf.getManagerKey();
+        this.local = conf.getLocalKey();
     }
 
     @Override
     public void run() {
-        DataSegment.connect("manager", "manager", conf.getManagerHostName(), conf.getManagerPort());
+        DataSegment.connect(manager, manager, conf.getManagerHostName(), conf.getManagerPort());
         String localHostName = null;
         try {
             localHostName = InetAddress.getLocalHost().getHostAddress();
@@ -31,22 +35,22 @@
 
         HostMessage host = new HostMessage(localHostName, conf.localPort);
         host.cookie = conf.cookie;
-        ods.put("manager", "host", host);
+        ods.put(manager, "host", host);
 
-        ods.put("_CLIST", new ArrayList<String>());
+        ods.put(local,"_CLIST", new ArrayList<String>());
 
-        IncomingAbstractHostName cs = new IncomingAbstractHostName();
-        cs.absName.setKey("local", "host");
+        IncomingAbstractHostName cs = new IncomingAbstractHostName(conf);
+        cs.absName.setKey(local, "host");
 
         IncomingReverseKey cs2 = new IncomingReverseKey();
-        cs2.reverseKey.setKey("local", "reverseKey");
-        cs2.reverseCount.setKey("local", "reverseCount");
+        cs2.reverseKey.setKey(local, "reverseKey");
+        cs2.reverseCount.setKey(local, "reverseCount");
 
-        ods.put("local", "reverseCount", 0);
+        ods.put(local, "reverseCount", 0);
 
         ConfigurationFinish cs3 = new ConfigurationFinish(startCS);
-        cs3.reverseCount.setKey("local", "reverseCount");
-        cs3.configNodeNum.setKey("local", "configNodeNum");
+        cs3.reverseCount.setKey(local, "reverseCount");
+        cs3.configNodeNum.setKey(local, "configNodeNum");
 
     }
 
--- a/src/main/java/alice/topology/node/TopologyNodeConfig.java	Sun Dec 31 09:59:59 2017 +0900
+++ b/src/main/java/alice/topology/node/TopologyNodeConfig.java	Sun Dec 31 11:04:29 2017 +0900
@@ -11,12 +11,37 @@
     private int managerPort = 10000;
     public String cookie;
     private ArrayList<Class> eventList = new ArrayList<Class>();
+    private String managerKey = "manager";
+    private String localKey = "local";
+
+    public String getLocalKey() {
+        return localKey;
+    }
+
+    public void setLocalKey(String local) {
+        this.localKey = local;
+    }
+
+    public void setManagerKey(String manager) {
+        this.manager = manager;
+    }
+
+    public String getManagerKey() {
+        return manager;
+
+    }
+
+    private String manager = "manager";
 
     public TopologyNodeConfig(String[] args) {
         super(args);
         for (int i = 0; i< args.length; i++) {
             if ("-host".equals(args[i])) {
                 setManagerHostName(args[++i]);
+            } else if ("-managerKey".equals(args[i])) {
+                setManagerKey(args[++i]);
+            } else if ("-localKey".equals(args[i])) {
+                setLocalKey(args[++i]);
             } else if ("-port".equals(args[i])) {
                 setManagerPort(Integer.parseInt(args[++i]));
             } else if ("-cookie".equals(args[i])) {