Lean  $LEAN_TAG$
QuantConnect.Util.RateLimit Namespace Reference

Classes

class  BusyWaitSleepStrategy
 Provides a CPU intensive means of waiting for more tokens to be available in ITokenBucket. This strategy is only viable when the requested number of tokens is expected to become available in an extremely short period of time. This implementation aims to keep the current thread executing to prevent potential content switches arising from a thread yielding or sleeping strategy. More...
 
class  FixedIntervalRefillStrategy
 Provides a refill strategy that has a constant, quantized refill rate. For example, after 1 minute passes add 5 units. If 59 seconds has passed, it will add zero unit, but if 2 minutes have passed, then 10 units would be added. More...
 
interface  IRefillStrategy
 Provides a strategy for making tokens available for consumption in the ITokenBucket More...
 
interface  ISleepStrategy
 Defines a strategy for sleeping the current thread of execution. This is currently used via the ITokenBucket.Consume in order to wait for new tokens to become available for consumption. More...
 
interface  ITokenBucket
 Defines a token bucket for rate limiting See: https://en.wikipedia.org/wiki/Token_bucket More...
 
class  LeakyBucket
 Provides an implementation of ITokenBucket that implements the leaky bucket algorithm See: https://en.wikipedia.org/wiki/Leaky_bucket More...
 
class  ThreadSleepStrategy
 Provides a CPU non-intensive means of waiting for more tokens to be available in ITokenBucket. This strategy should be the most commonly used as it either sleeps or yields the currently executing thread, allowing for other threads to execute while the current thread is blocked and waiting for new tokens to become available in the bucket for consumption. More...
 
class  TokenBucket
 Provides extension methods for interacting with ITokenBucket instances as well as access to the NullTokenBucket via TokenBucket.Null More...