1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-12-22 10:08:15 -05:00

protobuf for network list

This commit is contained in:
Darien Raymond 2016-09-22 12:14:50 +02:00
parent dc6b7e2e75
commit 88ae8248a5
No known key found for this signature in database
GPG Key ID: 7251FFA14BB18169
5 changed files with 34 additions and 17 deletions

View File

@ -14,6 +14,7 @@ It is generated from these files:
It has these top-level messages: It has these top-level messages:
AddressPB AddressPB
DestinationPB DestinationPB
NetworkList
PortRange PortRange
*/ */
package net package net

View File

@ -25,8 +25,9 @@ func ParseNetwork(nwStr string) Network {
} }
func (this Network) AsList() *NetworkList { func (this Network) AsList() *NetworkList {
list := NetworkList([]Network{this}) return &NetworkList{
return &list Network: []Network{this},
}
} }
func (this Network) SystemString() string { func (this Network) SystemString() string {
@ -55,21 +56,20 @@ func (this Network) UrlPrefix() string {
} }
} }
// NetworkList is a list of Networks.
type NetworkList []Network
// NewNetworkList construsts a NetWorklist from the given StringListeralList. // NewNetworkList construsts a NetWorklist from the given StringListeralList.
func NewNetworkList(networks collect.StringList) NetworkList { func NewNetworkList(networks collect.StringList) *NetworkList {
list := NetworkList(make([]Network, networks.Len())) list := &NetworkList{
Network: make([]Network, networks.Len()),
}
for idx, network := range networks { for idx, network := range networks {
list[idx] = ParseNetwork(network) list.Network[idx] = ParseNetwork(network)
} }
return list return list
} }
// HashNetwork returns true if the given network is in this NetworkList. // HashNetwork returns true if the given network is in this NetworkList.
func (this *NetworkList) HasNetwork(network Network) bool { func (this *NetworkList) HasNetwork(network Network) bool {
for _, value := range *this { for _, value := range this.Network {
if string(value) == string(network) { if string(value) == string(network) {
return true return true
} }

View File

@ -46,22 +46,34 @@ func (x Network) String() string {
} }
func (Network) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{0} } func (Network) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
type NetworkList struct {
Network []Network `protobuf:"varint,1,rep,packed,name=network,enum=com.v2ray.core.common.net.Network" json:"network,omitempty"`
}
func (m *NetworkList) Reset() { *m = NetworkList{} }
func (m *NetworkList) String() string { return proto.CompactTextString(m) }
func (*NetworkList) ProtoMessage() {}
func (*NetworkList) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
func init() { func init() {
proto.RegisterType((*NetworkList)(nil), "com.v2ray.core.common.net.NetworkList")
proto.RegisterEnum("com.v2ray.core.common.net.Network", Network_name, Network_value) proto.RegisterEnum("com.v2ray.core.common.net.Network", Network_name, Network_value)
} }
func init() { proto.RegisterFile("v2ray.com/core/common/net/network.proto", fileDescriptor2) } func init() { proto.RegisterFile("v2ray.com/core/common/net/network.proto", fileDescriptor2) }
var fileDescriptor2 = []byte{ var fileDescriptor2 = []byte{
// 159 bytes of a gzipped FileDescriptorProto // 192 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0x52, 0x2f, 0x33, 0x2a, 0x4a, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0x52, 0x2f, 0x33, 0x2a, 0x4a,
0xac, 0xd4, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xce, 0x2f, 0x4a, 0xd5, 0x4f, 0xce, 0xcf, 0xcd, 0xcd, 0xac, 0xd4, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xce, 0x2f, 0x4a, 0xd5, 0x4f, 0xce, 0xcf, 0xcd, 0xcd,
0xcf, 0xd3, 0xcf, 0x4b, 0x2d, 0x01, 0xe1, 0xf2, 0xfc, 0xa2, 0x6c, 0xbd, 0x82, 0xa2, 0xfc, 0x92, 0xcf, 0xd3, 0xcf, 0x4b, 0x2d, 0x01, 0xe1, 0xf2, 0xfc, 0xa2, 0x6c, 0xbd, 0x82, 0xa2, 0xfc, 0x92,
0x7c, 0x21, 0xc9, 0xe4, 0xfc, 0x5c, 0x3d, 0x98, 0xe2, 0xa2, 0x54, 0x3d, 0x88, 0x42, 0xbd, 0xbc, 0x7c, 0x21, 0xc9, 0xe4, 0xfc, 0x5c, 0x3d, 0x98, 0xe2, 0xa2, 0x54, 0x3d, 0x88, 0x42, 0xbd, 0xbc,
0xd4, 0x12, 0x2d, 0x1f, 0x2e, 0x76, 0x3f, 0x88, 0x5a, 0x21, 0x6e, 0x2e, 0xf6, 0xd0, 0xbc, 0xec, 0xd4, 0x12, 0x25, 0x6f, 0x2e, 0x6e, 0x3f, 0x88, 0x5a, 0x9f, 0xcc, 0xe2, 0x12, 0x21, 0x1b, 0x2e,
0xbc, 0xfc, 0xf2, 0x3c, 0x01, 0x06, 0x21, 0x2e, 0x2e, 0xb6, 0xa0, 0xc4, 0xf2, 0x10, 0xe7, 0x00, 0x76, 0xa8, 0x56, 0x09, 0x46, 0x05, 0x66, 0x0d, 0x3e, 0x23, 0x25, 0x3d, 0x9c, 0x7a, 0xf5, 0xa0,
0x01, 0x46, 0x21, 0x76, 0x2e, 0x66, 0x10, 0x83, 0x09, 0xc4, 0x08, 0x75, 0x09, 0x10, 0x60, 0x06, 0x1a, 0x83, 0x60, 0x5a, 0xb4, 0x7c, 0xb8, 0xd8, 0xa1, 0x62, 0x42, 0xdc, 0x5c, 0xec, 0xa1, 0x79,
0x31, 0xbc, 0x9d, 0x03, 0x04, 0x58, 0x84, 0x78, 0xb9, 0x38, 0xc3, 0x53, 0x93, 0x82, 0xf3, 0x93, 0xd9, 0x79, 0xf9, 0xe5, 0x79, 0x02, 0x0c, 0x42, 0x5c, 0x5c, 0x6c, 0x41, 0x89, 0xe5, 0x21, 0xce,
0xb3, 0x53, 0x4b, 0x04, 0x58, 0x9d, 0x58, 0xa3, 0x98, 0xf3, 0x52, 0x4b, 0x92, 0xd8, 0xc0, 0xd6, 0x01, 0x02, 0x8c, 0x42, 0xec, 0x5c, 0xcc, 0x20, 0x06, 0x13, 0x88, 0x11, 0xea, 0x12, 0x20, 0xc0,
0x1a, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0x83, 0xa9, 0x75, 0xb3, 0xa1, 0x00, 0x00, 0x00, 0x0c, 0x62, 0x78, 0x3b, 0x07, 0x08, 0xb0, 0x08, 0xf1, 0x72, 0x71, 0x86, 0xa7, 0x26, 0x05, 0xe7,
0x27, 0x67, 0xa7, 0x96, 0x08, 0xb0, 0x3a, 0xb1, 0x46, 0x31, 0xe7, 0xa5, 0x96, 0x24, 0xb1, 0x81,
0xfd, 0x60, 0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0x8e, 0x1a, 0x8a, 0xb3, 0xee, 0x00, 0x00, 0x00,
} }

View File

@ -11,3 +11,7 @@ enum Network {
KCP = 4; KCP = 4;
WebSocket = 5; WebSocket = 5;
} }
message NetworkList {
repeated Network network = 1;
}

View File

@ -13,6 +13,6 @@ func (this *NetworkList) UnmarshalJSON(data []byte) error {
if err := json.Unmarshal(data, &strlist); err != nil { if err := json.Unmarshal(data, &strlist); err != nil {
return err return err
} }
*this = NewNetworkList(strlist) *this = *NewNetworkList(strlist)
return nil return nil
} }