github.com/xraypb/xray-core@v1.6.6/app/router/command/command.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // versions:
     3  // 	protoc-gen-go v1.28.1
     4  // 	protoc        v3.18.0
     5  // source: app/router/command/command.proto
     6  
     7  package command
     8  
     9  import (
    10  	net "github.com/xraypb/xray-core/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 xray.features.routing.Context and
    26  // xray.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=xray.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 xray-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  //
   179  // * If FieldSelectors is left empty, all fields will be returned.
   180  type SubscribeRoutingStatsRequest struct {
   181  	state         protoimpl.MessageState
   182  	sizeCache     protoimpl.SizeCache
   183  	unknownFields protoimpl.UnknownFields
   184  
   185  	FieldSelectors []string `protobuf:"bytes,1,rep,name=FieldSelectors,proto3" json:"FieldSelectors,omitempty"`
   186  }
   187  
   188  func (x *SubscribeRoutingStatsRequest) Reset() {
   189  	*x = SubscribeRoutingStatsRequest{}
   190  	if protoimpl.UnsafeEnabled {
   191  		mi := &file_app_router_command_command_proto_msgTypes[1]
   192  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   193  		ms.StoreMessageInfo(mi)
   194  	}
   195  }
   196  
   197  func (x *SubscribeRoutingStatsRequest) String() string {
   198  	return protoimpl.X.MessageStringOf(x)
   199  }
   200  
   201  func (*SubscribeRoutingStatsRequest) ProtoMessage() {}
   202  
   203  func (x *SubscribeRoutingStatsRequest) ProtoReflect() protoreflect.Message {
   204  	mi := &file_app_router_command_command_proto_msgTypes[1]
   205  	if protoimpl.UnsafeEnabled && x != nil {
   206  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   207  		if ms.LoadMessageInfo() == nil {
   208  			ms.StoreMessageInfo(mi)
   209  		}
   210  		return ms
   211  	}
   212  	return mi.MessageOf(x)
   213  }
   214  
   215  // Deprecated: Use SubscribeRoutingStatsRequest.ProtoReflect.Descriptor instead.
   216  func (*SubscribeRoutingStatsRequest) Descriptor() ([]byte, []int) {
   217  	return file_app_router_command_command_proto_rawDescGZIP(), []int{1}
   218  }
   219  
   220  func (x *SubscribeRoutingStatsRequest) GetFieldSelectors() []string {
   221  	if x != nil {
   222  		return x.FieldSelectors
   223  	}
   224  	return nil
   225  }
   226  
   227  // TestRouteRequest manually tests a routing result according to the routing
   228  // context message.
   229  // * RoutingContext is the routing message without outbound information.
   230  // * FieldSelectors selects the fields to return in the routing result. All
   231  // fields are returned if left empty.
   232  // * PublishResult broadcasts the routing result to routing statistics channel
   233  // if set true.
   234  type TestRouteRequest struct {
   235  	state         protoimpl.MessageState
   236  	sizeCache     protoimpl.SizeCache
   237  	unknownFields protoimpl.UnknownFields
   238  
   239  	RoutingContext *RoutingContext `protobuf:"bytes,1,opt,name=RoutingContext,proto3" json:"RoutingContext,omitempty"`
   240  	FieldSelectors []string        `protobuf:"bytes,2,rep,name=FieldSelectors,proto3" json:"FieldSelectors,omitempty"`
   241  	PublishResult  bool            `protobuf:"varint,3,opt,name=PublishResult,proto3" json:"PublishResult,omitempty"`
   242  }
   243  
   244  func (x *TestRouteRequest) Reset() {
   245  	*x = TestRouteRequest{}
   246  	if protoimpl.UnsafeEnabled {
   247  		mi := &file_app_router_command_command_proto_msgTypes[2]
   248  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   249  		ms.StoreMessageInfo(mi)
   250  	}
   251  }
   252  
   253  func (x *TestRouteRequest) String() string {
   254  	return protoimpl.X.MessageStringOf(x)
   255  }
   256  
   257  func (*TestRouteRequest) ProtoMessage() {}
   258  
   259  func (x *TestRouteRequest) ProtoReflect() protoreflect.Message {
   260  	mi := &file_app_router_command_command_proto_msgTypes[2]
   261  	if protoimpl.UnsafeEnabled && x != nil {
   262  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   263  		if ms.LoadMessageInfo() == nil {
   264  			ms.StoreMessageInfo(mi)
   265  		}
   266  		return ms
   267  	}
   268  	return mi.MessageOf(x)
   269  }
   270  
   271  // Deprecated: Use TestRouteRequest.ProtoReflect.Descriptor instead.
   272  func (*TestRouteRequest) Descriptor() ([]byte, []int) {
   273  	return file_app_router_command_command_proto_rawDescGZIP(), []int{2}
   274  }
   275  
   276  func (x *TestRouteRequest) GetRoutingContext() *RoutingContext {
   277  	if x != nil {
   278  		return x.RoutingContext
   279  	}
   280  	return nil
   281  }
   282  
   283  func (x *TestRouteRequest) GetFieldSelectors() []string {
   284  	if x != nil {
   285  		return x.FieldSelectors
   286  	}
   287  	return nil
   288  }
   289  
   290  func (x *TestRouteRequest) GetPublishResult() bool {
   291  	if x != nil {
   292  		return x.PublishResult
   293  	}
   294  	return false
   295  }
   296  
   297  type Config struct {
   298  	state         protoimpl.MessageState
   299  	sizeCache     protoimpl.SizeCache
   300  	unknownFields protoimpl.UnknownFields
   301  }
   302  
   303  func (x *Config) Reset() {
   304  	*x = Config{}
   305  	if protoimpl.UnsafeEnabled {
   306  		mi := &file_app_router_command_command_proto_msgTypes[3]
   307  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   308  		ms.StoreMessageInfo(mi)
   309  	}
   310  }
   311  
   312  func (x *Config) String() string {
   313  	return protoimpl.X.MessageStringOf(x)
   314  }
   315  
   316  func (*Config) ProtoMessage() {}
   317  
   318  func (x *Config) ProtoReflect() protoreflect.Message {
   319  	mi := &file_app_router_command_command_proto_msgTypes[3]
   320  	if protoimpl.UnsafeEnabled && x != nil {
   321  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   322  		if ms.LoadMessageInfo() == nil {
   323  			ms.StoreMessageInfo(mi)
   324  		}
   325  		return ms
   326  	}
   327  	return mi.MessageOf(x)
   328  }
   329  
   330  // Deprecated: Use Config.ProtoReflect.Descriptor instead.
   331  func (*Config) Descriptor() ([]byte, []int) {
   332  	return file_app_router_command_command_proto_rawDescGZIP(), []int{3}
   333  }
   334  
   335  var File_app_router_command_command_proto protoreflect.FileDescriptor
   336  
   337  var file_app_router_command_command_proto_rawDesc = []byte{
   338  	0x0a, 0x20, 0x61, 0x70, 0x70, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2f, 0x63, 0x6f, 0x6d,
   339  	0x6d, 0x61, 0x6e, 0x64, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f,
   340  	0x74, 0x6f, 0x12, 0x17, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75,
   341  	0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x1a, 0x18, 0x63, 0x6f, 0x6d,
   342  	0x6d, 0x6f, 0x6e, 0x2f, 0x6e, 0x65, 0x74, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e,
   343  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9c, 0x04, 0x0a, 0x0e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e,
   344  	0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x6e, 0x62, 0x6f,
   345  	0x75, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x49, 0x6e,
   346  	0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x12, 0x32, 0x0a, 0x07, 0x4e, 0x65, 0x74, 0x77,
   347  	0x6f, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x78, 0x72, 0x61, 0x79,
   348  	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x4e, 0x65, 0x74, 0x77,
   349  	0x6f, 0x72, 0x6b, 0x52, 0x07, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x1c, 0x0a, 0x09,
   350  	0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x50, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0c, 0x52,
   351  	0x09, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x50, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x61,
   352  	0x72, 0x67, 0x65, 0x74, 0x49, 0x50, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x09, 0x54,
   353  	0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x50, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x6f, 0x75, 0x72,
   354  	0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x53, 0x6f,
   355  	0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x61, 0x72, 0x67,
   356  	0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x54, 0x61,
   357  	0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x54, 0x61, 0x72, 0x67,
   358  	0x65, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
   359  	0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08,
   360  	0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
   361  	0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72,
   362  	0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x57, 0x0a, 0x0a,
   363  	0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b,
   364  	0x32, 0x37, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74,
   365  	0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69,
   366  	0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62,
   367  	0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x41, 0x74, 0x74, 0x72, 0x69,
   368  	0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e,
   369  	0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x61, 0x67, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09,
   370  	0x52, 0x11, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54,
   371  	0x61, 0x67, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54,
   372  	0x61, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75,
   373  	0x6e, 0x64, 0x54, 0x61, 0x67, 0x1a, 0x3d, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
   374  	0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
   375  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
   376  	0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
   377  	0x3a, 0x02, 0x38, 0x01, 0x22, 0x46, 0x0a, 0x1c, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62,
   378  	0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71,
   379  	0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x6c,
   380  	0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x46, 0x69,
   381  	0x65, 0x6c, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x22, 0xb1, 0x01, 0x0a,
   382  	0x10, 0x54, 0x65, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
   383  	0x74, 0x12, 0x4f, 0x0a, 0x0e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74,
   384  	0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x72, 0x61, 0x79,
   385  	0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
   386  	0x61, 0x6e, 0x64, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65,
   387  	0x78, 0x74, 0x52, 0x0e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65,
   388  	0x78, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63,
   389  	0x74, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x46, 0x69, 0x65, 0x6c,
   390  	0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x50, 0x75,
   391  	0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
   392  	0x08, 0x52, 0x0d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
   393  	0x22, 0x08, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x32, 0xf0, 0x01, 0x0a, 0x0e, 0x52,
   394  	0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7b, 0x0a,
   395  	0x15, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e,
   396  	0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x35, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70,
   397  	0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64,
   398  	0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e,
   399  	0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e,
   400  	0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e,
   401  	0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43,
   402  	0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x00, 0x30, 0x01, 0x12, 0x61, 0x0a, 0x09, 0x54, 0x65,
   403  	0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x29, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61,
   404  	0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e,
   405  	0x64, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
   406  	0x73, 0x74, 0x1a, 0x27, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f,
   407  	0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x52, 0x6f, 0x75,
   408  	0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x00, 0x42, 0x67, 0x0a,
   409  	0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x78, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f,
   410  	0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x50, 0x01, 0x5a, 0x2c,
   411  	0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x78, 0x74, 0x6c, 0x73, 0x2f,
   412  	0x78, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x72, 0x6f,
   413  	0x75, 0x74, 0x65, 0x72, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0xaa, 0x02, 0x17, 0x58,
   414  	0x72, 0x61, 0x79, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x43,
   415  	0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
   416  }
   417  
   418  var (
   419  	file_app_router_command_command_proto_rawDescOnce sync.Once
   420  	file_app_router_command_command_proto_rawDescData = file_app_router_command_command_proto_rawDesc
   421  )
   422  
   423  func file_app_router_command_command_proto_rawDescGZIP() []byte {
   424  	file_app_router_command_command_proto_rawDescOnce.Do(func() {
   425  		file_app_router_command_command_proto_rawDescData = protoimpl.X.CompressGZIP(file_app_router_command_command_proto_rawDescData)
   426  	})
   427  	return file_app_router_command_command_proto_rawDescData
   428  }
   429  
   430  var file_app_router_command_command_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
   431  var file_app_router_command_command_proto_goTypes = []interface{}{
   432  	(*RoutingContext)(nil),               // 0: xray.app.router.command.RoutingContext
   433  	(*SubscribeRoutingStatsRequest)(nil), // 1: xray.app.router.command.SubscribeRoutingStatsRequest
   434  	(*TestRouteRequest)(nil),             // 2: xray.app.router.command.TestRouteRequest
   435  	(*Config)(nil),                       // 3: xray.app.router.command.Config
   436  	nil,                                  // 4: xray.app.router.command.RoutingContext.AttributesEntry
   437  	(net.Network)(0),                     // 5: xray.common.net.Network
   438  }
   439  var file_app_router_command_command_proto_depIdxs = []int32{
   440  	5, // 0: xray.app.router.command.RoutingContext.Network:type_name -> xray.common.net.Network
   441  	4, // 1: xray.app.router.command.RoutingContext.Attributes:type_name -> xray.app.router.command.RoutingContext.AttributesEntry
   442  	0, // 2: xray.app.router.command.TestRouteRequest.RoutingContext:type_name -> xray.app.router.command.RoutingContext
   443  	1, // 3: xray.app.router.command.RoutingService.SubscribeRoutingStats:input_type -> xray.app.router.command.SubscribeRoutingStatsRequest
   444  	2, // 4: xray.app.router.command.RoutingService.TestRoute:input_type -> xray.app.router.command.TestRouteRequest
   445  	0, // 5: xray.app.router.command.RoutingService.SubscribeRoutingStats:output_type -> xray.app.router.command.RoutingContext
   446  	0, // 6: xray.app.router.command.RoutingService.TestRoute:output_type -> xray.app.router.command.RoutingContext
   447  	5, // [5:7] is the sub-list for method output_type
   448  	3, // [3:5] is the sub-list for method input_type
   449  	3, // [3:3] is the sub-list for extension type_name
   450  	3, // [3:3] is the sub-list for extension extendee
   451  	0, // [0:3] is the sub-list for field type_name
   452  }
   453  
   454  func init() { file_app_router_command_command_proto_init() }
   455  func file_app_router_command_command_proto_init() {
   456  	if File_app_router_command_command_proto != nil {
   457  		return
   458  	}
   459  	if !protoimpl.UnsafeEnabled {
   460  		file_app_router_command_command_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
   461  			switch v := v.(*RoutingContext); i {
   462  			case 0:
   463  				return &v.state
   464  			case 1:
   465  				return &v.sizeCache
   466  			case 2:
   467  				return &v.unknownFields
   468  			default:
   469  				return nil
   470  			}
   471  		}
   472  		file_app_router_command_command_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
   473  			switch v := v.(*SubscribeRoutingStatsRequest); i {
   474  			case 0:
   475  				return &v.state
   476  			case 1:
   477  				return &v.sizeCache
   478  			case 2:
   479  				return &v.unknownFields
   480  			default:
   481  				return nil
   482  			}
   483  		}
   484  		file_app_router_command_command_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
   485  			switch v := v.(*TestRouteRequest); i {
   486  			case 0:
   487  				return &v.state
   488  			case 1:
   489  				return &v.sizeCache
   490  			case 2:
   491  				return &v.unknownFields
   492  			default:
   493  				return nil
   494  			}
   495  		}
   496  		file_app_router_command_command_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
   497  			switch v := v.(*Config); i {
   498  			case 0:
   499  				return &v.state
   500  			case 1:
   501  				return &v.sizeCache
   502  			case 2:
   503  				return &v.unknownFields
   504  			default:
   505  				return nil
   506  			}
   507  		}
   508  	}
   509  	type x struct{}
   510  	out := protoimpl.TypeBuilder{
   511  		File: protoimpl.DescBuilder{
   512  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
   513  			RawDescriptor: file_app_router_command_command_proto_rawDesc,
   514  			NumEnums:      0,
   515  			NumMessages:   5,
   516  			NumExtensions: 0,
   517  			NumServices:   1,
   518  		},
   519  		GoTypes:           file_app_router_command_command_proto_goTypes,
   520  		DependencyIndexes: file_app_router_command_command_proto_depIdxs,
   521  		MessageInfos:      file_app_router_command_command_proto_msgTypes,
   522  	}.Build()
   523  	File_app_router_command_command_proto = out.File
   524  	file_app_router_command_command_proto_rawDesc = nil
   525  	file_app_router_command_command_proto_goTypes = nil
   526  	file_app_router_command_command_proto_depIdxs = nil
   527  }