| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 | 
							- package constant
 
- import (
 
- 	"github.com/sagernet/sing/common"
 
- 	F "github.com/sagernet/sing/common/format"
 
- )
 
- type InterfaceType uint8
 
- const (
 
- 	InterfaceTypeWIFI InterfaceType = iota
 
- 	InterfaceTypeCellular
 
- 	InterfaceTypeEthernet
 
- 	InterfaceTypeOther
 
- )
 
- var (
 
- 	interfaceTypeToString = map[InterfaceType]string{
 
- 		InterfaceTypeWIFI:     "wifi",
 
- 		InterfaceTypeCellular: "cellular",
 
- 		InterfaceTypeEthernet: "ethernet",
 
- 		InterfaceTypeOther:    "other",
 
- 	}
 
- 	StringToInterfaceType = common.ReverseMap(interfaceTypeToString)
 
- )
 
- func (t InterfaceType) String() string {
 
- 	name, loaded := interfaceTypeToString[t]
 
- 	if !loaded {
 
- 		return F.ToString(int(t))
 
- 	}
 
- 	return name
 
- }
 
- type NetworkStrategy uint8
 
- const (
 
- 	NetworkStrategyDefault NetworkStrategy = iota
 
- 	NetworkStrategyFallback
 
- 	NetworkStrategyHybrid
 
- )
 
- var (
 
- 	networkStrategyToString = map[NetworkStrategy]string{
 
- 		NetworkStrategyDefault:  "default",
 
- 		NetworkStrategyFallback: "fallback",
 
- 		NetworkStrategyHybrid:   "hybrid",
 
- 	}
 
- 	StringToNetworkStrategy = common.ReverseMap(networkStrategyToString)
 
- )
 
- func (s NetworkStrategy) String() string {
 
- 	name, loaded := networkStrategyToString[s]
 
- 	if !loaded {
 
- 		return F.ToString(int(s))
 
- 	}
 
- 	return name
 
- }
 
 
  |