public override void SetPriority(int updatedPriority, PriorityNode <T> nodeToFind) { lock (sync) { base.SetPriority(updatedPriority, nodeToFind); } }
public override int GetPriority(PriorityNode <T> nodeToFind) { lock (sync) { return(base.GetPriority(nodeToFind)); } }
public override void Add(PriorityNode <T> node) { lock (sync) { base.Add(node); } }
public override KeyValuePair <PriorityNode <T>, PriorityNode <T> > Find(PriorityNode <T> nodeToFind) { lock (sync) { return(base.Find(nodeToFind)); } }
public override bool Contains(PriorityNode <T> value) { lock (sync) { return(base.Contains(value)); } }
public virtual int GetPriority(PriorityNode <T> nodeToFind) { KeyValuePair <PriorityNode <T>, PriorityNode <T> > item = Find(nodeToFind); int priority = item.Key.Priority; return(priority); }
public virtual PriorityNode <T> PopMin() { KeyValuePair <PriorityNode <T>, PriorityNode <T> > item = this.ElementAt(0); this.Remove(item.Key); PriorityNode <T> min = item.Value; return(min); }
public int CompareTo(PriorityNode <T> other) { int difference = Priority - other.Priority; if (difference == 0) { difference = seqNo - other.seqNo; } return(difference); }
public virtual void SetPriority(int updatedPriority, PriorityNode <T> nodeToFind) { KeyValuePair <PriorityNode <T>, PriorityNode <T> > item = Find(nodeToFind); this.Remove(item.Key); PriorityNode <T> node = item.Value; node.Priority = updatedPriority; this.Add(node, node); }
public virtual KeyValuePair <PriorityNode <T>, PriorityNode <T> > Find(PriorityNode <T> nodeToFind) { KeyValuePair <PriorityNode <T>, PriorityNode <T> > item; try { item = this.Select(i => i).First(i => i.Value.Equals(nodeToFind)); } catch (Exception) { item = new KeyValuePair <PriorityNode <T>, PriorityNode <T> >(null, null); } return(item); }
public virtual void Add(PriorityNode <T> node) { this.Add(node, node); }
public virtual bool Contains(PriorityNode <T> value) { bool containsValue = this.ContainsValue(value); return(containsValue); }
public bool Equals(PriorityNode <T> other) { bool match = Value.Equals(other.Value); return(match); }