diff src/main/java/christie/topology/manager/ConfigWaiter.java @ 41:cf5a75bc3e55

add
author akahori
date Tue, 31 Jul 2018 17:46:32 +0900
parents
children 6664efac18ee
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/christie/topology/manager/ConfigWaiter.java	Tue Jul 31 17:46:32 2018 +0900
@@ -0,0 +1,43 @@
+package christie.topology.manager;
+
+
+import christie.annotation.Take;
+import christie.codegear.CodeGear;
+import christie.codegear.CodeGearManager;
+import org.msgpack.type.ValueFactory;
+
+public class ConfigWaiter extends CodeGear {
+
+
+    // Question; done 変数がわからない...何やっているんだろう.
+    // public Receiver done = ids.create(CommandType.TAKE);
+    @Take
+    boolean done;
+
+    @Take
+    int nodeNum;
+
+
+
+    public ConfigWaiter() { }
+
+    @Override
+    public void run(CodeGearManager cgm) {
+        nodeNum--;
+        if (nodeNum == 0) {
+            put("local", "start", ValueFactory.createNilValue());
+            put("startTime", System.currentTimeMillis());
+            put("done", true);
+            //update("running", true);
+
+            return;
+        }
+        //ConfigWaiter cs3 = new ConfigWaiter(count);
+        //cs3.done.setKey("local", "done");
+
+        cgm.setup(new ConfigWaiter());
+        getLocalDGM().put("nodeNum", nodeNum);
+        getLocalDGM().put("done", false);
+    }
+
+}