示例#1
0
        public void Enqueue(object sender, ProductEngagedEventArgs <T> e)
        {
            if (_productsQueue == null)
            {
                _productsQueue = new Queue <T>();
            }

            if (IsEmpty)
            {
                OnEmpty(this, EventArgs.Empty);
            }

            if (CanTakeProduct)
            {
                lock (locker)
                {
                    if (spanAfterDequeue.Second > Delay)
                    {
                        Past = DateTime.Now;
                    }
                    _productsQueue.Enqueue(e.Product);
                    //OnEnqueue(this, new ProductEngagedEventArgs<T>(e.Product));
                }
            }
        }
示例#2
0
        public void Dequeue(object sender, ProductEngagedEventArgs <T> e)
        {
            //if (PortOut == null)
            //{
            //    throw new ArgumentNullException(nameof(PortOut));
            //}

            //var temp = this._productsQueue.Dequeue();
        }
示例#3
0
        public void Dequeue(object sender, ProductEngagedEventArgs <T> e)
        {
            if (PorOut == null)
            {
                throw new ArgumentNullException(nameof(PorOut));
            }

            OnDequeue(sender, new ProductEngagedEventArgs <T>(e.Product));
        }
示例#4
0
 public void Enqueue(object sender, ProductEngagedEventArgs <T> e)
 {
     throw new NotSupportedException();
 }
示例#5
0
 private void SeedObject(object sender, ProductEngagedEventArgs <T> e)
 {
     --_count;
     SeedObject(e.Product);
     System.Diagnostics.Debug.WriteLine(_count);
 }
示例#6
0
 public void Dequeue(object sender, ProductEngagedEventArgs <T> e)
 {
 }