public DataLoadRequest(string name, IDataTableRequestHash hash, string directory, bool downloadOnly) { this.name = name; this.hash = hash; this.directory = directory; this.downloadOnly = downloadOnly; }
private DataLoadRequest CreateRequest(string name, IDataTableRequestHash hash, string directory, bool downloadOnly = false) { DataLoadRequest req = new DataLoadRequest(name, hash, directory, downloadOnly); req.onVerifyError += delegate(string filehash) { ReportVerifyError(name, filehash); if (reportOnly) { Log.Error(LOG.DATA_TABLE, "VerifyError(report-only): {0}", req.name); return(true); } if (!verifyErroredRequest.Contains(req)) { Log.Error(LOG.DATA_TABLE, "VerifyError(auto-retry): {0}", req.name); cache.Remove(req); verifyErroredRequest.Add(req); } return(false); }; req.onError += delegate(DataTableLoadError error) { Log.Error(LOG.DATA_TABLE, "load error ({1}): {0}", req.name, error.ToString()); erroredRequests.Add(req); cache.Remove(req); if (this.onError != null) { this.onError(error, Retry); } }; req.onComplete += delegate { verifyErroredRequest.Remove(req); }; return(req); }