Преглед на файлове

protobuf for network list

Darien Raymond преди 9 години
родител
ревизия
88ae8248a5
променени са 5 файла, в които са добавени 34 реда и са изтрити 17 реда
  1. 1 0
      common/net/address.pb.go
  2. 9 9
      common/net/network.go
  3. 19 7
      common/net/network.pb.go
  4. 4 0
      common/net/network.proto
  5. 1 1
      common/net/network_json.go

+ 1 - 0
common/net/address.pb.go

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

+ 9 - 9
common/net/network.go

@@ -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
 		}

+ 19 - 7
common/net/network.pb.go

@@ -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,
 }

+ 4 - 0
common/net/network.proto

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

+ 1 - 1
common/net/network_json.go

@@ -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
 }