Beispiel #1
0
        public MainViewModel(RCViewModel rcViewModel, IConfigReaderService configReaderService, ILogService logService, IRCService rcService, ICCService ccService, IConnectivityService connectivityService)
        {
            x = rcViewModel;
            _configReaderService = configReaderService;
            _logService          = logService;
            _rcService           = rcService;
            _ccService           = ccService;
            _connectivityService = connectivityService;
            _connectivityService.MessageReceived += OnMessageReceived;
            BindingOperations.EnableCollectionSynchronization(Logs, _lock);

            try
            {
                SubnetworkConfig = configReaderService.ReadSubnetworkConfig();
            }
            catch (Exception e)
            {
                _logService.LogError("WRONG CONFIG: " + e.Message);
            }

            if (SubnetworkConfig.IsDomain)
            {
                _connectivityService.ConnectToNCCorDomain("127.0.0.1", SubnetworkConfig.NCCPort, SubnetworkConfig.Name);
                _connectivityService.StartListening("127.0.0.1", SubnetworkConfig.ServerPort);
            }
            else
            {
                //_cableCloudConnectionService.StartClient("127.0.0.1", SubnetworkConfig.CableCloudPort, SubnetworkConfig.Name);
                _connectivityService.ConnectToNCCorDomain("127.0.0.1", SubnetworkConfig.ClientPort, SubnetworkConfig.Name);
                _connectivityService.StartListening("127.0.0.1", SubnetworkConfig.ServerPort);
            }

            Task.Run(async() =>
            {
                while (true)
                {
                    await CheckList();
                    Thread.Sleep(50);
                }
            });
        }
Beispiel #2
0
 public RCService(IConfigReaderService configReaderService, ILogService logService)
 {
     _subnetworkConfigDto = configReaderService.ReadSubnetworkConfig();
     _logService          = logService;
 }
        public SubnetworkConfigDto ReadSubnetworkConfig()
        {
            var config = new SubnetworkConfigDto();

            var lines = File.ReadAllLines(_filePath);

            config.Edges = new List <Edge>();
            config.Nodes = new List <Node>();

            foreach (var line in lines)
            {
                var parts = line.Split(' ');
                if (line.StartsWith("NAME"))
                {
                    config.Name = parts[1];
                }
                else if (line.StartsWith("ISDOMAIN"))
                {
                    config.IsDomain = parts[1].Equals("1");
                }
                else if (line.StartsWith("NCCPORT"))
                {
                    config.NCCPort = int.Parse(parts[1]);
                }
                else if (line.StartsWith("SERVERPORT"))
                {
                    config.ServerPort = int.Parse(parts[1]);
                }
                else if (line.StartsWith("CLIENTPORT"))
                {
                    config.ClientPort = int.Parse(parts[1]);
                }
                else if (line.StartsWith("CABLECLOUDPORT"))
                {
                    config.CableCloudPort = int.Parse(parts[1]);
                }
                else if (line.StartsWith("CLIENT"))
                {
                    config.Clients.Add(new Client
                    {
                        Name = parts[1],
                        Port = int.Parse(parts[2])
                    });
                }
                else if (line.StartsWith("EDGE"))
                {
                    config.Edges.Add(new Edge
                    {
                        Id    = int.Parse(parts[1]),
                        Node1 = new Node {
                            Id = config.Nodes.FirstOrDefault(n => n.Name == parts[2]).Id, Name = parts[2]
                        },
                        Node2 = new Node {
                            Id = config.Nodes.FirstOrDefault(n => n.Name == parts[3]).Id, Name = parts[3]
                        },
                        Length = int.Parse(parts[4]),
                        State  = parts[5] == "1"
                    });
                }
                else if (line.StartsWith("NODE"))
                {
                    config.Nodes.Add(new Node
                    {
                        Id   = uint.Parse(parts[1]),
                        Name = parts[2]
                    });
                }
            }

            return(config);
        }