| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- // 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
- }
|