[test] rule providers
This commit is contained in:
@ -1,6 +1,9 @@
|
||||
package provider
|
||||
|
||||
import "C"
|
||||
import (
|
||||
"errors"
|
||||
"github.com/Dreamacro/clash/component/trie"
|
||||
"github.com/Dreamacro/clash/constant"
|
||||
)
|
||||
|
||||
@ -103,3 +106,26 @@ type RuleProvider interface {
|
||||
ShouldResolveIP() bool
|
||||
AsRule(adaptor string) constant.Rule
|
||||
}
|
||||
|
||||
var (
|
||||
parse = func(ruleType, rule string, params []string) (C.Rule, error) {
|
||||
return nil, errors.New("unimplemented function")
|
||||
}
|
||||
|
||||
ruleProviders = map[string]*RuleProvider{}
|
||||
)
|
||||
|
||||
func RuleProviders() map[string]*RuleProvider {
|
||||
return ruleProviders
|
||||
}
|
||||
|
||||
type ruleSetProvider struct {
|
||||
count int
|
||||
DomainRules *trie.DomainTrie
|
||||
IPCIDRRules *trie.IpCidrTrie
|
||||
ClassicalRules []C.Rule
|
||||
}
|
||||
|
||||
type RuleSetProvider struct {
|
||||
*ruleSetProvider
|
||||
}
|
||||
|
@ -12,6 +12,7 @@ const (
|
||||
SrcPort
|
||||
DstPort
|
||||
Process
|
||||
RuleSet
|
||||
Script
|
||||
MATCH
|
||||
)
|
||||
@ -40,6 +41,8 @@ func (rt RuleType) String() string {
|
||||
return "DstPort"
|
||||
case Process:
|
||||
return "Process"
|
||||
case RuleSet:
|
||||
return "RuleSet"
|
||||
case Script:
|
||||
return "Script"
|
||||
case MATCH:
|
||||
|
Reference in New Issue
Block a user