public void Add(long time, Action callback) { if (_parent != null && (Count == 0 || time < FindMin().Time)) { _parent.Add(time, Run); } lock (this) { var e = new TimedEvent(time, callback); IPriorityQueueHandle <TimedEvent> handle = null; Add(ref handle, e); e.Handle = handle; } }
public void Attach(TimedEventQueue parent) { lock (this) { _parent = parent; if (Count > 0) { _parent.Add(FindMin().Time, Run); } } }