Пример #1
0
 public void dodajPakiet(Pakiet pakiet, double staryZegar)
 {
     zegar = staryZegar;
     pakiet.zmienId(id);
     pakiet.ustawCzasPrzyjscia(zegar);
     pakiet.setOpoznienie(1);
     aktywny = pakiet;
     Console.WriteLine("PRZYJSCIE DO WEZLA " + id + " zegar: " + zegar);
     if (zajety == false)
     {
         zdarzenia.Add(new Zdarzenie(typZdarzenia.obsluzenie, czasObslugi + zegar));
         aktywny.setOpoznienie(0);
         obslugiwany = pakiet;
         zajety      = true;
         zajetoscSerwera.Add(zajety);
         czasyStanowSerwera.Add(zegar);
     }
     else if (zajety == true)
     {
         kolejka.Add(pakiet);
         czasyKolejek.Add(zegar);
         liczbaPakietowWKolejce.Add(kolejka.Count);
     }
     zdarzenia.Sort(
         delegate(Zdarzenie a, Zdarzenie b)
     {
         return(a.getCzas().CompareTo(b.getCzas()));
     });
     Program.zapiszDoPliku(zapisz(typZdarzenia.przyjscie), "symulacja.txt");
 }
Пример #2
0
        public void zdarzeniePrzyjscia()
        {
            double czasWystapienia = zrodla[0].getCzasDoWyslania();

            for (int i = 0; i < zrodla.Count; i++)
            {
                zrodla[i].zmniejszCzas(czasWystapienia);
            }
            Pakiet pakiet = zrodla[0].wyslijPakiet();

            pakiet.ustawCzasPrzyjscia(zegar);
            pakiet.zmienId(id);
            aktywny = pakiet;
            zrodla.Sort(
                delegate(ZrodloRuchu a, ZrodloRuchu b)
            {
                return(a.getCzasDoWyslania().CompareTo(b.getCzasDoWyslania()));
            });

            if (zdarzenia.Count != 0)
            {
                zdarzenia.Remove(zdarzenia[0]);
            }

            zdarzenia.Add(new Zdarzenie(typZdarzenia.przyjscie, czasWystapienia + zegar));
            if (zajety == true)
            {
                kolejka.Add(pakiet);
                aktywny = pakiet;
                czasyKolejek.Add(zegar);
                liczbaPakietowWKolejce.Add(kolejka.Count);
            }
            else if (zajety == false)
            {
                zajety = true;
                zajetoscSerwera.Add(zajety);
                czasyStanowSerwera.Add(zegar);
                zdarzenia.Add(new Zdarzenie(typZdarzenia.obsluzenie, czasObslugi + zegar));
                obslugiwany = pakiet;
                obslugiwany.setOpoznienie(0);
            }
        }