public virtual void Remove() { NotifyForwardSequenceChanged(Next); if (Next != null) { Next.Previous = Previous; } Previous = null; }
public BlockingQueueEnumerator(BlockingQueue <T> BlockingQueue, bool Consuming, int Timeout) { this.blockingqueue = BlockingQueue; this.timeout = Timeout; this.consuming = Consuming; this.currentnode = null; lock (BlockingQueue.sync) { CurrentNode = this.blockingqueue.nodezero; } }
protected void OnForwardSequenceChanged(object sender, SequenceChangedEventArgs args) { Next = args.UpdatedNextNode; }
protected void NotifyForwardSequenceChanged(BlockingQueueNode UpdatedNextNode) { forwardsequencechangedevent?.Invoke(this, new SequenceChangedEventArgs(UpdatedNextNode)); }
public SequenceChangedEventArgs(BlockingQueueNode UpdatedNextNode) { this.UpdatedNextNode = UpdatedNextNode; }