in core/hotspot/rule.go [118:130]
func (r *Rule) Equals(newRule *Rule) bool {
baseCheck := r.Resource == newRule.Resource && r.MetricType == newRule.MetricType && r.ControlBehavior == newRule.ControlBehavior && r.ParamsMaxCapacity == newRule.ParamsMaxCapacity && r.ParamIndex == newRule.ParamIndex && r.ParamKey == newRule.ParamKey && r.Threshold == newRule.Threshold && r.DurationInSec == newRule.DurationInSec && reflect.DeepEqual(r.SpecificItems, newRule.SpecificItems)
if !baseCheck {
return false
}
if r.ControlBehavior == Reject {
return r.BurstCount == newRule.BurstCount
} else if r.ControlBehavior == Throttling {
return r.MaxQueueingTimeMs == newRule.MaxQueueingTimeMs
} else {
return false
}
}