All Projects → Husseinhj → RateLimiting.NET

Husseinhj / RateLimiting.NET

Licence: other
Rate Limiting (debounce, throttle) for C# Portable Class Library

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to RateLimiting.NET

Node Rate Limiter Flexible
Node.js rate limit requests by key with atomic increments in single process or distributed environment.
Stars: ✭ 1,950 (+9650%)
Mutual labels:  rate-limiting, throttle
rush
rush.readthedocs.io/en/latest/
Stars: ✭ 42 (+110%)
Mutual labels:  rate-limiting, throttle
adaptive throttler
manages multiple throttlers with ability to ramp up and down
Stars: ✭ 31 (+55%)
Mutual labels:  rate-limiting, throttle
together
Group things together!
Stars: ✭ 35 (+75%)
Mutual labels:  throttle, debounce
anim-event
Event Manager for Animation
Stars: ✭ 25 (+25%)
Mutual labels:  throttle, debounce
DebounceMonitoring
📑 Add debounce logic for any method in a single line.
Stars: ✭ 44 (+120%)
Mutual labels:  throttle, debounce
patronum
☄️ Effector operators library delivering modularity and convenience ✨
Stars: ✭ 244 (+1120%)
Mutual labels:  debounce
MyDemos
💾 Demo 集合 . 黑发不知勤学早,白首方悔读书迟.
Stars: ✭ 64 (+220%)
Mutual labels:  throttle
p-ratelimit
Promise-based utility to make sure you don’t call rate-limited APIs too quickly.
Stars: ✭ 49 (+145%)
Mutual labels:  rate-limiting
flaps
🛬 Modular rate limiting for PHP.
Stars: ✭ 64 (+220%)
Mutual labels:  rate-limiting
PointCloudSegmentation
The research project based on Semantic KITTTI dataset, 3d Point Cloud Segmentation , Obstacle Detection
Stars: ✭ 62 (+210%)
Mutual labels:  pcl-library
resque-waiting-room
Resque plugin that throttles your jobs
Stars: ✭ 34 (+70%)
Mutual labels:  rate-limiting
flood-protection
Flood protection for realtime applications
Stars: ✭ 19 (-5%)
Mutual labels:  rate-limiting
phalcon-throttler
Phalcon Throttler is a Rate Limiter for the PHP Phalcon Framework.
Stars: ✭ 19 (-5%)
Mutual labels:  rate-limiting
PointCloudRegistrationTool
Automatically registers (aligns) and visualizes point clouds, or processes a whole bunch at once
Stars: ✭ 82 (+310%)
Mutual labels:  pcl-library
stream-throttle
Rust Stream combinator, to limit the rate at which items are produced
Stars: ✭ 19 (-5%)
Mutual labels:  throttle
asyncio-throttle
Simple, easy-to-use throttler for asyncio.
Stars: ✭ 95 (+375%)
Mutual labels:  throttle
db wlan manager
Monitors your Wifi to keep you logged in and resets your Wifi, if your data is drained
Stars: ✭ 23 (+15%)
Mutual labels:  rate-limiting
EnumerableAsyncProcessor
Process Multiple Asynchronous Tasks in Various Ways - One at a time / Batched / Rate limited / Concurrently
Stars: ✭ 84 (+320%)
Mutual labels:  rate-limiting
laravel-alert-notifications
Send alert to email, microsoft teams from laravel app, when an exception occurs. Throttle is enabled by default.
Stars: ✭ 22 (+10%)
Mutual labels:  throttle

RateLimiting.NET Build Status Nuget version downloads

This library help you use Throttle and Debounce in your .NET projects. For see what is rate limiting you can run sample app or watch online sample.

This library is Extension on object type which can use for any type.

Read the article about rate-limiting in medium.

Nuget

This available on Nuget Packge Manager

PM> Install-Package RateLimiting

Debounce method

This method give last object when interval argument was fire time tick. For example: You have 20 item received less than 200 milisecond so debounceAction invoked after 20th item received and wait for another item for 200 milisecond.

private void OnPointerMoved(object sender, PointerRoutedEventArgs pointerRoutedEventArgs)
{
	pointerRoutedEventArgs.Pointer.Debounce(interval: 200, debounceAction: delegate(object o)
	{
		//Do any thing here you want in background

		//For use UI code use ---> await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { });
	});
}

Throttle method

This method give last object when interval argument was fire time tick. For example: You have 20 item received and 3 of them become after 200 milisecond, So throttleAction invoked when timer fired tick after 200 miliescond and get 3 item and invoked throttleAction callback.

private void OnPointerMoved(object sender, PointerRoutedEventArgs pointerRoutedEventArgs)
{
	pointerRoutedEventArgs.Pointer.Throttle(interval: 200, throttleAction: delegate(object o)
	{
	    //Do any thing here you want in background

	    //For use UI code use ---> await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { });
    	});
}

Example screenshot

Rate Limiting example screenshot

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].