MCPcopy Create free account
hub / github.com/ContentSquare/chproxy / checkTokenFreePacketSizeRateLimiters

Method checkTokenFreePacketSizeRateLimiters

scope.go:277–298  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

275}
276
277func (s *scope) checkTokenFreePacketSizeRateLimiters() error {
278 var err error
279 // reserving tokens num s.requestPacketSize
280 if s.user.reqPacketSizeTokensBurst > 0 {
281 tl := s.user.reqPacketSizeTokenLimiter
282 ok := tl.AllowN(time.Now(), s.requestPacketSize)
283 if !ok {
284 err = fmt.Errorf("limits for user %q is exceeded: request_packet_size_tokens_burst limit: %d",
285 s.user.name, s.user.reqPacketSizeTokensBurst)
286 }
287 }
288 if s.clusterUser.reqPacketSizeTokensBurst > 0 {
289 tl := s.clusterUser.reqPacketSizeTokenLimiter
290 ok := tl.AllowN(time.Now(), s.requestPacketSize)
291 if !ok {
292 err = fmt.Errorf("limits for cluster user %q is exceeded: request_packet_size_tokens_burst limit: %d",
293 s.clusterUser.name, s.clusterUser.reqPacketSizeTokensBurst)
294 }
295 }
296
297 return err
298}
299
300func (s *scope) dec() {
301 // There is no need in ratelimiter.dec here, since the rate limiter

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected