Esempio n. 1
0
 public IReadOnlyDictionary <string, double> Format(TimeSpan time)
 {
     return(new ReadOnlyDictionary <string, double>(new Dictionary <string, double>
     {
         { "value", Value },
         { "min", Min.GetValueOrDefault() },
         { "max", Max }
     }));
 }
Esempio n. 2
0
        void CheckMinAndMax()
        {
            if (Max.HasValue &&
                !UnacknowledgedData.ContainsKey(Max.GetValueOrDefault()))
            {
                Max = null;
            }

            if (Min.HasValue &&
                !UnacknowledgedData.ContainsKey(Min.GetValueOrDefault()))
            {
                Min = null;
            }
        }
Esempio n. 3
0
        public void Set(UnacknowledgedData data, int frameIndex)
        {
            UnacknowledgedData [frameIndex] = data;
            if (Max.HasValue)
            {
                Max = Math.Max(Max.GetValueOrDefault(), frameIndex);
            }
            else
            {
                Max = frameIndex;
            }
            if (Min.HasValue)
            {
                Min = Math.Min(Min.GetValueOrDefault(), frameIndex);
            }
            else
            {
                Min = frameIndex;
            }

            CheckMinAndMax();
        }
Esempio n. 4
0
        public void AcknowledgeFrameAndOlder(int frameIndex)
        {
            if (HasError)
            {
                return;
            }

            if (!Min.HasValue)
            {
                return;
            }

            var min = Min.GetValueOrDefault();

            for (var i = frameIndex; i >= min; i--)
            {
                UnacknowledgedData.Remove(i);
            }

            Min = frameIndex + 1;
            CheckMinAndMax();
        }