Esempio n. 1
0
 private void LoadTables(List <string> tablesFile)
 {
     // Router LSR nie potrzebuje wszystkich tablic. W naszej topologii tylko R2 jest LSR.
     if (routerName != "R2")
     {
         mplsFibTable = new MplsFibTable(routerName);
         mplsFibTable.LoadTable(tablesFile);
         ftnTable = new FtnTable(routerName);
         ftnTable.LoadTable(tablesFile);
         ilmTable = new IlmTable(routerName);
         ilmTable.LoadTable(tablesFile);
         ipFibTable = new IpFibTable(routerName);
         ipFibTable.LoadTable(tablesFile);
         nhlfeTable = new NhlfeTable(routerName);
         nhlfeTable.LoadTable(tablesFile);
     }
     else
     {
         ilmTable = new IlmTable(routerName);
         ilmTable.LoadTable(tablesFile);
         nhlfeTable = new NhlfeTable(routerName);
         nhlfeTable.LoadTable(tablesFile);
     }
 }
        private void HandleInput()
        {
            while (true)
            {
                if (connectedSockets.Count == 0)
                {
                    continue;
                }

                // Clear the keyboard buffer.
                while (Console.KeyAvailable)
                {
                    Console.ReadKey(false);
                }

                Console.WriteLine("\nChoose which router you want to manage: \n1. R1 \n2. R2 \n3. R3 \n4. R4");
                var choice = Console.ReadLine();

                if (choice == "1")
                {
                    string routerName = $"R{choice}";
                    mplsFibTable = new MplsFibTable(R1TablesFilePath, routerName);
                    ipFibTable   = new IpFibTable(R1TablesFilePath, routerName);
                    ilmTable     = new IlmTable(R1TablesFilePath, routerName);
                    ftnTable     = new FtnTable(R1TablesFilePath, routerName);
                    nhlfeTable   = new NhlfeTable(R1TablesFilePath, routerName);
                    ManageLER(routerName, R1TablesFilePath);
                }
                else if (choice == "2")
                {
                    string routerName = $"R{choice}";
                    ilmTable   = new IlmTable(R2TablesFilePath, routerName);
                    nhlfeTable = new NhlfeTable(R2TablesFilePath, routerName);
                    ManageLSR(routerName, R2TablesFilePath);
                }
                else if (choice == "3")
                {
                    string routerName = $"R{choice}";
                    mplsFibTable = new MplsFibTable(R3TablesFilePath, routerName);
                    ipFibTable   = new IpFibTable(R3TablesFilePath, routerName);
                    ilmTable     = new IlmTable(R3TablesFilePath, routerName);
                    ftnTable     = new FtnTable(R3TablesFilePath, routerName);
                    nhlfeTable   = new NhlfeTable(R3TablesFilePath, routerName);
                    ManageLER(routerName, R3TablesFilePath);
                }
                else if (choice == "4")
                {
                    string routerName = $"R{choice}";
                    mplsFibTable = new MplsFibTable(R4TablesFilePath, routerName);
                    ipFibTable   = new IpFibTable(R4TablesFilePath, routerName);
                    ilmTable     = new IlmTable(R4TablesFilePath, routerName);
                    ftnTable     = new FtnTable(R4TablesFilePath, routerName);
                    nhlfeTable   = new NhlfeTable(R4TablesFilePath, routerName);
                    ManageLER(routerName, R4TablesFilePath);
                }
                else
                {
                    Console.WriteLine("\nNo such router connected. Try again.");
                    continue;
                }
            }
        }