1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-06-26 01:15:38 +00: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:
AddressPB
DestinationPB
NetworkList
PortRange
*/
package net

View File

@ -25,8 +25,9 @@ func ParseNetwork(nwStr string) Network {
}
func (this Network) AsList() *NetworkList {
list := NetworkList([]Network{this})
return &list
return &NetworkList{
Network: []Network{this},
}
}
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.
func NewNetworkList(networks collect.StringList) NetworkList {
list := NetworkList(make([]Network, networks.Len()))
func NewNetworkList(networks collect.StringList) *NetworkList {
list := &NetworkList{
Network: make([]Network, networks.Len()),
}
for idx, network := range networks {
list[idx] = ParseNetwork(network)
list.Network[idx] = ParseNetwork(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 {
for _, value := range this.Network {
if string(value) == string(network) {
return true
}

View File

@ -46,22 +46,34 @@ func (x Network) String() string {
}
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() {
proto.RegisterType((*NetworkList)(nil), "com.v2ray.core.common.net.NetworkList")
proto.RegisterEnum("com.v2ray.core.common.net.Network", Network_name, Network_value)
}
func init() { proto.RegisterFile("v2ray.com/core/common/net/network.proto", fileDescriptor2) }
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,
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,
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,
0xbc, 0xfc, 0xf2, 0x3c, 0x01, 0x06, 0x21, 0x2e, 0x2e, 0xb6, 0xa0, 0xc4, 0xf2, 0x10, 0xe7, 0x00,
0x01, 0x46, 0x21, 0x76, 0x2e, 0x66, 0x10, 0x83, 0x09, 0xc4, 0x08, 0x75, 0x09, 0x10, 0x60, 0x06,
0x31, 0xbc, 0x9d, 0x03, 0x04, 0x58, 0x84, 0x78, 0xb9, 0x38, 0xc3, 0x53, 0x93, 0x82, 0xf3, 0x93,
0xb3, 0x53, 0x4b, 0x04, 0x58, 0x9d, 0x58, 0xa3, 0x98, 0xf3, 0x52, 0x4b, 0x92, 0xd8, 0xc0, 0xd6,
0x1a, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0x83, 0xa9, 0x75, 0xb3, 0xa1, 0x00, 0x00, 0x00,
0xd4, 0x12, 0x25, 0x6f, 0x2e, 0x6e, 0x3f, 0x88, 0x5a, 0x9f, 0xcc, 0xe2, 0x12, 0x21, 0x1b, 0x2e,
0x76, 0xa8, 0x56, 0x09, 0x46, 0x05, 0x66, 0x0d, 0x3e, 0x23, 0x25, 0x3d, 0x9c, 0x7a, 0xf5, 0xa0,
0x1a, 0x83, 0x60, 0x5a, 0xb4, 0x7c, 0xb8, 0xd8, 0xa1, 0x62, 0x42, 0xdc, 0x5c, 0xec, 0xa1, 0x79,
0xd9, 0x79, 0xf9, 0xe5, 0x79, 0x02, 0x0c, 0x42, 0x5c, 0x5c, 0x6c, 0x41, 0x89, 0xe5, 0x21, 0xce,
0x01, 0x02, 0x8c, 0x42, 0xec, 0x5c, 0xcc, 0x20, 0x06, 0x13, 0x88, 0x11, 0xea, 0x12, 0x20, 0xc0,
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

@ -10,4 +10,8 @@ enum Network {
UDP = 3;
KCP = 4;
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 {
return err
}
*this = NewNetworkList(strlist)
*this = *NewNetworkList(strlist)
return nil
}