/// <summary> /// 初始化下载任务的新实例。 /// </summary> public DownloadTask() { m_Status = DownloadTaskStatus.Todo; m_DownloadPath = null; m_DownloadUri = null; m_FlushSize = 0; m_Timeout = 0f; }
/// <summary> /// 清理下载任务。 /// </summary> public override void Clear() { base.Clear(); m_Status = DownloadTaskStatus.Todo; m_DownloadPath = null; m_DownloadUri = null; m_FlushSize = 0; m_Timeout = 0f; }
public DownloadTaskInfo(String md5, String url, String localPath, DownloadTaskStatus status, Int64 totalSize, Int64 finishedSize) { this.md5 = md5; this.url = url; this.localPath = localPath; this.status = status; this.totalSize = totalSize; this.finishedSize = finishedSize; }
/// <summary> /// 初始化下载任务的新实例。 /// </summary> /// <param name="downloadPath">下载后存放路径。</param> /// <param name="downloadUri">原始下载地址。</param> /// <param name="flushSize">将缓冲区写入磁盘的临界大小。</param> /// <param name="timeout">下载超时时长,以秒为单位。</param> /// <param name="userData">用户自定义数据。</param> public DownloadTask(string downloadPath, string downloadUri, int flushSize, float timeout, object userData) { m_SerialId = s_Serial++; m_Done = false; m_Status = DownloadTaskStatus.Todo; m_DownloadPath = downloadPath; m_DownloadUri = downloadUri; m_FlushSize = flushSize; m_Timeout = timeout; m_UserData = userData; }
/// <summary> /// 初始化下载任务的新实例。 /// </summary> public DownloadTask() { m_SerialId = 0; m_Priority = 0; m_Done = false; m_Status = DownloadTaskStatus.Todo; m_DownloadPath = null; m_DownloadUri = null; m_FlushSize = 0; m_Timeout = 0f; m_UserData = null; }
/// <summary> /// Instantiates a new instance of the DownloadTask class /// </summary> /// <param name="url">The url to the file to download.</param> /// <exception cref="System.ArgumentException">An invalid HTTP url was passed into the constructor.</exception> public DownloadTask(string url) { Uri u = new Uri(url); if (!u.IsAbsoluteUri && !(u.Scheme == "http")) // validate url { throw new ArgumentException("Only downloads over HTTP are supported.", "url"); } BufferSize = DefaultBufferSize; downloadWatch = new Stopwatch(); _url = url; _status = DownloadTaskStatus.NotStarted; _deleteWhenCanceled = true; // notify change in elapsed time every second (timer started when download starts) elapsedTimer = new System.Timers.Timer(1000); elapsedTimer.Elapsed += (s, args) => { RaisePropertyChanged("Elapsed"); }; }
public static Boolean HasError(this DownloadTaskStatus status) { return(status == DownloadTaskStatus.Failed); }
public static Boolean CanPause(this DownloadTaskStatus status) { return(status == DownloadTaskStatus.Waiting || status == DownloadTaskStatus.Downloading); }
public static Boolean CanStart(this DownloadTaskStatus status) { return(status == DownloadTaskStatus.Paused || status == DownloadTaskStatus.Failed); }
public DownloadTask(string downloadPath, string downloadUri, int flushSize, float timeout) { m_SerialId = s_Serial++; m_Done = false; m_Status = DownloadTaskStatus.Todo; }
/// <summary> /// Instantiates a new instance of the DownloadTask.StatusChangedEventArgs class. /// </summary> /// <param name="status">Download state.</param> public StatusChangedEventArgs(DownloadTaskStatus status) { Status = status; }