| 123456789101112131415161718192021222324252627282930313233 | 
							- package rules
 
- import (
 
- 	v2net "github.com/v2ray/v2ray-core/common/net"
 
- )
 
- type Rule struct {
 
- 	Tag       string
 
- 	Condition Condition
 
- }
 
- func (this *Rule) Apply(dest v2net.Destination) bool {
 
- 	return this.Condition.Apply(dest)
 
- }
 
- type RouterRuleConfig struct {
 
- 	rules []*Rule
 
- }
 
- func NewRouterRuleConfig() *RouterRuleConfig {
 
- 	return &RouterRuleConfig{
 
- 		rules: make([]*Rule, 0, 16),
 
- 	}
 
- }
 
- func (this *RouterRuleConfig) Add(rule *Rule) *RouterRuleConfig {
 
- 	this.rules = append(this.rules, rule)
 
- 	return this
 
- }
 
- func (this *RouterRuleConfig) Rules() []*Rule {
 
- 	return this.rules
 
- }
 
 
  |