AngleSharp by AngleSharp

<PackageReference Include="AngleSharp" Version="0.9.8" />

 Download

Represents a download in progress.
using AngleSharp.Dom; using System.Threading; using System.Threading.Tasks; namespace AngleSharp.Network { internal sealed class Download : IDownload, ICancellable<IResponse> { private readonly CancellationTokenSource _cts; private readonly Task<IResponse> _task; private readonly Url _target; private readonly INode _originator; public INode Originator => _originator; public Url Target => _target; public Task<IResponse> Task => _task; public bool IsRunning => _task.Status == TaskStatus.Running; public bool IsCompleted { get { if (_task.Status != TaskStatus.Faulted && _task.Status != TaskStatus.RanToCompletion) return _task.Status == TaskStatus.Canceled; return true; } } public Download(Task<IResponse> task, CancellationTokenSource cts, Url target, INode originator) { _task = task; _cts = cts; _target = target; _originator = originator; } public void Cancel() { _cts.Cancel(); } } }