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(); } }
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, }; }
void AddToSampleHistory(VgcApis.Models.Datas.StatsSample sample) { lock (samples) { curSampleIdx++; if (samples.Count < sampleSize) { samples.Add(sample); } else { curSampleIdx %= sampleSize; samples[curSampleIdx] = sample; } } }