public void HandleElementEjected(Flow.Event.Event ev, Flow.Event.IEventEmmiter em) { if (_elements.Count == 0) { throw new Exception("Whooooo.... Trying to reject an element that isn't here..."); } QueueElement elem = _elements[0]; _elements.RemoveAt(0); _length -= elem.BlockingTime; _context.Logger.Log(this, String.Format("Rejecting first element. New length: {0}, elements: {1}", _length, MembersCount), 9); elem.Element.FinishedQueuing(this, elem.Event); }
/// <summary> /// Notify the queue manager about global events /// </summary> /// <param name="ev">Incoming event</param> /// <param name="source">Event emmiter</param> public void Notify(Flow.Event.Event ev, Flow.Event.IEventEmmiter source) { Flow.Event.ReflectiveEventDispatcher.Notify(this, ev, source); }