/// <summary> /// Вывод получившей очереди из алгоритма в файл /// </summary> private void PrintToFile(Queue <Package> resultPackage) { foreach (Package package in resultPackage) { SettingFile.PrintToFile(SettingFile.pathForResultQueue, package.ToString()); } }
public void Addpackage(object sender, EventArgs e) { bool run = false; Package package = new Package(); //если тест, то заполнять готовыми пакетами if (ItExample) { package = genPackage.New(packageStartTests[curNumStartPackageTest].DSCP, packageStartTests[curNumStartPackageTest].Length); if (packageStartTests[curNumStartPackageTest].Delay != -1) { timerGenPack.Interval = new TimeSpan(0, 0, 0, 0, Setting.frequencyUpdate * 1000 / packageStartTests[curNumStartPackageTest].Delay); } else { timerGenPack.Stop(); } run = true; curNumStartPackageTest++; } else if (GenerationNext()) { //получили пакет package = genPackage.New(); run = true; } if (run) { //отправили на маркировку Classification.ClassificationPackage(package); //вывели в файл инфу SettingFile.PrintToFile(SettingFile.pathForGenerationPackage, package.ToString()); SetStartQueue(package); //добавить пакет в алгоритм algorithm.Add(package); } }
/// <summary> /// Имитация роутера /// </summary> /// <param name="numAlgorithm">Номер алгоритма</param> /// <param name="paint">Место отрисовки</param> /// <param name="info">Место отрисовки информации</param> /// <param name="numTest">Номер теста, если -1 - не тест</param> public Router(int numAlgorithm, Canvas paint, Canvas info, int numTest = -1) { genPackage = new GenPackage(); settingFile = new SettingFile(); Graphica = new MyGraphica(paint, info); Package.nextID = 0; curNumStartPackageTest = 0; curNumResultPackageTest = 0; if (numTest == -1) { ItExample = false; } else { ItExample = true; } this.numAlgorithm = numAlgorithm; resultPackage = new Queuering(Setting.MaxConstSizeQueuering); StartPackage = new Queuering(Setting.MaxConstSizeQueuering); if (ItExample) { packageStartTests = SettingFile.GetExample(numTest); packageResultTests = new List <Queuering>(); /*for (int i = 0; i < 7; i++) * { * packageResultTests.Add(new Queuering(Setting.MaxConstSizeQueuering)); * }*/ } SetAlg(numAlgorithm); }