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));
     }
 }
Пример #6
0
        public virtual int GetPriority(PriorityNode <T> nodeToFind)
        {
            KeyValuePair <PriorityNode <T>, PriorityNode <T> > item = Find(nodeToFind);

            int priority = item.Key.Priority;

            return(priority);
        }
Пример #7
0
        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);
        }
Пример #8
0
        public int CompareTo(PriorityNode <T> other)
        {
            int difference = Priority - other.Priority;

            if (difference == 0)
            {
                difference = seqNo - other.seqNo;
            }

            return(difference);
        }
Пример #9
0
        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);
        }
Пример #10
0
        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);
        }
Пример #11
0
 public virtual void Add(PriorityNode <T> node)
 {
     this.Add(node, node);
 }
Пример #12
0
        public virtual bool Contains(PriorityNode <T> value)
        {
            bool containsValue = this.ContainsValue(value);

            return(containsValue);
        }
Пример #13
0
        public bool Equals(PriorityNode <T> other)
        {
            bool match = Value.Equals(other.Value);

            return(match);
        }