refactor: remove unused StopOnFirstMatch field from MatchingConfig

Remove StopOnFirstMatch field that was defined but never used in the
actual matching logic.

The current implementation always evaluates all rule types and applies
a fixed precedence (Domain > MAC > Network), making the StopOnFirstMatch
field unnecessary.

Changes:
- Remove StopOnFirstMatch from MatchingConfig structs
- Update DefaultMatchingConfig() function
- Update all test cases and references
- Simplify configuration to only include Order field

This cleanup removes dead code and simplifies the configuration API
without changing any functional behavior.
This commit is contained in:
Cuong Manh Le
2025-10-09 19:12:06 +07:00
committed by Cuong Manh Le
parent 4c838f6a5e
commit 92f32ba16e
5 changed files with 8 additions and 17 deletions
+2 -4
View File
@@ -41,15 +41,13 @@ type MatchResult struct {
// MatchingConfig defines the configuration for rule matching behavior
type MatchingConfig struct {
Order []RuleType `json:"order" yaml:"order"`
StopOnFirstMatch bool `json:"stop_on_first_match" yaml:"stop_on_first_match"`
Order []RuleType `json:"order" yaml:"order"`
}
// DefaultMatchingConfig returns the default matching configuration
// This maintains backward compatibility with the current behavior
func DefaultMatchingConfig() *MatchingConfig {
return &MatchingConfig{
Order: []RuleType{RuleTypeNetwork, RuleTypeMac, RuleTypeDomain},
StopOnFirstMatch: true,
Order: []RuleType{RuleTypeNetwork, RuleTypeMac, RuleTypeDomain},
}
}