/// <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); }
/// <summary> /// Возвращает число фрагментов в базовой системе (очередь + приборы) /// </summary> /// <returns></returns> public int NumberOfFragments() { return(ListOfFragments.Count + InBuffer.Length()); }