40
rateLimiterGenFn RequestRateLimiterFn,
41
rateLimiterKeyFn RequestRateLimiterKeyFn[K],
43
>
return &MapRequestRateLimiterImpl[K]{
44
>
rateLimiterGenFn: rateLimiterGenFn,
45
>
rateLimiterKeyFn: rateLimiterKeyFn,
46
>
rateLimiters: make(map[K]*rateLimiterEntry),
47
>
ttlNano: int64(rateLimiterTTL),
48
>
cleanupTicker: time.NewTicker(rateLimiterCleanupInterval),
49
>
}
50
>
}
51
52
func namespaceRequestRateLimiterKeyFn(req Request) string {