Token Bucket Algorithm - Designing a Rate Limiter | OneNoughtOne