github.com/v2fly/v2ray-core/v4@v4.45.2/app/router/command/command.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // versions:
     3  // 	protoc-gen-go v1.27.1
     4  // 	protoc        v3.17.3
     5  // source: app/router/command/command.proto
     6  
     7  package command
     8  
     9  import (
    10  	net "github.com/v2fly/v2ray-core/v4/common/net"
    11  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    12  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    13  	reflect "reflect"
    14  	sync "sync"
    15  )
    16  
    17  const (
    18  	// Verify that this generated code is sufficiently up-to-date.
    19  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    20  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    21  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    22  )
    23  
    24  // RoutingContext is the context with information relative to routing process.
    25  // It conforms to the structure of v2ray.core.features.routing.Context and
    26  // v2ray.core.features.routing.Route.
    27  type RoutingContext struct {
    28  	state         protoimpl.MessageState
    29  	sizeCache     protoimpl.SizeCache
    30  	unknownFields protoimpl.UnknownFields
    31  
    32  	InboundTag        string            `protobuf:"bytes,1,opt,name=InboundTag,proto3" json:"InboundTag,omitempty"`
    33  	Network           net.Network       `protobuf:"varint,2,opt,name=Network,proto3,enum=v2ray.core.common.net.Network" json:"Network,omitempty"`
    34  	SourceIPs         [][]byte          `protobuf:"bytes,3,rep,name=SourceIPs,proto3" json:"SourceIPs,omitempty"`
    35  	TargetIPs         [][]byte          `protobuf:"bytes,4,rep,name=TargetIPs,proto3" json:"TargetIPs,omitempty"`
    36  	SourcePort        uint32            `protobuf:"varint,5,opt,name=SourcePort,proto3" json:"SourcePort,omitempty"`
    37  	TargetPort        uint32            `protobuf:"varint,6,opt,name=TargetPort,proto3" json:"TargetPort,omitempty"`
    38  	TargetDomain      string            `protobuf:"bytes,7,opt,name=TargetDomain,proto3" json:"TargetDomain,omitempty"`
    39  	Protocol          string            `protobuf:"bytes,8,opt,name=Protocol,proto3" json:"Protocol,omitempty"`
    40  	User              string            `protobuf:"bytes,9,opt,name=User,proto3" json:"User,omitempty"`
    41  	Attributes        map[string]string `protobuf:"bytes,10,rep,name=Attributes,proto3" json:"Attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
    42  	OutboundGroupTags []string          `protobuf:"bytes,11,rep,name=OutboundGroupTags,proto3" json:"OutboundGroupTags,omitempty"`
    43  	OutboundTag       string            `protobuf:"bytes,12,opt,name=OutboundTag,proto3" json:"OutboundTag,omitempty"`
    44  }
    45  
    46  func (x *RoutingContext) Reset() {
    47  	*x = RoutingContext{}
    48  	if protoimpl.UnsafeEnabled {
    49  		mi := &file_app_router_command_command_proto_msgTypes[0]
    50  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    51  		ms.StoreMessageInfo(mi)
    52  	}
    53  }
    54  
    55  func (x *RoutingContext) String() string {
    56  	return protoimpl.X.MessageStringOf(x)
    57  }
    58  
    59  func (*RoutingContext) ProtoMessage() {}
    60  
    61  func (x *RoutingContext) ProtoReflect() protoreflect.Message {
    62  	mi := &file_app_router_command_command_proto_msgTypes[0]
    63  	if protoimpl.UnsafeEnabled && x != nil {
    64  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    65  		if ms.LoadMessageInfo() == nil {
    66  			ms.StoreMessageInfo(mi)
    67  		}
    68  		return ms
    69  	}
    70  	return mi.MessageOf(x)
    71  }
    72  
    73  // Deprecated: Use RoutingContext.ProtoReflect.Descriptor instead.
    74  func (*RoutingContext) Descriptor() ([]byte, []int) {
    75  	return file_app_router_command_command_proto_rawDescGZIP(), []int{0}
    76  }
    77  
    78  func (x *RoutingContext) GetInboundTag() string {
    79  	if x != nil {
    80  		return x.InboundTag
    81  	}
    82  	return ""
    83  }
    84  
    85  func (x *RoutingContext) GetNetwork() net.Network {
    86  	if x != nil {
    87  		return x.Network
    88  	}
    89  	return net.Network(0)
    90  }
    91  
    92  func (x *RoutingContext) GetSourceIPs() [][]byte {
    93  	if x != nil {
    94  		return x.SourceIPs
    95  	}
    96  	return nil
    97  }
    98  
    99  func (x *RoutingContext) GetTargetIPs() [][]byte {
   100  	if x != nil {
   101  		return x.TargetIPs
   102  	}
   103  	return nil
   104  }
   105  
   106  func (x *RoutingContext) GetSourcePort() uint32 {
   107  	if x != nil {
   108  		return x.SourcePort
   109  	}
   110  	return 0
   111  }
   112  
   113  func (x *RoutingContext) GetTargetPort() uint32 {
   114  	if x != nil {
   115  		return x.TargetPort
   116  	}
   117  	return 0
   118  }
   119  
   120  func (x *RoutingContext) GetTargetDomain() string {
   121  	if x != nil {
   122  		return x.TargetDomain
   123  	}
   124  	return ""
   125  }
   126  
   127  func (x *RoutingContext) GetProtocol() string {
   128  	if x != nil {
   129  		return x.Protocol
   130  	}
   131  	return ""
   132  }
   133  
   134  func (x *RoutingContext) GetUser() string {
   135  	if x != nil {
   136  		return x.User
   137  	}
   138  	return ""
   139  }
   140  
   141  func (x *RoutingContext) GetAttributes() map[string]string {
   142  	if x != nil {
   143  		return x.Attributes
   144  	}
   145  	return nil
   146  }
   147  
   148  func (x *RoutingContext) GetOutboundGroupTags() []string {
   149  	if x != nil {
   150  		return x.OutboundGroupTags
   151  	}
   152  	return nil
   153  }
   154  
   155  func (x *RoutingContext) GetOutboundTag() string {
   156  	if x != nil {
   157  		return x.OutboundTag
   158  	}
   159  	return ""
   160  }
   161  
   162  // SubscribeRoutingStatsRequest subscribes to routing statistics channel if
   163  // opened by v2ray-core.
   164  // * FieldSelectors selects a subset of fields in routing statistics to return.
   165  // Valid selectors:
   166  //  - inbound: Selects connection's inbound tag.
   167  //  - network: Selects connection's network.
   168  //  - ip: Equivalent as "ip_source" and "ip_target", selects both source and
   169  //  target IP.
   170  //  - port: Equivalent as "port_source" and "port_target", selects both source
   171  //  and target port.
   172  //  - domain: Selects target domain.
   173  //  - protocol: Select connection's protocol.
   174  //  - user: Select connection's inbound user email.
   175  //  - attributes: Select connection's additional attributes.
   176  //  - outbound: Equivalent as "outbound" and "outbound_group", select both
   177  //  outbound tag and outbound group tags.
   178  // * If FieldSelectors is left empty, all fields will be returned.
   179  type SubscribeRoutingStatsRequest struct {
   180  	state         protoimpl.MessageState
   181  	sizeCache     protoimpl.SizeCache
   182  	unknownFields protoimpl.UnknownFields
   183  
   184  	FieldSelectors []string `protobuf:"bytes,1,rep,name=FieldSelectors,proto3" json:"FieldSelectors,omitempty"`
   185  }
   186  
   187  func (x *SubscribeRoutingStatsRequest) Reset() {
   188  	*x = SubscribeRoutingStatsRequest{}
   189  	if protoimpl.UnsafeEnabled {
   190  		mi := &file_app_router_command_command_proto_msgTypes[1]
   191  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   192  		ms.StoreMessageInfo(mi)
   193  	}
   194  }
   195  
   196  func (x *SubscribeRoutingStatsRequest) String() string {
   197  	return protoimpl.X.MessageStringOf(x)
   198  }
   199  
   200  func (*SubscribeRoutingStatsRequest) ProtoMessage() {}
   201  
   202  func (x *SubscribeRoutingStatsRequest) ProtoReflect() protoreflect.Message {
   203  	mi := &file_app_router_command_command_proto_msgTypes[1]
   204  	if protoimpl.UnsafeEnabled && x != nil {
   205  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   206  		if ms.LoadMessageInfo() == nil {
   207  			ms.StoreMessageInfo(mi)
   208  		}
   209  		return ms
   210  	}
   211  	return mi.MessageOf(x)
   212  }
   213  
   214  // Deprecated: Use SubscribeRoutingStatsRequest.ProtoReflect.Descriptor instead.
   215  func (*SubscribeRoutingStatsRequest) Descriptor() ([]byte, []int) {
   216  	return file_app_router_command_command_proto_rawDescGZIP(), []int{1}
   217  }
   218  
   219  func (x *SubscribeRoutingStatsRequest) GetFieldSelectors() []string {
   220  	if x != nil {
   221  		return x.FieldSelectors
   222  	}
   223  	return nil
   224  }
   225  
   226  // TestRouteRequest manually tests a routing result according to the routing
   227  // context message.
   228  // * RoutingContext is the routing message without outbound information.
   229  // * FieldSelectors selects the fields to return in the routing result. All
   230  // fields are returned if left empty.
   231  // * PublishResult broadcasts the routing result to routing statistics channel
   232  // if set true.
   233  type TestRouteRequest struct {
   234  	state         protoimpl.MessageState
   235  	sizeCache     protoimpl.SizeCache
   236  	unknownFields protoimpl.UnknownFields
   237  
   238  	RoutingContext *RoutingContext `protobuf:"bytes,1,opt,name=RoutingContext,proto3" json:"RoutingContext,omitempty"`
   239  	FieldSelectors []string        `protobuf:"bytes,2,rep,name=FieldSelectors,proto3" json:"FieldSelectors,omitempty"`
   240  	PublishResult  bool            `protobuf:"varint,3,opt,name=PublishResult,proto3" json:"PublishResult,omitempty"`
   241  }
   242  
   243  func (x *TestRouteRequest) Reset() {
   244  	*x = TestRouteRequest{}
   245  	if protoimpl.UnsafeEnabled {
   246  		mi := &file_app_router_command_command_proto_msgTypes[2]
   247  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   248  		ms.StoreMessageInfo(mi)
   249  	}
   250  }
   251  
   252  func (x *TestRouteRequest) String() string {
   253  	return protoimpl.X.MessageStringOf(x)
   254  }
   255  
   256  func (*TestRouteRequest) ProtoMessage() {}
   257  
   258  func (x *TestRouteRequest) ProtoReflect() protoreflect.Message {
   259  	mi := &file_app_router_command_command_proto_msgTypes[2]
   260  	if protoimpl.UnsafeEnabled && x != nil {
   261  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   262  		if ms.LoadMessageInfo() == nil {
   263  			ms.StoreMessageInfo(mi)
   264  		}
   265  		return ms
   266  	}
   267  	return mi.MessageOf(x)
   268  }
   269  
   270  // Deprecated: Use TestRouteRequest.ProtoReflect.Descriptor instead.
   271  func (*TestRouteRequest) Descriptor() ([]byte, []int) {
   272  	return file_app_router_command_command_proto_rawDescGZIP(), []int{2}
   273  }
   274  
   275  func (x *TestRouteRequest) GetRoutingContext() *RoutingContext {
   276  	if x != nil {
   277  		return x.RoutingContext
   278  	}
   279  	return nil
   280  }
   281  
   282  func (x *TestRouteRequest) GetFieldSelectors() []string {
   283  	if x != nil {
   284  		return x.FieldSelectors
   285  	}
   286  	return nil
   287  }
   288  
   289  func (x *TestRouteRequest) GetPublishResult() bool {
   290  	if x != nil {
   291  		return x.PublishResult
   292  	}
   293  	return false
   294  }
   295  
   296  type Config struct {
   297  	state         protoimpl.MessageState
   298  	sizeCache     protoimpl.SizeCache
   299  	unknownFields protoimpl.UnknownFields
   300  }
   301  
   302  func (x *Config) Reset() {
   303  	*x = Config{}
   304  	if protoimpl.UnsafeEnabled {
   305  		mi := &file_app_router_command_command_proto_msgTypes[3]
   306  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   307  		ms.StoreMessageInfo(mi)
   308  	}
   309  }
   310  
   311  func (x *Config) String() string {
   312  	return protoimpl.X.MessageStringOf(x)
   313  }
   314  
   315  func (*Config) ProtoMessage() {}
   316  
   317  func (x *Config) ProtoReflect() protoreflect.Message {
   318  	mi := &file_app_router_command_command_proto_msgTypes[3]
   319  	if protoimpl.UnsafeEnabled && x != nil {
   320  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   321  		if ms.LoadMessageInfo() == nil {
   322  			ms.StoreMessageInfo(mi)
   323  		}
   324  		return ms
   325  	}
   326  	return mi.MessageOf(x)
   327  }
   328  
   329  // Deprecated: Use Config.ProtoReflect.Descriptor instead.
   330  func (*Config) Descriptor() ([]byte, []int) {
   331  	return file_app_router_command_command_proto_rawDescGZIP(), []int{3}
   332  }
   333  
   334  var File_app_router_command_command_proto protoreflect.FileDescriptor
   335  
   336  var file_app_router_command_command_proto_rawDesc = []byte{
   337  	0x0a, 0x20, 0x61, 0x70, 0x70, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2f, 0x63, 0x6f, 0x6d,
   338  	0x6d, 0x61, 0x6e, 0x64, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f,
   339  	0x74, 0x6f, 0x12, 0x1d, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61,
   340  	0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e,
   341  	0x64, 0x1a, 0x18, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x6e, 0x65, 0x74, 0x2f, 0x6e, 0x65,
   342  	0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa8, 0x04, 0x0a, 0x0e,
   343  	0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1e,
   344  	0x0a, 0x0a, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01,
   345  	0x28, 0x09, 0x52, 0x0a, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x12, 0x38,
   346  	0x0a, 0x07, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32,
   347  	0x1e, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x63, 0x6f, 0x6d,
   348  	0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52,
   349  	0x07, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x6f, 0x75, 0x72,
   350  	0x63, 0x65, 0x49, 0x50, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x09, 0x53, 0x6f, 0x75,
   351  	0x72, 0x63, 0x65, 0x49, 0x50, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
   352  	0x49, 0x50, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x09, 0x54, 0x61, 0x72, 0x67, 0x65,
   353  	0x74, 0x49, 0x50, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f,
   354  	0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
   355  	0x50, 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f,
   356  	0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
   357  	0x50, 0x6f, 0x72, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x44, 0x6f,
   358  	0x6d, 0x61, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x54, 0x61, 0x72, 0x67,
   359  	0x65, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74,
   360  	0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x72, 0x6f, 0x74,
   361  	0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01,
   362  	0x28, 0x09, 0x52, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x5d, 0x0a, 0x0a, 0x41, 0x74, 0x74, 0x72,
   363  	0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x76,
   364  	0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f,
   365  	0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x52, 0x6f, 0x75,
   366  	0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x72,
   367  	0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x41, 0x74, 0x74,
   368  	0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x4f, 0x75, 0x74, 0x62, 0x6f,
   369  	0x75, 0x6e, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x61, 0x67, 0x73, 0x18, 0x0b, 0x20, 0x03,
   370  	0x28, 0x09, 0x52, 0x11, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x47, 0x72, 0x6f, 0x75,
   371  	0x70, 0x54, 0x61, 0x67, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e,
   372  	0x64, 0x54, 0x61, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x75, 0x74, 0x62,
   373  	0x6f, 0x75, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x1a, 0x3d, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69,
   374  	0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
   375  	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
   376  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c,
   377  	0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x46, 0x0a, 0x1c, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72,
   378  	0x69, 0x62, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52,
   379  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53,
   380  	0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e,
   381  	0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x22, 0xb7,
   382  	0x01, 0x0a, 0x10, 0x54, 0x65, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75,
   383  	0x65, 0x73, 0x74, 0x12, 0x55, 0x0a, 0x0e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f,
   384  	0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x76, 0x32,
   385  	0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75,
   386  	0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x52, 0x6f, 0x75, 0x74,
   387  	0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0e, 0x52, 0x6f, 0x75, 0x74,
   388  	0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x46, 0x69,
   389  	0x65, 0x6c, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03,
   390  	0x28, 0x09, 0x52, 0x0e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f,
   391  	0x72, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73,
   392  	0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x50, 0x75, 0x62, 0x6c, 0x69,
   393  	0x73, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x08, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66,
   394  	0x69, 0x67, 0x32, 0x89, 0x02, 0x0a, 0x0e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65,
   395  	0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x15, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72,
   396  	0x69, 0x62, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12,
   397  	0x3b, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70,
   398  	0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e,
   399  	0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67,
   400  	0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x76,
   401  	0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f,
   402  	0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x52, 0x6f, 0x75,
   403  	0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x00, 0x30, 0x01, 0x12,
   404  	0x6d, 0x0a, 0x09, 0x54, 0x65, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x2f, 0x2e, 0x76,
   405  	0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f,
   406  	0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x54, 0x65, 0x73,
   407  	0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e,
   408  	0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72,
   409  	0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x52, 0x6f,
   410  	0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x00, 0x42, 0x78,
   411  	0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65,
   412  	0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
   413  	0x61, 0x6e, 0x64, 0x50, 0x01, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f,
   414  	0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f,
   415  	0x72, 0x65, 0x2f, 0x76, 0x34, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72,
   416  	0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0xaa, 0x02, 0x1d, 0x56, 0x32, 0x52, 0x61, 0x79,
   417  	0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72,
   418  	0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
   419  }
   420  
   421  var (
   422  	file_app_router_command_command_proto_rawDescOnce sync.Once
   423  	file_app_router_command_command_proto_rawDescData = file_app_router_command_command_proto_rawDesc
   424  )
   425  
   426  func file_app_router_command_command_proto_rawDescGZIP() []byte {
   427  	file_app_router_command_command_proto_rawDescOnce.Do(func() {
   428  		file_app_router_command_command_proto_rawDescData = protoimpl.X.CompressGZIP(file_app_router_command_command_proto_rawDescData)
   429  	})
   430  	return file_app_router_command_command_proto_rawDescData
   431  }
   432  
   433  var file_app_router_command_command_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
   434  var file_app_router_command_command_proto_goTypes = []interface{}{
   435  	(*RoutingContext)(nil),               // 0: v2ray.core.app.router.command.RoutingContext
   436  	(*SubscribeRoutingStatsRequest)(nil), // 1: v2ray.core.app.router.command.SubscribeRoutingStatsRequest
   437  	(*TestRouteRequest)(nil),             // 2: v2ray.core.app.router.command.TestRouteRequest
   438  	(*Config)(nil),                       // 3: v2ray.core.app.router.command.Config
   439  	nil,                                  // 4: v2ray.core.app.router.command.RoutingContext.AttributesEntry
   440  	(net.Network)(0),                     // 5: v2ray.core.common.net.Network
   441  }
   442  var file_app_router_command_command_proto_depIdxs = []int32{
   443  	5, // 0: v2ray.core.app.router.command.RoutingContext.Network:type_name -> v2ray.core.common.net.Network
   444  	4, // 1: v2ray.core.app.router.command.RoutingContext.Attributes:type_name -> v2ray.core.app.router.command.RoutingContext.AttributesEntry
   445  	0, // 2: v2ray.core.app.router.command.TestRouteRequest.RoutingContext:type_name -> v2ray.core.app.router.command.RoutingContext
   446  	1, // 3: v2ray.core.app.router.command.RoutingService.SubscribeRoutingStats:input_type -> v2ray.core.app.router.command.SubscribeRoutingStatsRequest
   447  	2, // 4: v2ray.core.app.router.command.RoutingService.TestRoute:input_type -> v2ray.core.app.router.command.TestRouteRequest
   448  	0, // 5: v2ray.core.app.router.command.RoutingService.SubscribeRoutingStats:output_type -> v2ray.core.app.router.command.RoutingContext
   449  	0, // 6: v2ray.core.app.router.command.RoutingService.TestRoute:output_type -> v2ray.core.app.router.command.RoutingContext
   450  	5, // [5:7] is the sub-list for method output_type
   451  	3, // [3:5] is the sub-list for method input_type
   452  	3, // [3:3] is the sub-list for extension type_name
   453  	3, // [3:3] is the sub-list for extension extendee
   454  	0, // [0:3] is the sub-list for field type_name
   455  }
   456  
   457  func init() { file_app_router_command_command_proto_init() }
   458  func file_app_router_command_command_proto_init() {
   459  	if File_app_router_command_command_proto != nil {
   460  		return
   461  	}
   462  	if !protoimpl.UnsafeEnabled {
   463  		file_app_router_command_command_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
   464  			switch v := v.(*RoutingContext); i {
   465  			case 0:
   466  				return &v.state
   467  			case 1:
   468  				return &v.sizeCache
   469  			case 2:
   470  				return &v.unknownFields
   471  			default:
   472  				return nil
   473  			}
   474  		}
   475  		file_app_router_command_command_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
   476  			switch v := v.(*SubscribeRoutingStatsRequest); i {
   477  			case 0:
   478  				return &v.state
   479  			case 1:
   480  				return &v.sizeCache
   481  			case 2:
   482  				return &v.unknownFields
   483  			default:
   484  				return nil
   485  			}
   486  		}
   487  		file_app_router_command_command_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
   488  			switch v := v.(*TestRouteRequest); i {
   489  			case 0:
   490  				return &v.state
   491  			case 1:
   492  				return &v.sizeCache
   493  			case 2:
   494  				return &v.unknownFields
   495  			default:
   496  				return nil
   497  			}
   498  		}
   499  		file_app_router_command_command_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
   500  			switch v := v.(*Config); i {
   501  			case 0:
   502  				return &v.state
   503  			case 1:
   504  				return &v.sizeCache
   505  			case 2:
   506  				return &v.unknownFields
   507  			default:
   508  				return nil
   509  			}
   510  		}
   511  	}
   512  	type x struct{}
   513  	out := protoimpl.TypeBuilder{
   514  		File: protoimpl.DescBuilder{
   515  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
   516  			RawDescriptor: file_app_router_command_command_proto_rawDesc,
   517  			NumEnums:      0,
   518  			NumMessages:   5,
   519  			NumExtensions: 0,
   520  			NumServices:   1,
   521  		},
   522  		GoTypes:           file_app_router_command_command_proto_goTypes,
   523  		DependencyIndexes: file_app_router_command_command_proto_depIdxs,
   524  		MessageInfos:      file_app_router_command_command_proto_msgTypes,
   525  	}.Build()
   526  	File_app_router_command_command_proto = out.File
   527  	file_app_router_command_command_proto_rawDesc = nil
   528  	file_app_router_command_command_proto_goTypes = nil
   529  	file_app_router_command_command_proto_depIdxs = nil
   530  }