Beispiel #1
0
            private IList <double> GetList(RtcStatsValueName valueName)
            {
                IList <double> list;

                if (Data.ContainsKey(valueName))
                {
                    list = Data[valueName];
                }
                else
                {
                    lock (_thisLock)
                    {
                        if (Data.ContainsKey(valueName))
                        {
                            list = Data[valueName];
                        }
                        else
                        {
                            list = new List <double>();
                            Data.Add(valueName, list);
                            LastValues.Add(valueName, 0);
                        }
                    }
                }
                return(list);
            }
Beispiel #2
0
            public void AddAverage(RtcStatsValueName valueName, double value, bool calculateDifference = true)
            {
                IList <double> list      = GetList(valueName);
                double         lastValue = list.Count > 0 ? list.Last() : value;

                double input = value;

                if (calculateDifference)
                {
                    input = value - LastValues[valueName];
                    LastValues[valueName] = value;
                }

                lastValue = lastValue * (1.0 - _reactionPercentage) + input * _reactionPercentage;
                list.Add(lastValue);
            }
Beispiel #3
0
            public void AddData(RtcStatsValueName valueName, double value)
            {
                IList <double> list = GetList(valueName);

                list.Add(value);
            }