示例#1
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,
            };
        }
示例#2
0
        Models.StatsResult GetterCoreInfo(VgcApis.Models.Interfaces.ICoreServCtrl coreCtrl)
        {
            var result = new Models.StatsResult();

            result.title = coreCtrl.GetCoreStates().GetTitle();
            result.uid   = coreCtrl.GetCoreStates().GetUid();

            var curData = coreCtrl.GetCoreCtrl().TakeStatisticsSample();

            if (curData != null)
            {
                result.stamp     = curData.stamp;
                result.totalUp   = curData.statsUplink;
                result.totalDown = curData.statsDownlink;
            }
            return(result);
        }
示例#3
0
        Models.StatsResult GetterCoreInfo(VgcApis.Models.IControllers.ICoreCtrl coreCtrl)
        {
            var result = new Models.StatsResult();

            result.title = coreCtrl.GetTitle();
            result.uid   = coreCtrl.GetUid();

            var curData = coreCtrl.Peek();

            if (curData != null)
            {
                result.stamp     = curData.stamp;
                result.totalUp   = curData.statsUplink;
                result.totalDown = curData.statsDownlink;
            }
            return(result);
        }
示例#4
0
        void MergeNewDataIntoHistoryData(
            Dictionary <string, Models.StatsResult> datas,
            Models.StatsResult statsResult,
            string uid)
        {
            var p = datas[uid];

            var elapse = 1.0 * (statsResult.stamp - p.stamp) / TimeSpan.TicksPerSecond;

            if (elapse <= 1)
            {
                elapse = statsDataUpdateInterval / 1000.0;
            }

            var downSpeed = (statsResult.totalDown / elapse) / 1024.0;
            var upSpeed   = (statsResult.totalUp / elapse) / 1024.0;

            p.curDownSpeed = Math.Max(0, (int)downSpeed);
            p.curUpSpeed   = Math.Max(0, (int)upSpeed);
            p.stamp        = statsResult.stamp;
            p.totalDown    = p.totalDown + statsResult.totalDown;
            p.totalUp      = p.totalUp + statsResult.totalUp;
        }