Example #1
0
File: TMPlan.cs Project: x2v0/TM
        /// <summary>
        ///   Override Client.ProcessData - to process incoming data from server
        /// </summary>
        /// <param name="data">The data.</param>
        /// <param name="bytesRead">The bytes read.</param>
        public override void ProcessData(BufferChunk data, int bytesRead)
        {
            if ((data == null) ||
                (PlanState != EPlanState.INPROCESS))
            {
                return;
            }

            var len = bytesRead;
            var dt  = (int)SpotResult.Length;

            try {
                while (len >= 0)
                {
                    var spot = (SpotResult)data.NextSpotResult();

                    if (spot.done == 1)
                    {
                        PlanResults.Add(spot);
                    }

                    len -= dt;
                }
            } catch {
                // ignored
            }

            if (PlanResultsProcessed != null)
            {
                PlanResultsProcessed.Invoke(PlanResults);
            }

            base.ProcessData(data, bytesRead);
        }