view src/main/java/christie/topology/manager/ConfigWaiter.java @ 168:c7300be0fff6

fix incomingHosts end message
author akahori
date Tue, 22 Jan 2019 16:00:29 +0900
parents 5c5a5da0d13d
children 6eb548c188e5
line wrap: on
line source

package christie.topology.manager;


import christie.annotation.Peek;
import christie.annotation.Take;
import christie.codegear.CodeGear;
import christie.codegear.CodeGearManager;


import java.util.LinkedList;

public class ConfigWaiter extends CodeGear {

    @Peek
    LinkedList<String> waiterNodeNames;

    @Take
    String nodePrepareDone;

    @Take
    int nodeNum;

    public ConfigWaiter() { }

    @Override
    protected void run(CodeGearManager cgm) {
        nodeNum--;
        if (nodeNum == 0) {
            getLocalDGM().put("start", "start");
            for (String nodeName: waiterNodeNames) getDGM(nodeName).put("start", "start");
            getLocalDGM().put("startTime", System.currentTimeMillis());
            getLocalDGM().put("running", true);

            return;
        }

        cgm.setup(new ConfigWaiter());
        getLocalDGM().put("nodeNum", nodeNum);
    }

}