| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | 
							- package point
 
- import (
 
- 	"github.com/v2ray/v2ray-core/app/dns"
 
- 	"github.com/v2ray/v2ray-core/app/router"
 
- 	"github.com/v2ray/v2ray-core/common/log"
 
- 	v2net "github.com/v2ray/v2ray-core/common/net"
 
- )
 
- type ConnectionConfig interface {
 
- 	Protocol() string
 
- 	Settings() interface{}
 
- }
 
- type LogConfig interface {
 
- 	AccessLog() string
 
- 	ErrorLog() string
 
- 	LogLevel() log.LogLevel
 
- }
 
- type DnsConfig interface {
 
- 	Enabled() bool
 
- 	Settings() dns.CacheConfig
 
- }
 
- const (
 
- 	AllocationStrategyAlways   = "always"
 
- 	AllocationStrategyRandom   = "random"
 
- 	AllocationStrategyExternal = "external"
 
- )
 
- type InboundDetourAllocationConfig interface {
 
- 	Strategy() string // Allocation strategy of this inbound detour.
 
- 	Concurrency() int // Number of handlers (ports) running in parallel.
 
- 	Refresh() int     // Number of seconds before a handler is regenerated.
 
- }
 
- type InboundDetourConfig interface {
 
- 	Protocol() string
 
- 	PortRange() v2net.PortRange
 
- 	Tag() string
 
- 	Allocation() InboundDetourAllocationConfig
 
- 	Settings() interface{}
 
- }
 
- type OutboundDetourConfig interface {
 
- 	Protocol() string
 
- 	Tag() string
 
- 	Settings() interface{}
 
- }
 
- type PointConfig interface {
 
- 	Port() v2net.Port
 
- 	LogConfig() LogConfig
 
- 	RouterConfig() router.Config
 
- 	InboundConfig() ConnectionConfig
 
- 	OutboundConfig() ConnectionConfig
 
- 	InboundDetours() []InboundDetourConfig
 
- 	OutboundDetours() []OutboundDetourConfig
 
- }
 
 
  |