/// <summary> /// Отправление требования от источника к другому узлу /// </summary> /// <param name="f">Требование</param> /// <param name="N">Узел-получатель</param> protected override void Send(Fragment f, Node N) { N.Receive(f); }
/// <summary> /// Помещает фрагмент в буффер /// </summary> /// <param name="f">Помещаемый фрагмент</param> public abstract void Put(Fragment f);
protected override void Send(Fragment f, Node N) { throw new NotImplementedException(); }
/// <summary> /// Получение требования (возврат требования в исчтоник) /// </summary> /// <param name="f"></param> public override void Receive(Fragment f) { //Console.WriteLine("Требование вернулось"); ResponseTimes.Add(Info.GetCurentTime() - f.TimeGeneration); }
public override void Receive(Fragment f) { throw new NotImplementedException(); }
protected override void Route(Fragment f) { throw new NotImplementedException(); }
/// <summary> /// Отправляет фрагмент в узел /// </summary> /// <param name="f">Отправляемый фрагмент</param> /// <param name="N">отУзел-получатель</param> protected abstract void Send(Fragment f, Node N);
/// <summary> /// Получение фрагмента узлом /// </summary> /// <param name="f">Получаемый фрагмент</param> public abstract void Receive(Fragment f);
/// <summary> /// Отправляет фрагмент по сети обслуживания согласно маршрутизации /// </summary> /// <param name="f">Фрагмент для отправки</param> protected abstract void Route(Fragment f);
/// <summary> /// Посылает фрагмент в указанный узел /// </summary> /// <param name="f">Посылаемый фрагмент</param> /// <param name="N">Узел для отправки</param> protected override void Send(Fragment f, Node N) { //Посылаем фрагмент N.Receive(f); }
/// <summary> /// Создает сигнатуру для фрагмента /// </summary> /// <param name="ParentDemand">Фрагмент-родитель</param> /// <param name="SubID">Идентификатор полученого фрагмента</param> /// <param name="ForkNodeID">Идентификатор дивайдера, ко котором был получен фрагмент</param> public Signature(Fragment ParentDemand, int SubID, int ForkNodeID) { this.ParentFragment = ParentDemand; this.SubID = SubID; this.ForkNodeID = ForkNodeID; }
/// <summary> /// Получение фрагмента из какого-то узла /// </summary> /// <param name="f">Получаемый фрагмент</param> public override void Receive(Fragment f) { NumberOfArrivedDemads++; Route(f); }
/// <summary> /// Помещает элемент в очередь /// </summary> /// <param name="f">Помещаемый фрагмент</param> public override void Put(Fragment f) { queue.Enqueue(f); }