Develop & Design a custom rate limiter for the project using the following algorithms and make it configurable to user's specification. rate-limiter:
Algorithm
The token bucket algorithm can be conceptually understood as follows:
A token is added to the bucket every {\displaystyle 1/r}1/r seconds.
The bucket can hold at the most {\displaystyle b}b tokens. If a token arrives when the bucket is full, it is discarded.
When a packet (network layer PDU) of n bytes arrives,
* if at least n tokens are in the bucket, n tokens are removed from the bucket, and the packet is sent to the network.
* if fewer than n tokens are available, no tokens are removed from the bucket, and the packet is considered to be non-conformant.