| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package net
- import (
- "strings"
- "github.com/v2ray/v2ray-core/common/collect"
- )
- const (
- // TCPNetwork represents the TCP network.
- TCPNetwork = Network("tcp")
- // UDPNetwork represents the UDP network.
- UDPNetwork = Network("udp")
- )
- // Network represents a communication network on internet.
- type Network string
- func (this Network) AsList() *NetworkList {
- list := NetworkList([]Network{this})
- return &list
- }
- // NetworkList is a list of Networks.
- type NetworkList []Network
- // NewNetworkList construsts a NetWorklist from the given StringListeralList.
- func NewNetworkList(networks collect.StringList) NetworkList {
- list := NetworkList(make([]Network, networks.Len()))
- for idx, network := range networks {
- list[idx] = Network(strings.ToLower(strings.TrimSpace(network)))
- }
- return list
- }
- // HashNetwork returns true if the given network is in this NetworkList.
- func (this *NetworkList) HasNetwork(network Network) bool {
- for _, value := range *this {
- if string(value) == string(network) {
- return true
- }
- }
- return false
- }
|