changeset 621:4027e55df60d dispose current-release

add startKeepAlive
author suruga
date Sun, 06 Aug 2017 18:42:43 +0900
parents b6cbf3ca3d12
children fdbc3e67d596 c4d387b40486
files src/main/java/alice/daemon/Config.java src/main/java/alice/topology/manager/StartTopologyManager.java src/main/java/alice/topology/node/ConfigurationFinish.java
diffstat 3 files changed, 9 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/main/java/alice/daemon/Config.java	Thu Aug 03 20:02:55 2017 +0900
+++ b/src/main/java/alice/daemon/Config.java	Sun Aug 06 18:42:43 2017 +0900
@@ -9,6 +9,7 @@
     public Level level = Level.FATAL;
     public String MCSTADDR = "224.0.0.1";
     public String nis = "en1";
+    public boolean useKeepAlive = true;
 
     public Config(String[] args) {
         for (int i = 0; i< args.length; i++) {
@@ -18,6 +19,8 @@
                 logFile = args[++i];
             } else if ("-n".equals(args[i])) {
                 nis = args[++i];
+            } else if ("--noKeepAlive".equals(args[i])) {
+                useKeepAlive = false;
             } else if ("-a".equals(args[i])) {
                 MCSTADDR = args[++i];
             } else if ("-level".equals(args[i])) {
--- a/src/main/java/alice/topology/manager/StartTopologyManager.java	Thu Aug 03 20:02:55 2017 +0900
+++ b/src/main/java/alice/topology/manager/StartTopologyManager.java	Sun Aug 06 18:42:43 2017 +0900
@@ -32,6 +32,7 @@
     public void run() {
         new CheckComingHost();
         ods.put("absCookieTable", new HashMap<String, String>());
+        ods.put("config", conf );
 
         if (!conf.dynamic) {
             LinkedList<String> nodeNames = new LinkedList<String>();
--- a/src/main/java/alice/topology/node/ConfigurationFinish.java	Thu Aug 03 20:02:55 2017 +0900
+++ b/src/main/java/alice/topology/node/ConfigurationFinish.java	Sun Aug 06 18:42:43 2017 +0900
@@ -1,5 +1,6 @@
 package alice.topology.node;
 
+import alice.topology.manager.TopologyManagerConfig;
 import org.msgpack.type.ValueFactory;
 
 import alice.codesegment.CodeSegment;
@@ -11,6 +12,7 @@
 
     public Receiver reverseCount = ids.create(CommandType.PEEK);
     public Receiver configNodeNum = ids.create(CommandType.PEEK);
+    public Receiver config = ids.create(CommandType.PEEK);
     private CodeSegment startCS;
 
     public ConfigurationFinish(CodeSegment startCS) {
@@ -21,12 +23,14 @@
     public void run() {
         int rcount = reverseCount.asInteger();
         int ncount = configNodeNum.asInteger();
+        TopologyManagerConfig tconfig = config.asClass(TopologyManagerConfig.class);
         if (rcount == ncount) {
             ods.put("manager", "done", ValueFactory.createNilValue());
             Start cs = new Start(startCS);
             cs.done.setKey("manager", "start");
 
-            new StartKeepAlive().execute();
+            if (tconfig.useKeepAlive)
+                new StartKeepAlive().execute();
             new ReceiveCloseMessage(CommandType.PEEK);
             ClosedEventManager.getInstance().register(DeleteConnection.class);
             ClosedEventManager.getInstance().setKey();