FastQuant.DataSeriesObject.Enqueue C# (CSharp) Method

Enqueue() private method

private Enqueue ( ) : bool
return bool
        internal bool Enqueue()
        {
            if (this.dataQueue.IsFull())
                return false;

            DataObject obj;
            while (this.queue.IsEmpty())
            {
                if (this.obj != null)
                {
                    obj = this.obj;
                    this.obj = null;

                    this.dataQueue.Write(obj);
                    if (this.long_3 == this.count)
                    {
                        this.count += this.delta;
                        this.percent++;
                        this.dataQueue.Enqueue(new OnSimulatorProgress(this.count, this.percent));
                    }
                    return true;
                }
                if (this.current > this.index2)
                {
                    Done = true;
                    return false;
                }
                this.obj = this.series[this.current];
                this.obj = this.processor.Process(this);
                this.current++;
                this.long_3++;
            }

            obj = (DataObject)this.queue.Read();

            this.dataQueue.Write(obj);
            if (this.long_3 == this.count)
            {
                this.count += this.delta;
                this.percent++;
                this.dataQueue.Enqueue(new OnSimulatorProgress(this.count, this.percent));
            }
            return true;
        }