// Code generated by excel export. DO NOT EDIT. package data var RateLimiter = &rateLimiterConfig{} func init() { _allList = append(_allList, RateLimiter) } type ( RateLimiterRow struct { RateID string `json:"RateID"` // ID Enable bool `json:"Enable"` // 是否启用 Interval int64 `json:"Interval"` // 限速周期 Capacity int64 `json:"Capacity"` // 桶容量 Quantum int64 `json:"Quantum"` // 增量 CleanTickerInterval int64 `json:"CleanTickerInterval"` // 定时器清理周期 CleanBeforeMinute int64 `json:"CleanBeforeMinute"` // 桶清理周期 ErrorCode int32 `json:"ErrorCode"` // 状态码 } rateLimiterConfig struct { baseConfig list []*RateLimiterRow // all list rateIDUniMaps map[string]*RateLimiterRow // key:rateID } ) func (p *rateLimiterConfig) Name() string { return "rate_limiter" } func (p *rateLimiterConfig) Init() { p.rateIDUniMaps = map[string]*RateLimiterRow{} } func (p *rateLimiterConfig) OnLoad(maps interface{}, reload bool) (int, error) { if reload && p.denyLoad { return 0, nil } var list []*RateLimiterRow if err := DecodeData(maps, &list); err != nil { return 0, err } p.list = list rateIDUniMaps := map[string]*RateLimiterRow{} for _, row := range list { rateIDUniMaps[row.RateID] = row } p.rateIDUniMaps = rateIDUniMaps return len(list), nil } // func (p *rateLimiterConfig) OnAfterLoad(_ bool) { // } func (p *rateLimiterConfig) List() []*RateLimiterRow { return p.list } func (p *rateLimiterConfig) GetByRateID(rateID string) (*RateLimiterRow, bool) { value, found := p.rateIDUniMaps[rateID] return value, found } func (p *rateLimiterConfig) ContainRateID(rateID string) bool { _, found := p.rateIDUniMaps[rateID] return found }