示例#1
0
        // 结束一个下载任务,归还并发数
        public void FinishDownloadTask(DownloadInfo info)
        {
            info.isFinished = true;

            if (info.onComplete != null)
            {
                info.onComplete(info);
            }

            m_DownloadingTasks.Remove(info.fileName);
            --downloadThreads;
        }
示例#2
0
 // 重试下载任务 Warning:只有下载器需要调用这个借口,业务层不要调用
 public void RetryDownload(DownloadInfo info)
 {
     if (info.retry > 0)
     {
         info.retry -= 1;
         pendingDownloads.Enqueue(info);
         m_DownloadingTasks.Remove(info.fileName);
         --downloadThreads;
     }
     else
     {
         FinishDownloadTask(info);
     }
 }
示例#3
0
 void Update()
 {
     if (pendingDownloads.Count > 0)
     {
         int freeThreads = maxDownloads - downloadThreads;
         for (int i = 0; i < freeThreads; ++i)
         {
             if (pendingDownloads.Count > 0)
             {
                 DownloadInfo info = pendingDownloads.Dequeue();
                 StartTask(info);
             }
         }
     }
 }
示例#4
0
 public DownloadingTask(DownloadInfo info)
 {
     this.DownloadInfo = info;
 }
示例#5
0
 public BreakPointDownloader(DownloadInfo info, Dictionary <string, DownloadingTask> tasks)
 {
     this.m_DownloadInfo = info;
     Debug.Log("start breakpoint download:" + this.m_DownloadInfo.tempPath);
 }