Namespace NFX.Throttling
Classes
NOPThrottle
No operation throttle
NOPThrottling
Represents throttling implementation that does nothing and always returns NOPThrottle
SlidingWindowThrottle
Efficiently calculates the throttling rate over a number of seconds. The algorithm implements a variation of token bucket algorithm that doesn't require to add tokens to the bucket on a timer but rather it maintains a cirtular buffer of tokens with resolution of 1/BucketsPerSec. The Add() function is used to add items to a bucket associated with the timestamp passed as the first argument to the function. The Sum() returns the total number of items over the given interval of seconds. The items automatically expire when the time moves on the successive invocations of the Add() method.
Throttle
Base class defining throttle interface
ThrottlingService
A service that maintains throttling components in an application and allows to turn on/off global throttling functionality
TimeSpacingThrottle
Throttle based on space reservation in time. It allows at most Limit calls of Try() function per Interval. The calls are assumed to be equally spaced within the Interval
Interfaces
IThrottle
IThrottling
Defines throttling interface to be implemented by the throttling service
IThrottlingImplementation
Interface implementing configurable and disposable throttling functionaliry