MCPcopy Create free account
hub / github.com/bricks-cloud/BricksLLM / getCounterTtl

Function getCounterTtl

internal/storage/redis/cache.go:103–120  ·  view source on GitHub ↗
(rateLimitUnit key.TimeUnit)

Source from the content-addressed store, hash-verified

101}
102
103func getCounterTtl(rateLimitUnit key.TimeUnit) (time.Time, error) {
104 now := time.Now().UTC()
105 switch rateLimitUnit {
106 case key.SecondTimeUnit:
107 return now.Truncate(time.Second).Add(time.Second).Add(-time.Millisecond), nil
108 case key.MinuteTimeUnit:
109 return now.Truncate(60 * time.Second).Add(time.Second * 60).Add(-time.Millisecond), nil
110 case key.HourTimeUnit:
111 return now.Truncate(60 * time.Minute).Add(time.Minute * 60).Add(-time.Millisecond), nil
112 case key.DayTimeUnit:
113 return now.Truncate(24 * time.Hour).Add(time.Hour * 24).Add(-time.Millisecond), nil
114 case key.MonthTimeUnit:
115 firstDayOfNextMonth := time.Date(now.Year(), now.Month()+1, 1, 0, 0, 0, 0, time.UTC)
116 return firstDayOfNextMonth.Add(-time.Millisecond), nil
117 }
118
119 return time.Time{}, fmt.Errorf("cannot recognize rate limit time unit %v", rateLimitUnit)
120}
121
122func getCounterTimeStamp(rateLimitUnit key.TimeUnit) (int64, error) {
123 now := time.Now().UTC()

Callers 2

IncrementCounterMethod · 0.85
SetMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected