private static void NotifyFileLoaded(DataManager me, DataManager.DataManagerLoadRequest request, ref bool isLoading) { if (request.Prewarm != null) { if (DebugLog) { Trace("Notified Prewarm: {0}", GetKey(request)); } List <PrewarmRequest> pre = (List <PrewarmRequest>)prewarmRequests.GetValue(me); pre.Remove(request.Prewarm); } if (DebugLog) { Trace("Notified Done: {0}", GetKey(request)); } CheckMechDefDependencies(request); if (LoadingQueue && request.IsComplete()) { foregroundLoading.Remove(request); } if (CheckRequestsComplete()) { if (foreground.Count > 0) { stopwatch.Stop(); Info("Foreground queue ({0}) cleared. {1:n0}ms this queue, {2:n0}ms total.", foreground.Count, stopwatch.ElapsedMilliseconds, totalLoadTime += stopwatch.ElapsedMilliseconds); stopwatch.Reset(); } else if (DebugLog) { Verbo("Empty foreground queue cleared by {0}.", GetKey(request)); } isLoading = false; SaveCache.Invoke(me, null); foreground.Clear(); if (LoadingQueue) { foregroundLoading.Clear(); } depender.Clear(); dependee.Clear(); center.PublishMessage(new DataManagerLoadCompleteMessage()); } }
private static bool IsComplete(DataManager.DataManagerLoadRequest e) { return(e.IsComplete()); }