view src/main/java/christie/test/ring/ConnectManager.java @ 272:b592fe1d4a4e default tip

create example Attendance
author matac42 <matac@cr.ie.u-ryukyu.ac.jp>
date Thu, 01 Jul 2021 20:41:07 +0900
parents 6660ebba441e
children
line wrap: on
line source

package christie.test.ring;

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

public class ConnectManager extends CodeGear{
    @Take
    int nodePort;

    @Peek
    int max;

    @Override
    protected void run(CodeGearManager cgm) {
        String nodeName = "node"+(nodePort-10000);
        cgm.createRemoteDGM(nodeName, "localhost", nodePort);
        getDGM(nodeName).put("hostname", nodeName);
        getDGM(nodeName).put("address", "localhost");
        if (nodePort-10000 < max-1){
            getDGM(nodeName).put("port", nodePort+1);
        } else {
            getDGM(nodeName).put("port", 10000);
            cgm.setup(new StartCount());
            getLocalDGM().put("start_count", 1);
        }
        cgm.setup(new ConnectManager());
    }
}