view src/main/java/christie/topology/node/IncomingConnectionInfo.java @ 198:dd3c0ba6a0a6

fix topology manager
author akahori
date Sat, 09 Mar 2019 21:53:37 +0900
parents a0be7c83fff8
children
line wrap: on
line source

package christie.topology.node;


import christie.annotation.Peek;
import christie.annotation.Take;
import christie.codegear.CodeGear;
import christie.codegear.CodeGearManager;
import christie.topology.HostMessage;
import christie.topology.Message;
import christie.topology.TopologyDataGear;


public class IncomingConnectionInfo extends CodeGear {

    @Take
    HostMessage remoteNodeInfo;


    int count;

    public IncomingConnectionInfo() {
        this.count = 0;
    }

    public IncomingConnectionInfo(int count) {
        this.count = count;
    }


    @Override
    protected void run(CodeGearManager cgm) {
        String connectionName = remoteNodeInfo.getConnectionName();

        cgm.createRemoteDGM(connectionName,
                    remoteNodeInfo.getHostName(),
                    remoteNodeInfo.getPort());


        getDGM(connectionName).put("_CONNECTIONMESSAGE",new Message());
        cgm.setup(new CreateConnectionList());
        getLocalDGM().put("cMember", connectionName);

        cgm.setup(new IncomingConnectionInfo(count + 1));
    }

}