leaky-bucket-queue
An implementation of leaky bucket on top of rxjs.
Simple rate limiting are usually good enough for most scenario but they might incur unnecessary stuttering when there is attempt to make multiple call to a server API. Leaky bucket provides a burstable solution, providing rate limit while allowing bursty traffic, making application more responsive.
Installation
npm i leaky-bucket-queueUsage
Typescript
import { LeakyBucketQueue } from 'leaky-bucket-queue';
const queue = new LeakyBucketQueue<string>({ burstSize: 5, period: 100 });
queue.consume().subscribe({
next: console.log,
});
queue.enqueue('compter');
...JavaScript
import { LeakyBucketQueue } from 'leaky-bucket-queue';
const queue = new LeakyBucketQueue({ burstSize: 5, period: 100 });
queue.consume().subscribe({
next: console.log,
});
queue.enqueue('explode');
...