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; } } }