/// <summary> /// Marks a job as complete, requires the completed article. /// </summary> /// <param name="job">Job to complete</param> /// <param name="article">Article of the completed job</param> public void Complete(Job job, Article article) { job.Status = JobStatus.Complete; job.Filename = article.Filename; job.CacheLocation = article.Store(CacheDirectory.FullName); job.ByteOffset = article.Start; if(FileDownloaded(job.FileID) && !assembled[job.FileID]) { lock(padLock) { if(FileDownloaded(job.FileID) && !assembled[job.FileID]) { AssembleFile(job.FileID); } } } }
/// <summary> /// Marks a job as failed /// </summary> /// <param name="job"></param> public void Fail(Job job) { job.Status = JobStatus.Failed; }