using System; using System.Linq; using System.Threading; using System.Threading.Tasks; using RateGateAsync; using Sony.Filtr.Contracts.Abstractions; namespace Sony.Filtr.YouTube.Api { public class YouTubeRateLimiter : IRateLimiter { private static readonly RateGate _RateLimiter = new RateGate(10, TimeSpan.FromSeconds(10)); public async Task WaitToProceedAsync() { await _RateLimiter.WaitToProceedAsync(); } public async Task WaitToProceedAsync(TimeSpan timeSpan, CancellationToken cancellationToken) { await _RateLimiter.WaitToProceedAsync(timeSpan, cancellationToken); } } }