Ejemplo n.º 1
0
        /// <summary>
        /// Передача управления базовой системе
        /// </summary>
        public override void Activate()
        {
            //Единственное действие это окончание обслуживания
            var key   = ListOfFragments.Keys.Min();
            var value = ListOfFragments[key];

            //Удаляем из списка обслуживаемых фрамгентов
            ListOfFragments.Remove(key);
            //Прибор свободен, пытаемся взять на обслуживание новый фрагмент
            if (InBuffer.Length() > 0)
            {
                StartService();
            }
            else
            {
                //Обновляем время активации
                UpdateActionTime();
            }
            //Отправляем обслуженный фрагмент в другие узлы
            Route(value);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Возвращает число фрагментов в базовой системе (очередь + приборы)
 /// </summary>
 /// <returns></returns>
 public int NumberOfFragments()
 {
     return(ListOfFragments.Count + InBuffer.Length());
 }