mirror of
https://github.com/wabbajack-tools/wabbajack.git
synced 2024-08-30 18:42:17 +00:00
22 lines
618 B
C#
22 lines
618 B
C#
using System.Collections.Generic;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Wabbajack.RateLimiter;
|
|
|
|
public interface IResource
|
|
{
|
|
StatusReport StatusReport { get; }
|
|
string Name { get; }
|
|
int MaxTasks { get; set; }
|
|
long MaxThroughput { get; set; }
|
|
IEnumerable<IJob> Jobs { 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);
|
|
} |