Ejemplo n.º 1
0
        public void LazyGuyTest()
        {
            var str = "";

            void task()
            {
                str += ".";
            }

            var adam = new VgcApis.Libs.Sys.LazyGuy(task, 100);

            adam.DoItNow();
            Assert.AreEqual(".", str);

            str = "";
            adam.DoItLater();
            adam.ForgetIt();
            Assert.AreEqual("", str);

#if DEBUG
            str = "";
            adam.DoItLater();
            adam.DoItLater();
            adam.DoItLater();
            Thread.Sleep(1000);
            Assert.AreEqual(".", str);

            str = "";
            adam.DoItLater();
            Thread.Sleep(300);
            Assert.AreEqual(".", str);
#endif
        }
Ejemplo n.º 2
0
        void UpdateHistoryStatsDataWorker()
        {
            lock (updateHistoryStatsDataLocker)
            {
                isUpdating = true;
                var newDatas = vgcServers
                               .GetAllServersList()
                               .Where(s => s.IsCoreRunning())
                               .OrderBy(s => s.GetIndex())
                               .Select(s => GetterCoreInfo(s))
                               .ToList();

                ClearStatsDataOnDemand();

                var historyDatas = userSettins.statsData;
                ResetCurSpeed(historyDatas);

                foreach (var d in newDatas)
                {
                    var uid = d.uid;
                    if (!historyDatas.ContainsKey(uid))
                    {
                        historyDatas[uid] = d;
                        continue;
                    }
                    MergeNewDataIntoHistoryData(historyDatas, d, uid);
                }

                bookKeeper.DoItLater();
                isUpdating = false;
            }
        }
Ejemplo n.º 3
0
 public void SaveSettings()
 {
     bookKeeper.DoItLater();
 }