wabbajack/Wabbajack.RateLimiter/IResource.cs
2021-09-27 06:42:46 -06:00

19 lines
530 B
C#

using System.Threading;
using System.Threading.Tasks;
namespace Wabbajack.RateLimiter
{
public interface IResource
{
StatusReport StatusReport { get; }
string Name { get; }
}
public interface IResource<T> : IResource
{
public ValueTask<Job<T>> Begin(string jobTitle, long size, CancellationToken token);
ValueTask Report(Job<T> job, int processedSize, CancellationToken token);
void ReportNoWait(Job<T> job, int processedSize);
void Finish(Job<T> job);
}
}