示例#1
0
        public void AddStatSample(VgcApis.Models.Datas.StatsSample sample)
        {
            if (sample == null)
            {
                return;
            }

            AddToSampleHistory(sample);

            var up   = sample.statsUplink;
            var down = sample.statsDownlink;

            var changed = false;

            if (up > 0)
            {
                Interlocked.Add(ref coreInfo.totalUplinkInBytes, up);
                changed = true;
            }

            if (down > 0)
            {
                Interlocked.Add(ref coreInfo.totalDownlinkInBytes, down);
                changed = true;
            }

            if (changed)
            {
                GetParent().InvokeEventOnPropertyChange();
            }
        }
示例#2
0
        void AddToHistoryStatsData(
            string uid,
            string title,
            VgcApis.Models.Datas.StatsSample sample)
        {
            if (sample == null)
            {
                return;
            }

            var datas = userSettins.statsData;

            if (datas.ContainsKey(uid))
            {
                datas[uid].totalDown += sample.statsDownlink;
                datas[uid].totalUp   += sample.statsUplink;
                return;
            }
            datas[uid] = new Models.StatsResult
            {
                uid       = uid,
                title     = title,
                totalDown = sample.statsDownlink,
                totalUp   = sample.statsUplink,
            };
        }
示例#3
0
 void AddToSampleHistory(VgcApis.Models.Datas.StatsSample sample)
 {
     lock (samples)
     {
         curSampleIdx++;
         if (samples.Count < sampleSize)
         {
             samples.Add(sample);
         }
         else
         {
             curSampleIdx         %= sampleSize;
             samples[curSampleIdx] = sample;
         }
     }
 }