using System; namespace CryptoExchange.Net.RateLimiting.Interfaces { /// /// Rate limit window tracker /// public interface IWindowTracker { /// /// Time period the limit is for /// TimeSpan TimePeriod { get; } /// /// The limit in the time period /// int Limit { get; } /// /// The current count within the time period /// int Current { get; } /// /// Get the time to wait to fit the weight /// /// /// TimeSpan GetWaitTime(int weight); /// /// Register the weight in this window /// /// Request weight void ApplyWeight(int weight); } }