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
2026-04-30 19:19:19 +07:00
committed by Cuong Manh Le
parent c365051732
commit 9b1f102315
5 changed files with 8 additions and 17 deletions
+3 -7
View File
@@ -53,8 +53,7 @@ func TestMatchingEngine(t *testing.T) {
{
name: "Custom order - domain first",
config: &MatchingConfig{
Order: []RuleType{RuleTypeDomain, RuleTypeNetwork, RuleTypeMac},
StopOnFirstMatch: true,
Order: []RuleType{RuleTypeDomain, RuleTypeNetwork, RuleTypeMac},
},
request: &MatchRequest{
SourceIP: net.ParseIP("192.168.0.1"),
@@ -77,8 +76,7 @@ func TestMatchingEngine(t *testing.T) {
{
name: "Custom order - MAC first",
config: &MatchingConfig{
Order: []RuleType{RuleTypeMac, RuleTypeNetwork, RuleTypeDomain},
StopOnFirstMatch: true,
Order: []RuleType{RuleTypeMac, RuleTypeNetwork, RuleTypeDomain},
},
request: &MatchRequest{
SourceIP: net.ParseIP("192.168.0.1"),
@@ -184,7 +182,6 @@ func TestDefaultMatchingConfig(t *testing.T) {
config := DefaultMatchingConfig()
assert.Equal(t, []RuleType{RuleTypeNetwork, RuleTypeMac, RuleTypeDomain}, config.Order)
assert.True(t, config.StopOnFirstMatch)
}
func TestMatchingEngineWithInvalidRuleType(t *testing.T) {
@@ -201,8 +198,7 @@ func TestMatchingEngineWithInvalidRuleType(t *testing.T) {
}
config := &MatchingConfig{
Order: []RuleType{RuleType("invalid"), RuleTypeNetwork},
StopOnFirstMatch: true,
Order: []RuleType{RuleType("invalid"), RuleTypeNetwork},
}
engine := NewMatchingEngine(config)