public void SetLazyServerTrackerUpdater(Action onTimeout) { lazyServerTrackerTimer?.Release(); lazyServerTrackerTimer = null; lazyServerTrackerTimer = new Lib.Sys.CancelableTimeout(onTimeout, 2000); lazyServerTrackerTimer.Start(); }
void DoServerTrackingLater(Action onTimeout) { lazyServerTrackingTimer?.Release(); lazyServerTrackingTimer = null; lazyServerTrackingTimer = new Lib.Sys.CancelableTimeout(onTimeout, 2000); lazyServerTrackingTimer.Start(); }
void WakeupLazyProxyUpdater() { if (lazyProxyUpdateTimer == null) { lazyProxyUpdateTimer = new Lib.Sys.CancelableTimeout( LazyProxyUpdater, 2000); } lazyProxyUpdateTimer.Start(); }
void LazyCustomPacFileCacheUpdate() { if (lazyCustomPacFileCacheUpdateTimer == null) { lazyCustomPacFileCacheUpdateTimer = new Lib.Sys.CancelableTimeout( UpdateCustomPacCache, 2000); } lazyCustomPacFileCacheUpdateTimer.Start(); }
void LazyCustomPacFileCacheUpdate() { // this program is getting lazier and lazier. if (lazyCustomPacFileCacheUpdateTimer == null) { lazyCustomPacFileCacheUpdateTimer = new Lib.Sys.CancelableTimeout( UpdateCustomPacCache, 2000); } lazyCustomPacFileCacheUpdateTimer.Start(); }
public void LazyGC() { // Create on demand. if (lazyGCTimer == null) { lazyGCTimer = new Lib.Sys.CancelableTimeout( () => GC.Collect(), 1000 * Lib.Utils.Str2Int(StrConst.LazyGCDelay)); } lazyGCTimer.Start(); }
void LazySaveUserSettings() { if (lazySaveUserSettingsTimer == null) { lazySaveUserSettingsTimer = new Lib.Sys.CancelableTimeout( SaveUserSettingsNow, 1000 * Lib.Utils.Str2Int( StrConst.LazySaveUserSettingsDelay)); } lazySaveUserSettingsTimer.Start(); }
public void LazyStatusBarUpdater() { // create on demand if (lazyStatusBarUpdateTimer == null) { lazyStatusBarUpdateTimer = new Lib.Sys.CancelableTimeout( UpdateStatusBar, 300); } lazyStatusBarUpdateTimer.Start(); }
void LazySaveServerList() { // create on demand if (lazySaveServerListTimer == null) { var delay = Lib.Utils.Str2Int(StrConst.LazySaveServerListDelay); lazySaveServerListTimer = new Lib.Sys.CancelableTimeout( () => setting.SaveServerList(serverList), delay * 1000); } lazySaveServerListTimer.Start(); }
void LazyInvokeOnPacServerStateChange() { // Create on demand. if (lazyStateChangeTimer == null) { lazyStateChangeTimer = new Lib.Sys.CancelableTimeout( () => { try { OnPACServerStateChanged?.Invoke(this, EventArgs.Empty); } catch { } }, 1000); } lazyStateChangeTimer.Start(); }
public void LazySysProxyUpdater(bool isSocks, string ip, int port) { lazySysProxyUpdaterTimer?.Release(); lazySysProxyUpdaterTimer = null; var proxySetting = setting.GetSysProxySetting(); Action setProxy = null; switch (DetectSystemProxyMode(proxySetting)) { case Model.Data.Enum.SystemProxyMode.None: return; case Model.Data.Enum.SystemProxyMode.PAC: // get current pac mode (white list or black list) var p = Lib.Utils.GetProxyParamsFromUrl(proxySetting.autoConfigUrl); if (p == null) { p = new Model.Data.PacUrlParams(); } p.ip = ip; p.port = port; p.isSocks = isSocks; setProxy = () => SetPACProx(p); break; case Model.Data.Enum.SystemProxyMode.Global: // global proxy must be http if (isSocks) { return; } setProxy = () => SetGlobalProxy(ip, port); break; } lazySysProxyUpdaterTimer = new Lib.Sys.CancelableTimeout(setProxy, 1000); lazySysProxyUpdaterTimer.Start(); }
void LazyShowSearchResult() { // create on demand if (lazyShowSearchResultTimer == null) { lazyShowSearchResultTimer = new Lib.Sys.CancelableTimeout( () => { // 如果不RemoveAll会乱序 RemoveAllServersConrol(); // 修改搜索项时应该清除选择,否则会有可显示列表外的选中项 servers.SetAllServerIsSelected(false); RefreshUI(); }, 600); } lazyShowSearchResultTimer.Start(); }