public void DeleteLink(ILoItem v) { _links.Remove(v); if (!_links.Any() && _src == null) { Disposed = true; _pl.EnqueuePr(this); } }
public int CompareTo(ILoItem other) { if (other == null) { return(-1); } if (this._layer != other.Layer) { return(this._layer.CompareTo(other.Layer)); } return(this._owner.path.CompareTo(other.Owner.path)); }
internal void EnqueuePr(ILoItem it) { int idx = _TaskPr.BinarySearch(it); if (idx < 0) { idx = ~idx; if (_curIdx <= idx) { _TaskPr.Insert(idx, it); } else { _TaskIn.Enqueue(it); } } else if (_curIdx >= idx) { _TaskIn.Enqueue(it); } }
public void AddLink(ILoItem v) { _links.Add(v); }
internal void EnqueueIn(ILoItem it) { _TaskIn.Enqueue(it); }