diff --git a/src/NServiceBus.RateLimiter/NServiceBus.RateLimiter.csproj b/src/NServiceBus.RateLimiter/NServiceBus.RateLimiter.csproj index 9c2b4f4..e39a805 100644 --- a/src/NServiceBus.RateLimiter/NServiceBus.RateLimiter.csproj +++ b/src/NServiceBus.RateLimiter/NServiceBus.RateLimiter.csproj @@ -3,13 +3,13 @@ netstandard2.0 NServiceBus.RateLimiter - 1.0.0 + 1.0.1 ramonsmits Rate Limiting NService Pipeline extension false https://github.com/ramonsmits/NServiceBus.RateLimiter - https://github.com/ramonsmits/NServiceBus.RateLimiter/blob/1.0.0/LICENSE + https://github.com/ramonsmits/NServiceBus.RateLimiter/blob/1.0.1/LICENSE True True https://github.com/ramonsmits/NServiceBus.RateLimiter diff --git a/src/NServiceBus.RateLimiter/Properties.cs b/src/NServiceBus.RateLimiter/Properties.cs index d8d27c8..5707848 100644 --- a/src/NServiceBus.RateLimiter/Properties.cs +++ b/src/NServiceBus.RateLimiter/Properties.cs @@ -4,5 +4,4 @@ class Properties { public TimeSpan Duration; public int Limit; - public int Concurrency; } \ No newline at end of file diff --git a/src/NServiceBus.RateLimiter/RateLimiterConfigurationExtension.cs b/src/NServiceBus.RateLimiter/RateLimiterConfigurationExtension.cs index d3c4e04..877b896 100644 --- a/src/NServiceBus.RateLimiter/RateLimiterConfigurationExtension.cs +++ b/src/NServiceBus.RateLimiter/RateLimiterConfigurationExtension.cs @@ -26,9 +26,8 @@ public static void ApplyRateLimiting(this EndpointConfiguration instance, int li { var properties = new global::Properties { - Duration = TimeSpan.FromSeconds(1), - Limit = limitPerSecond, - Concurrency = concurrency + Duration = TimeSpan.FromSeconds(1.0 / limitPerSecond * concurrency), + Limit = concurrency, }; var settings = instance.GetSettings(); settings.Set(properties); @@ -50,7 +49,6 @@ public static void ApplyRateLimiting(this EndpointConfiguration instance, int li { Duration = duration, Limit = limit, - Concurrency = limit }; var settings = instance.GetSettings(); settings.Set(properties); diff --git a/src/NServiceBus.RateLimiter/RateLimiterFeature.cs b/src/NServiceBus.RateLimiter/RateLimiterFeature.cs index 7872fa4..fd8fd79 100644 --- a/src/NServiceBus.RateLimiter/RateLimiterFeature.cs +++ b/src/NServiceBus.RateLimiter/RateLimiterFeature.cs @@ -7,8 +7,6 @@ protected override void Setup(FeatureConfigurationContext context) { if (!context.Settings.TryGet(out var properties)) return; - var limit = properties.Concurrency; - var duration = TimeSpan.FromSeconds((double)limit / properties.Limit); - context.Pipeline.Register(behavior: new RateLimitBehavior(limit, duration), description: nameof(RateLimitBehavior)); + context.Pipeline.Register(behavior: new RateLimitBehavior(properties.Limit, properties.Duration), description: nameof(RateLimitBehavior)); } } \ No newline at end of file