protected override void OnTimedEvent(object source, ElapsedEventArgs e) { if (BaiDuMapManager.inst.RunMode == "ONLINE") { int version = 0; if (CacheVersionProvider.arrangedVersion == 0) { BaiDuMapManager.inst.cp.initVersionFormWeb(); } else { try { version = Convert.ToInt32(BaiDuMapManager.inst.cp.getCurrentVersion()); } catch (Exception f) { version = 16000; } } if (version > 0) { if (version > CacheVersionProvider.arrangedVersion) { long start = BaiDuMapManager.inst.ConvertDateTimeLong(DateTime.Now); CacheVersionProvider.MBVersion newOne = buildVersionInfo(version, start, start + 300 * 60000); BaiDuMapManager.inst.cp.RecordDownloadRecord(newOne, "BYTIME"); int currentVerison = CacheVersionProvider.arrangedVersion; int endVerison = version - 1; while (currentVerison != endVerison + 1) { newOne = buildVersionInfo(currentVerison, 100, 200); BaiDuMapManager.inst.cp.RecordDownloadRecord(newOne, "BYROUND"); currentVerison = currentVerison + 1; } CacheVersionProvider.arrangedVersion = version + 1; } else if (version == CacheVersionProvider.arrangedVersion) { long start = BaiDuMapManager.inst.ConvertDateTimeLong(DateTime.Now); CacheVersionProvider.MBVersion newOne = buildVersionInfo(version, start, start + 300 * 60000); BaiDuMapManager.inst.cp.RecordDownloadRecord(newOne, "BYTIME"); CacheVersionProvider.arrangedVersion = CacheVersionProvider.arrangedVersion + 1; } else if (version < CacheVersionProvider.arrangedVersion - 1) { BaiDuMapManager.inst.cp.resetVersions(); OnTimedEvent(null, null); } } } }
private CacheVersionProvider.MBVersion buildVersionInfo(int version, long start, long end) { CacheVersionProvider.MBVersion result = new CacheVersionProvider.MBVersion() { version = version, start = start, end = end, name = "proxy-non", threadCount = 0, status = "", timeSpan = 1, completeCount = 1, totalCount = 1, receivedBytes = 1, wroteBytes = 1, networkSpeed = 1, wroteCounts = 1 }; return(result); }