Skip to main content

Farfetch.LoadShedding assembly

Farfetch.LoadShedding namespace​

public typedescription
interface IEvent<TArg>Represents an Event to be subscribed.

Farfetch.LoadShedding.Builders namespace​

public typedescription
class AdaptativeLimiterBuilderA Builder to configure an Adaptative Concurrency Limiter.

Farfetch.LoadShedding.Calculators namespace​

public typedescription
interface ILimitCalculatorRepresents an interface that is responsible for the abstraction of different types of limit calculators.
interface IQueueSizeCalculatorRepresents an interface that is responsible for the abstraction of different types of queue size calculators.

Farfetch.LoadShedding.Configurations namespace​

public typedescription
class ConcurrencyOptionsSettings to configure the Adaptative Limiter.
interface IConcurrencyContextRepresents the concurrency context contract.

Farfetch.LoadShedding.Events namespace​

public typedescription
interface IEventSubscriptionRepresents a reference to the event subscription.
interface ILoadSheddingEventsLoad Shedding events.

Farfetch.LoadShedding.Events.Args namespace​

public typedescription
class ItemDequeuedEventArgsEvent args for the task dequeued event.
class ItemEnqueuedEventArgsEvent args for the task enqueued event.
class ItemEventArgsEvent args for task rejected event.
class ItemProcessedEventArgsEvent args for task processed event.
class ItemProcessingEventArgsEvent args for task procssing event.
class ItemRejectedEventArgsEvent args for task rejected event.
class LimitChangedEventArgsEvents args for limits changed event.

Farfetch.LoadShedding.Exceptions namespace​

public typedescription
class InvalidConfigurationExceptionRepresents an exception where some configuration is invalid.
class LimitReachedExceptionRepresents an exception where a maximum limit defined was reached.
class QueueLimitReachedExceptionRepresents an exception where the queue limit defined was reached.
class QueueTimeoutExceptionRepresents an exception where the queue timeout defined was reached.

Farfetch.LoadShedding.Limiters namespace​

public typedescription
interface IAdaptativeConcurrencyLimiterDefines the contract that the limiters should follow.

Farfetch.LoadShedding.Tasks namespace​

public typedescription
enum PriorityTask priorities.
static class PriorityExtensionsExtension methods of Priority