Class RequestLimiter

Limits how many times a remote client can access local resources (in a given period of time).

Inheritance
Object
RequestHandlerBuilder
RequestLimiter
Implements
IBuilder.IParameterizedBuilder<IRequestHandler>
IRequestLimiterHandlerConfig
Inherited Members
RequestHandlerBuilder.Parent
RequestHandlerBuilder.WebServiceBuilder
Object.Equals(Object)
Object.Equals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()
Object.ReferenceEquals(Object, Object)
Object.ToString()
Namespace: Solti.Utils.Rpc.Pipeline
Assembly: Solti.Utils.Rpc.Server.dll
Syntax
public class RequestLimiter : RequestHandlerBuilder, IBuilder<IRequestHandler>.IParameterizedBuilder<IRequestHandler>, IRequestLimiterHandlerConfig

Constructors

RequestLimiter(WebServiceBuilder, RequestHandlerBuilder)

Creates a new RequestLimiter instance.

Declaration
public RequestLimiter(WebServiceBuilder webServiceBuilder, RequestHandlerBuilder parent)
Parameters
Type Name Description
WebServiceBuilder webServiceBuilder
RequestHandlerBuilder parent

Methods

Build(IRequestHandler)

Creates a new RequestLimiterHandler instance.

Declaration
public override IRequestHandler Build(IRequestHandler next)
Parameters
Type Name Description
IRequestHandler next
Returns
Type Description
IRequestHandler
Overrides
RequestHandlerBuilder.Build(IRequestHandler)

SetDynamicInterval(Func<TimeSpan>)

Sets a function to be used to get the Interval value.

Declaration
public RequestLimiter SetDynamicInterval(Func<TimeSpan> getter)
Parameters
Type Name Description
Func<TimeSpan> getter
Returns
Type Description
RequestLimiter

SetDynamicThreshold(Func<Int32>)

Sets a function to be used to get the Threshold value.

Declaration
public RequestLimiter SetDynamicThreshold(Func<int> getter)
Parameters
Type Name Description
Func<Int32> getter
Returns
Type Description
RequestLimiter

SetStaticInterval(TimeSpan)

Setsthe Interval value.

Declaration
public RequestLimiter SetStaticInterval(TimeSpan interval)
Parameters
Type Name Description
TimeSpan interval
Returns
Type Description
RequestLimiter

SetStaticThreshold(Int32)

Sets the Threshold value.

Declaration
public RequestLimiter SetStaticThreshold(int threshold)
Parameters
Type Name Description
Int32 threshold
Returns
Type Description
RequestLimiter

Explicit Interface Implementations

IRequestLimiterHandlerConfig.Interval

Declaration
TimeSpan IRequestLimiterHandlerConfig.Interval { get; }
Returns
Type Description
TimeSpan

IRequestLimiterHandlerConfig.Threshold

Declaration
int IRequestLimiterHandlerConfig.Threshold { get; }
Returns
Type Description
Int32

Implements

IBuilder<TBuiltService>.IParameterizedBuilder<TParam>
IRequestLimiterHandlerConfig

Extension Methods

RequestHandlerBuilderExtensions.GetParent<TParent>(RequestHandlerBuilder)
In This Article
Back to top Generated by DocFX