1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2025-02-20 23:47:21 -05:00
This commit is contained in:
Darien Raymond 2017-02-20 11:25:05 +01:00
parent bf7906c7f0
commit 29d614fda5
No known key found for this signature in database
GPG Key ID: 7251FFA14BB18169
5 changed files with 14 additions and 3 deletions

View File

@ -21,11 +21,17 @@ var (
LocalHostIPv6 = IPAddress([]byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}) LocalHostIPv6 = IPAddress([]byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1})
) )
// AddressFamily is the type of address.
type AddressFamily int type AddressFamily int
const ( const (
AddressFamilyIPv4 = AddressFamily(0) // AddressFamilyIPv4 represents address as IPv4
AddressFamilyIPv6 = AddressFamily(1) AddressFamilyIPv4 = AddressFamily(0)
// AddressFamilyIPv6 represents address as IPv6
AddressFamilyIPv6 = AddressFamily(1)
// AddressFamilyDomain represents address as Domain
AddressFamilyDomain = AddressFamily(2) AddressFamilyDomain = AddressFamily(2)
) )

View File

@ -11,6 +11,7 @@ type Destination struct {
Address Address Address Address
} }
// DestinationFromAddr generates a Destination from a net address.
func DestinationFromAddr(addr net.Addr) Destination { func DestinationFromAddr(addr net.Addr) Destination {
switch addr := addr.(type) { switch addr := addr.(type) {
case *net.TCPAddr: case *net.TCPAddr:
@ -52,6 +53,7 @@ func (v Destination) IsValid() bool {
return v.Network != Network_Unknown return v.Network != Network_Unknown
} }
// AsDestination converts current Enpoint into Destination.
func (v *Endpoint) AsDestination() Destination { func (v *Endpoint) AsDestination() Destination {
return Destination{ return Destination{
Network: v.Network, Network: v.Network,

View File

@ -46,7 +46,7 @@ func (v Network) URLPrefix() string {
} }
} }
// HashNetwork returns true if the given network is in v NetworkList. // HasNetwork returns true if the given network is in v NetworkList.
func (v NetworkList) HasNetwork(network Network) bool { func (v NetworkList) HasNetwork(network Network) bool {
for _, value := range v.Network { for _, value := range v.Network {
if string(value) == string(network) { if string(value) == string(network) {
@ -60,6 +60,7 @@ func (v NetworkList) Get(idx int) Network {
return v.Network[idx] return v.Network[idx]
} }
// Size returns the number of networks in this network list.
func (v NetworkList) Size() int { func (v NetworkList) Size() int {
return len(v.Network) return len(v.Network)
} }

View File

@ -63,6 +63,7 @@ func (v PortRange) Contains(port Port) bool {
return v.FromPort() <= port && port <= v.ToPort() return v.FromPort() <= port && port <= v.ToPort()
} }
// SinglePortRange returns a PortRange contains a single port.
func SinglePortRange(v Port) *PortRange { func SinglePortRange(v Port) *PortRange {
return &PortRange{ return &PortRange{
From: uint32(v), From: uint32(v),

View File

@ -7,6 +7,7 @@ import (
"v2ray.com/core/common/uuid" "v2ray.com/core/common/uuid"
) )
// RequestCommand is a custom command in a proxy request.
type RequestCommand byte type RequestCommand byte
const ( const (