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"); }
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); } }
public void uruchom() { czasyKolejek.Add(0); liczbaPakietowWKolejce.Add(0); czasyStanowSerwera.Add(0); zajetoscSerwera.Add(false); for (int i = 0; i < zrodla.Count; i++) { zrodla[i].losujCzas(); } zrodla.Sort( delegate(ZrodloRuchu a, ZrodloRuchu b) { return(a.getCzasDoWyslania().CompareTo(b.getCzasDoWyslania())); }); 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)); }