示例#1
0
        /// <summary>
        /// Добавление данных в конец дампа
        /// </summary>
        /// <param name="CurrentTime"></param>
        /// <param name="value"></param>
        public override void AppendValue(UInt64 CurrentTime, TimeStampInfo value)
        {
            if (value.Count == 0)
            {
                return;
            }

            AbstractTimeStampInfo <T> newValue = valueCovertor.GetAbstractTimeStampInfo(value);

            if (dump.Count >= 1)
            {
                UInt64 lastTime = dump.Keys[dump.Count - 1];
                AbstractTimeStampInfo <T> lastInfo = dump.Values[dump.Count - 1];
                if (lastTime < CurrentTime)
                {
                    using (AbstractValue first_value = value.FirstValue)
                    {
                        if (first_value.Equals(lastInfo.LastValue))
                        {
                            value.Info.Remove(0);
                        }
                        if (value.Count != 0)
                        {
                            dump.Add(CurrentTime, newValue);
                        }
                    }
                }
                else
                {
                    dump.Append(CurrentTime, newValue);
                }
            }
            else
            {
                dump.Append(CurrentTime, newValue);
            }
        }