view paper/src/StartTopologyManager.cs @ 1:37483e2cff1c

Incomplete
author KaitoMaeshiro <aosskaito@cr.ie.u-ryukyu.ac.jp>
date Mon, 31 Jan 2022 12:07:40 +0900
parents
children
line wrap: on
line source

using Christie_net.codegear;
using Christie_net.topology.node;

namespace Christie_net.topology.manager {
    
    public class StartTopologyManager : StartCodeGear {
        public StartTopologyManager(string[] args) : 
            this(CreateCgm(new TopologyManagerConfig(args).localPort), new TopologyManagerConfig(args)){
        }
        public StartTopologyManager(TopologyManagerConfig topologyManagerConfig) : 
            this(CreateCgm(topologyManagerConfig.localPort), topologyManagerConfig){
        }
        
        public StartTopologyManager(CodeGearManager cgm, TopologyManagerConfig topologyManagerConfig) : base(cgm) {
            cgm.Setup(new TopologyManager());
            cgm.GetLocalDGM().Put("topologyManagerConfig", topologyManagerConfig);
        }
        
        public StartTopologyManager(TopologyManagerConfig conf, CodeGear startCG) :
            this(CreateCgm(conf.localPort), conf, startCG){

        }

        public StartTopologyManager(CodeGearManager cgm, TopologyManagerConfig conf, CodeGear startCG) : base(cgm) {
            cgm.Setup(new TopologyManager());
            cgm.Setup(new Start());
            cgm.GetLocalDGM().Put("startCG", startCG);
            cgm.GetLocalDGM().Put("topologyNodeConfig", conf);

        }

        public static void Main(string[] args) {
            TopologyManagerConfig topologyManagerConfig = new TopologyManagerConfig(args);
            new StartTopologyManager(topologyManagerConfig);
        }
    }
}