Esempio n. 1
0
 public void Run(int currentTime, Chanel chanel)
 {
     if (currentTime >= timeForSend)
     {
         //если возникла коллизия при нашей отправке тогда надо отложить отправку на небольшое время
         if (collision && sendPackege > 0)
         {
             timeForSend += random.Next(0, 20);
             Console.WriteLine("Прервала отправку, станция {0}", id);
             collision   = false;
             sendPackege = 0;
             return;
         }
         if (sendPackege == packege)
         {
             Console.WriteLine("Отправка завершена, станция {0}", id);
             timeForSend += random.Next(1, 100);
             sendPackege  = 0;
         }
         collision = false;
         Console.WriteLine("Отправка пакета, станция {0}", id);
         chanel.Send(this.id);
         sendPackege++;
     }
 }
Esempio n. 2
0
        static void Main(string[] args)
        {
            Chanel chanel = new Chanel(5);

            while (true)
            {
                chanel.tick();
            }
        }