github.com/annwntech/go-micro/v2@v2.9.5/router/service/proto/router.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // versions:
     3  // 	protoc-gen-go v1.25.0
     4  // 	protoc        v3.13.0
     5  // source: router/service/proto/router.proto
     6  
     7  package router
     8  
     9  import (
    10  	context "context"
    11  	proto "github.com/golang/protobuf/proto"
    12  	grpc "google.golang.org/grpc"
    13  	codes "google.golang.org/grpc/codes"
    14  	status "google.golang.org/grpc/status"
    15  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    16  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    17  	reflect "reflect"
    18  	sync "sync"
    19  )
    20  
    21  const (
    22  	// Verify that this generated code is sufficiently up-to-date.
    23  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    24  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    25  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    26  )
    27  
    28  // This is a compile-time assertion that a sufficiently up-to-date version
    29  // of the legacy proto package is being used.
    30  const _ = proto.ProtoPackageIsVersion4
    31  
    32  // AdvertType defines the type of advert
    33  type AdvertType int32
    34  
    35  const (
    36  	AdvertType_AdvertAnnounce AdvertType = 0
    37  	AdvertType_AdvertUpdate   AdvertType = 1
    38  )
    39  
    40  // Enum value maps for AdvertType.
    41  var (
    42  	AdvertType_name = map[int32]string{
    43  		0: "AdvertAnnounce",
    44  		1: "AdvertUpdate",
    45  	}
    46  	AdvertType_value = map[string]int32{
    47  		"AdvertAnnounce": 0,
    48  		"AdvertUpdate":   1,
    49  	}
    50  )
    51  
    52  func (x AdvertType) Enum() *AdvertType {
    53  	p := new(AdvertType)
    54  	*p = x
    55  	return p
    56  }
    57  
    58  func (x AdvertType) String() string {
    59  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    60  }
    61  
    62  func (AdvertType) Descriptor() protoreflect.EnumDescriptor {
    63  	return file_router_service_proto_router_proto_enumTypes[0].Descriptor()
    64  }
    65  
    66  func (AdvertType) Type() protoreflect.EnumType {
    67  	return &file_router_service_proto_router_proto_enumTypes[0]
    68  }
    69  
    70  func (x AdvertType) Number() protoreflect.EnumNumber {
    71  	return protoreflect.EnumNumber(x)
    72  }
    73  
    74  // Deprecated: Use AdvertType.Descriptor instead.
    75  func (AdvertType) EnumDescriptor() ([]byte, []int) {
    76  	return file_router_service_proto_router_proto_rawDescGZIP(), []int{0}
    77  }
    78  
    79  // EventType defines the type of event
    80  type EventType int32
    81  
    82  const (
    83  	EventType_Create EventType = 0
    84  	EventType_Delete EventType = 1
    85  	EventType_Update EventType = 2
    86  )
    87  
    88  // Enum value maps for EventType.
    89  var (
    90  	EventType_name = map[int32]string{
    91  		0: "Create",
    92  		1: "Delete",
    93  		2: "Update",
    94  	}
    95  	EventType_value = map[string]int32{
    96  		"Create": 0,
    97  		"Delete": 1,
    98  		"Update": 2,
    99  	}
   100  )
   101  
   102  func (x EventType) Enum() *EventType {
   103  	p := new(EventType)
   104  	*p = x
   105  	return p
   106  }
   107  
   108  func (x EventType) String() string {
   109  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   110  }
   111  
   112  func (EventType) Descriptor() protoreflect.EnumDescriptor {
   113  	return file_router_service_proto_router_proto_enumTypes[1].Descriptor()
   114  }
   115  
   116  func (EventType) Type() protoreflect.EnumType {
   117  	return &file_router_service_proto_router_proto_enumTypes[1]
   118  }
   119  
   120  func (x EventType) Number() protoreflect.EnumNumber {
   121  	return protoreflect.EnumNumber(x)
   122  }
   123  
   124  // Deprecated: Use EventType.Descriptor instead.
   125  func (EventType) EnumDescriptor() ([]byte, []int) {
   126  	return file_router_service_proto_router_proto_rawDescGZIP(), []int{1}
   127  }
   128  
   129  // Empty request
   130  type Request struct {
   131  	state         protoimpl.MessageState
   132  	sizeCache     protoimpl.SizeCache
   133  	unknownFields protoimpl.UnknownFields
   134  }
   135  
   136  func (x *Request) Reset() {
   137  	*x = Request{}
   138  	if protoimpl.UnsafeEnabled {
   139  		mi := &file_router_service_proto_router_proto_msgTypes[0]
   140  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   141  		ms.StoreMessageInfo(mi)
   142  	}
   143  }
   144  
   145  func (x *Request) String() string {
   146  	return protoimpl.X.MessageStringOf(x)
   147  }
   148  
   149  func (*Request) ProtoMessage() {}
   150  
   151  func (x *Request) ProtoReflect() protoreflect.Message {
   152  	mi := &file_router_service_proto_router_proto_msgTypes[0]
   153  	if protoimpl.UnsafeEnabled && x != nil {
   154  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   155  		if ms.LoadMessageInfo() == nil {
   156  			ms.StoreMessageInfo(mi)
   157  		}
   158  		return ms
   159  	}
   160  	return mi.MessageOf(x)
   161  }
   162  
   163  // Deprecated: Use Request.ProtoReflect.Descriptor instead.
   164  func (*Request) Descriptor() ([]byte, []int) {
   165  	return file_router_service_proto_router_proto_rawDescGZIP(), []int{0}
   166  }
   167  
   168  // Empty response
   169  type Response struct {
   170  	state         protoimpl.MessageState
   171  	sizeCache     protoimpl.SizeCache
   172  	unknownFields protoimpl.UnknownFields
   173  }
   174  
   175  func (x *Response) Reset() {
   176  	*x = Response{}
   177  	if protoimpl.UnsafeEnabled {
   178  		mi := &file_router_service_proto_router_proto_msgTypes[1]
   179  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   180  		ms.StoreMessageInfo(mi)
   181  	}
   182  }
   183  
   184  func (x *Response) String() string {
   185  	return protoimpl.X.MessageStringOf(x)
   186  }
   187  
   188  func (*Response) ProtoMessage() {}
   189  
   190  func (x *Response) ProtoReflect() protoreflect.Message {
   191  	mi := &file_router_service_proto_router_proto_msgTypes[1]
   192  	if protoimpl.UnsafeEnabled && x != nil {
   193  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   194  		if ms.LoadMessageInfo() == nil {
   195  			ms.StoreMessageInfo(mi)
   196  		}
   197  		return ms
   198  	}
   199  	return mi.MessageOf(x)
   200  }
   201  
   202  // Deprecated: Use Response.ProtoReflect.Descriptor instead.
   203  func (*Response) Descriptor() ([]byte, []int) {
   204  	return file_router_service_proto_router_proto_rawDescGZIP(), []int{1}
   205  }
   206  
   207  // ListResponse is returned by List
   208  type ListResponse struct {
   209  	state         protoimpl.MessageState
   210  	sizeCache     protoimpl.SizeCache
   211  	unknownFields protoimpl.UnknownFields
   212  
   213  	Routes []*Route `protobuf:"bytes,1,rep,name=routes,proto3" json:"routes,omitempty"`
   214  }
   215  
   216  func (x *ListResponse) Reset() {
   217  	*x = ListResponse{}
   218  	if protoimpl.UnsafeEnabled {
   219  		mi := &file_router_service_proto_router_proto_msgTypes[2]
   220  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   221  		ms.StoreMessageInfo(mi)
   222  	}
   223  }
   224  
   225  func (x *ListResponse) String() string {
   226  	return protoimpl.X.MessageStringOf(x)
   227  }
   228  
   229  func (*ListResponse) ProtoMessage() {}
   230  
   231  func (x *ListResponse) ProtoReflect() protoreflect.Message {
   232  	mi := &file_router_service_proto_router_proto_msgTypes[2]
   233  	if protoimpl.UnsafeEnabled && x != nil {
   234  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   235  		if ms.LoadMessageInfo() == nil {
   236  			ms.StoreMessageInfo(mi)
   237  		}
   238  		return ms
   239  	}
   240  	return mi.MessageOf(x)
   241  }
   242  
   243  // Deprecated: Use ListResponse.ProtoReflect.Descriptor instead.
   244  func (*ListResponse) Descriptor() ([]byte, []int) {
   245  	return file_router_service_proto_router_proto_rawDescGZIP(), []int{2}
   246  }
   247  
   248  func (x *ListResponse) GetRoutes() []*Route {
   249  	if x != nil {
   250  		return x.Routes
   251  	}
   252  	return nil
   253  }
   254  
   255  // LookupRequest is made to Lookup
   256  type LookupRequest struct {
   257  	state         protoimpl.MessageState
   258  	sizeCache     protoimpl.SizeCache
   259  	unknownFields protoimpl.UnknownFields
   260  
   261  	Query *Query `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"`
   262  }
   263  
   264  func (x *LookupRequest) Reset() {
   265  	*x = LookupRequest{}
   266  	if protoimpl.UnsafeEnabled {
   267  		mi := &file_router_service_proto_router_proto_msgTypes[3]
   268  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   269  		ms.StoreMessageInfo(mi)
   270  	}
   271  }
   272  
   273  func (x *LookupRequest) String() string {
   274  	return protoimpl.X.MessageStringOf(x)
   275  }
   276  
   277  func (*LookupRequest) ProtoMessage() {}
   278  
   279  func (x *LookupRequest) ProtoReflect() protoreflect.Message {
   280  	mi := &file_router_service_proto_router_proto_msgTypes[3]
   281  	if protoimpl.UnsafeEnabled && x != nil {
   282  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   283  		if ms.LoadMessageInfo() == nil {
   284  			ms.StoreMessageInfo(mi)
   285  		}
   286  		return ms
   287  	}
   288  	return mi.MessageOf(x)
   289  }
   290  
   291  // Deprecated: Use LookupRequest.ProtoReflect.Descriptor instead.
   292  func (*LookupRequest) Descriptor() ([]byte, []int) {
   293  	return file_router_service_proto_router_proto_rawDescGZIP(), []int{3}
   294  }
   295  
   296  func (x *LookupRequest) GetQuery() *Query {
   297  	if x != nil {
   298  		return x.Query
   299  	}
   300  	return nil
   301  }
   302  
   303  // LookupResponse is returned by Lookup
   304  type LookupResponse struct {
   305  	state         protoimpl.MessageState
   306  	sizeCache     protoimpl.SizeCache
   307  	unknownFields protoimpl.UnknownFields
   308  
   309  	Routes []*Route `protobuf:"bytes,1,rep,name=routes,proto3" json:"routes,omitempty"`
   310  }
   311  
   312  func (x *LookupResponse) Reset() {
   313  	*x = LookupResponse{}
   314  	if protoimpl.UnsafeEnabled {
   315  		mi := &file_router_service_proto_router_proto_msgTypes[4]
   316  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   317  		ms.StoreMessageInfo(mi)
   318  	}
   319  }
   320  
   321  func (x *LookupResponse) String() string {
   322  	return protoimpl.X.MessageStringOf(x)
   323  }
   324  
   325  func (*LookupResponse) ProtoMessage() {}
   326  
   327  func (x *LookupResponse) ProtoReflect() protoreflect.Message {
   328  	mi := &file_router_service_proto_router_proto_msgTypes[4]
   329  	if protoimpl.UnsafeEnabled && x != nil {
   330  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   331  		if ms.LoadMessageInfo() == nil {
   332  			ms.StoreMessageInfo(mi)
   333  		}
   334  		return ms
   335  	}
   336  	return mi.MessageOf(x)
   337  }
   338  
   339  // Deprecated: Use LookupResponse.ProtoReflect.Descriptor instead.
   340  func (*LookupResponse) Descriptor() ([]byte, []int) {
   341  	return file_router_service_proto_router_proto_rawDescGZIP(), []int{4}
   342  }
   343  
   344  func (x *LookupResponse) GetRoutes() []*Route {
   345  	if x != nil {
   346  		return x.Routes
   347  	}
   348  	return nil
   349  }
   350  
   351  // QueryRequest queries Table for Routes
   352  type QueryRequest struct {
   353  	state         protoimpl.MessageState
   354  	sizeCache     protoimpl.SizeCache
   355  	unknownFields protoimpl.UnknownFields
   356  
   357  	Query *Query `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"`
   358  }
   359  
   360  func (x *QueryRequest) Reset() {
   361  	*x = QueryRequest{}
   362  	if protoimpl.UnsafeEnabled {
   363  		mi := &file_router_service_proto_router_proto_msgTypes[5]
   364  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   365  		ms.StoreMessageInfo(mi)
   366  	}
   367  }
   368  
   369  func (x *QueryRequest) String() string {
   370  	return protoimpl.X.MessageStringOf(x)
   371  }
   372  
   373  func (*QueryRequest) ProtoMessage() {}
   374  
   375  func (x *QueryRequest) ProtoReflect() protoreflect.Message {
   376  	mi := &file_router_service_proto_router_proto_msgTypes[5]
   377  	if protoimpl.UnsafeEnabled && x != nil {
   378  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   379  		if ms.LoadMessageInfo() == nil {
   380  			ms.StoreMessageInfo(mi)
   381  		}
   382  		return ms
   383  	}
   384  	return mi.MessageOf(x)
   385  }
   386  
   387  // Deprecated: Use QueryRequest.ProtoReflect.Descriptor instead.
   388  func (*QueryRequest) Descriptor() ([]byte, []int) {
   389  	return file_router_service_proto_router_proto_rawDescGZIP(), []int{5}
   390  }
   391  
   392  func (x *QueryRequest) GetQuery() *Query {
   393  	if x != nil {
   394  		return x.Query
   395  	}
   396  	return nil
   397  }
   398  
   399  // QueryResponse is returned by Query
   400  type QueryResponse struct {
   401  	state         protoimpl.MessageState
   402  	sizeCache     protoimpl.SizeCache
   403  	unknownFields protoimpl.UnknownFields
   404  
   405  	Routes []*Route `protobuf:"bytes,1,rep,name=routes,proto3" json:"routes,omitempty"`
   406  }
   407  
   408  func (x *QueryResponse) Reset() {
   409  	*x = QueryResponse{}
   410  	if protoimpl.UnsafeEnabled {
   411  		mi := &file_router_service_proto_router_proto_msgTypes[6]
   412  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   413  		ms.StoreMessageInfo(mi)
   414  	}
   415  }
   416  
   417  func (x *QueryResponse) String() string {
   418  	return protoimpl.X.MessageStringOf(x)
   419  }
   420  
   421  func (*QueryResponse) ProtoMessage() {}
   422  
   423  func (x *QueryResponse) ProtoReflect() protoreflect.Message {
   424  	mi := &file_router_service_proto_router_proto_msgTypes[6]
   425  	if protoimpl.UnsafeEnabled && x != nil {
   426  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   427  		if ms.LoadMessageInfo() == nil {
   428  			ms.StoreMessageInfo(mi)
   429  		}
   430  		return ms
   431  	}
   432  	return mi.MessageOf(x)
   433  }
   434  
   435  // Deprecated: Use QueryResponse.ProtoReflect.Descriptor instead.
   436  func (*QueryResponse) Descriptor() ([]byte, []int) {
   437  	return file_router_service_proto_router_proto_rawDescGZIP(), []int{6}
   438  }
   439  
   440  func (x *QueryResponse) GetRoutes() []*Route {
   441  	if x != nil {
   442  		return x.Routes
   443  	}
   444  	return nil
   445  }
   446  
   447  // WatchRequest is made to Watch Router
   448  type WatchRequest struct {
   449  	state         protoimpl.MessageState
   450  	sizeCache     protoimpl.SizeCache
   451  	unknownFields protoimpl.UnknownFields
   452  }
   453  
   454  func (x *WatchRequest) Reset() {
   455  	*x = WatchRequest{}
   456  	if protoimpl.UnsafeEnabled {
   457  		mi := &file_router_service_proto_router_proto_msgTypes[7]
   458  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   459  		ms.StoreMessageInfo(mi)
   460  	}
   461  }
   462  
   463  func (x *WatchRequest) String() string {
   464  	return protoimpl.X.MessageStringOf(x)
   465  }
   466  
   467  func (*WatchRequest) ProtoMessage() {}
   468  
   469  func (x *WatchRequest) ProtoReflect() protoreflect.Message {
   470  	mi := &file_router_service_proto_router_proto_msgTypes[7]
   471  	if protoimpl.UnsafeEnabled && x != nil {
   472  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   473  		if ms.LoadMessageInfo() == nil {
   474  			ms.StoreMessageInfo(mi)
   475  		}
   476  		return ms
   477  	}
   478  	return mi.MessageOf(x)
   479  }
   480  
   481  // Deprecated: Use WatchRequest.ProtoReflect.Descriptor instead.
   482  func (*WatchRequest) Descriptor() ([]byte, []int) {
   483  	return file_router_service_proto_router_proto_rawDescGZIP(), []int{7}
   484  }
   485  
   486  // Advert is router advertsement streamed by Watch
   487  type Advert struct {
   488  	state         protoimpl.MessageState
   489  	sizeCache     protoimpl.SizeCache
   490  	unknownFields protoimpl.UnknownFields
   491  
   492  	// id of the advertising router
   493  	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   494  	// type of advertisement
   495  	Type AdvertType `protobuf:"varint,2,opt,name=type,proto3,enum=go.micro.router.AdvertType" json:"type,omitempty"`
   496  	// unix timestamp of the advertisement
   497  	Timestamp int64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
   498  	// TTL of the Advert
   499  	Ttl int64 `protobuf:"varint,4,opt,name=ttl,proto3" json:"ttl,omitempty"`
   500  	// events is a list of advertised events
   501  	Events []*Event `protobuf:"bytes,5,rep,name=events,proto3" json:"events,omitempty"`
   502  }
   503  
   504  func (x *Advert) Reset() {
   505  	*x = Advert{}
   506  	if protoimpl.UnsafeEnabled {
   507  		mi := &file_router_service_proto_router_proto_msgTypes[8]
   508  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   509  		ms.StoreMessageInfo(mi)
   510  	}
   511  }
   512  
   513  func (x *Advert) String() string {
   514  	return protoimpl.X.MessageStringOf(x)
   515  }
   516  
   517  func (*Advert) ProtoMessage() {}
   518  
   519  func (x *Advert) ProtoReflect() protoreflect.Message {
   520  	mi := &file_router_service_proto_router_proto_msgTypes[8]
   521  	if protoimpl.UnsafeEnabled && x != nil {
   522  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   523  		if ms.LoadMessageInfo() == nil {
   524  			ms.StoreMessageInfo(mi)
   525  		}
   526  		return ms
   527  	}
   528  	return mi.MessageOf(x)
   529  }
   530  
   531  // Deprecated: Use Advert.ProtoReflect.Descriptor instead.
   532  func (*Advert) Descriptor() ([]byte, []int) {
   533  	return file_router_service_proto_router_proto_rawDescGZIP(), []int{8}
   534  }
   535  
   536  func (x *Advert) GetId() string {
   537  	if x != nil {
   538  		return x.Id
   539  	}
   540  	return ""
   541  }
   542  
   543  func (x *Advert) GetType() AdvertType {
   544  	if x != nil {
   545  		return x.Type
   546  	}
   547  	return AdvertType_AdvertAnnounce
   548  }
   549  
   550  func (x *Advert) GetTimestamp() int64 {
   551  	if x != nil {
   552  		return x.Timestamp
   553  	}
   554  	return 0
   555  }
   556  
   557  func (x *Advert) GetTtl() int64 {
   558  	if x != nil {
   559  		return x.Ttl
   560  	}
   561  	return 0
   562  }
   563  
   564  func (x *Advert) GetEvents() []*Event {
   565  	if x != nil {
   566  		return x.Events
   567  	}
   568  	return nil
   569  }
   570  
   571  // ProcessResponse is returned by Process
   572  type ProcessResponse struct {
   573  	state         protoimpl.MessageState
   574  	sizeCache     protoimpl.SizeCache
   575  	unknownFields protoimpl.UnknownFields
   576  }
   577  
   578  func (x *ProcessResponse) Reset() {
   579  	*x = ProcessResponse{}
   580  	if protoimpl.UnsafeEnabled {
   581  		mi := &file_router_service_proto_router_proto_msgTypes[9]
   582  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   583  		ms.StoreMessageInfo(mi)
   584  	}
   585  }
   586  
   587  func (x *ProcessResponse) String() string {
   588  	return protoimpl.X.MessageStringOf(x)
   589  }
   590  
   591  func (*ProcessResponse) ProtoMessage() {}
   592  
   593  func (x *ProcessResponse) ProtoReflect() protoreflect.Message {
   594  	mi := &file_router_service_proto_router_proto_msgTypes[9]
   595  	if protoimpl.UnsafeEnabled && x != nil {
   596  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   597  		if ms.LoadMessageInfo() == nil {
   598  			ms.StoreMessageInfo(mi)
   599  		}
   600  		return ms
   601  	}
   602  	return mi.MessageOf(x)
   603  }
   604  
   605  // Deprecated: Use ProcessResponse.ProtoReflect.Descriptor instead.
   606  func (*ProcessResponse) Descriptor() ([]byte, []int) {
   607  	return file_router_service_proto_router_proto_rawDescGZIP(), []int{9}
   608  }
   609  
   610  // CreateResponse is returned by Create
   611  type CreateResponse struct {
   612  	state         protoimpl.MessageState
   613  	sizeCache     protoimpl.SizeCache
   614  	unknownFields protoimpl.UnknownFields
   615  }
   616  
   617  func (x *CreateResponse) Reset() {
   618  	*x = CreateResponse{}
   619  	if protoimpl.UnsafeEnabled {
   620  		mi := &file_router_service_proto_router_proto_msgTypes[10]
   621  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   622  		ms.StoreMessageInfo(mi)
   623  	}
   624  }
   625  
   626  func (x *CreateResponse) String() string {
   627  	return protoimpl.X.MessageStringOf(x)
   628  }
   629  
   630  func (*CreateResponse) ProtoMessage() {}
   631  
   632  func (x *CreateResponse) ProtoReflect() protoreflect.Message {
   633  	mi := &file_router_service_proto_router_proto_msgTypes[10]
   634  	if protoimpl.UnsafeEnabled && x != nil {
   635  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   636  		if ms.LoadMessageInfo() == nil {
   637  			ms.StoreMessageInfo(mi)
   638  		}
   639  		return ms
   640  	}
   641  	return mi.MessageOf(x)
   642  }
   643  
   644  // Deprecated: Use CreateResponse.ProtoReflect.Descriptor instead.
   645  func (*CreateResponse) Descriptor() ([]byte, []int) {
   646  	return file_router_service_proto_router_proto_rawDescGZIP(), []int{10}
   647  }
   648  
   649  // DeleteResponse is returned by Delete
   650  type DeleteResponse struct {
   651  	state         protoimpl.MessageState
   652  	sizeCache     protoimpl.SizeCache
   653  	unknownFields protoimpl.UnknownFields
   654  }
   655  
   656  func (x *DeleteResponse) Reset() {
   657  	*x = DeleteResponse{}
   658  	if protoimpl.UnsafeEnabled {
   659  		mi := &file_router_service_proto_router_proto_msgTypes[11]
   660  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   661  		ms.StoreMessageInfo(mi)
   662  	}
   663  }
   664  
   665  func (x *DeleteResponse) String() string {
   666  	return protoimpl.X.MessageStringOf(x)
   667  }
   668  
   669  func (*DeleteResponse) ProtoMessage() {}
   670  
   671  func (x *DeleteResponse) ProtoReflect() protoreflect.Message {
   672  	mi := &file_router_service_proto_router_proto_msgTypes[11]
   673  	if protoimpl.UnsafeEnabled && x != nil {
   674  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   675  		if ms.LoadMessageInfo() == nil {
   676  			ms.StoreMessageInfo(mi)
   677  		}
   678  		return ms
   679  	}
   680  	return mi.MessageOf(x)
   681  }
   682  
   683  // Deprecated: Use DeleteResponse.ProtoReflect.Descriptor instead.
   684  func (*DeleteResponse) Descriptor() ([]byte, []int) {
   685  	return file_router_service_proto_router_proto_rawDescGZIP(), []int{11}
   686  }
   687  
   688  // UpdateResponse is returned by Update
   689  type UpdateResponse struct {
   690  	state         protoimpl.MessageState
   691  	sizeCache     protoimpl.SizeCache
   692  	unknownFields protoimpl.UnknownFields
   693  }
   694  
   695  func (x *UpdateResponse) Reset() {
   696  	*x = UpdateResponse{}
   697  	if protoimpl.UnsafeEnabled {
   698  		mi := &file_router_service_proto_router_proto_msgTypes[12]
   699  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   700  		ms.StoreMessageInfo(mi)
   701  	}
   702  }
   703  
   704  func (x *UpdateResponse) String() string {
   705  	return protoimpl.X.MessageStringOf(x)
   706  }
   707  
   708  func (*UpdateResponse) ProtoMessage() {}
   709  
   710  func (x *UpdateResponse) ProtoReflect() protoreflect.Message {
   711  	mi := &file_router_service_proto_router_proto_msgTypes[12]
   712  	if protoimpl.UnsafeEnabled && x != nil {
   713  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   714  		if ms.LoadMessageInfo() == nil {
   715  			ms.StoreMessageInfo(mi)
   716  		}
   717  		return ms
   718  	}
   719  	return mi.MessageOf(x)
   720  }
   721  
   722  // Deprecated: Use UpdateResponse.ProtoReflect.Descriptor instead.
   723  func (*UpdateResponse) Descriptor() ([]byte, []int) {
   724  	return file_router_service_proto_router_proto_rawDescGZIP(), []int{12}
   725  }
   726  
   727  // Event is routing table event
   728  type Event struct {
   729  	state         protoimpl.MessageState
   730  	sizeCache     protoimpl.SizeCache
   731  	unknownFields protoimpl.UnknownFields
   732  
   733  	// the unique event id
   734  	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   735  	// type of event
   736  	Type EventType `protobuf:"varint,2,opt,name=type,proto3,enum=go.micro.router.EventType" json:"type,omitempty"`
   737  	// unix timestamp of event
   738  	Timestamp int64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
   739  	// service route
   740  	Route *Route `protobuf:"bytes,4,opt,name=route,proto3" json:"route,omitempty"`
   741  }
   742  
   743  func (x *Event) Reset() {
   744  	*x = Event{}
   745  	if protoimpl.UnsafeEnabled {
   746  		mi := &file_router_service_proto_router_proto_msgTypes[13]
   747  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   748  		ms.StoreMessageInfo(mi)
   749  	}
   750  }
   751  
   752  func (x *Event) String() string {
   753  	return protoimpl.X.MessageStringOf(x)
   754  }
   755  
   756  func (*Event) ProtoMessage() {}
   757  
   758  func (x *Event) ProtoReflect() protoreflect.Message {
   759  	mi := &file_router_service_proto_router_proto_msgTypes[13]
   760  	if protoimpl.UnsafeEnabled && x != nil {
   761  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   762  		if ms.LoadMessageInfo() == nil {
   763  			ms.StoreMessageInfo(mi)
   764  		}
   765  		return ms
   766  	}
   767  	return mi.MessageOf(x)
   768  }
   769  
   770  // Deprecated: Use Event.ProtoReflect.Descriptor instead.
   771  func (*Event) Descriptor() ([]byte, []int) {
   772  	return file_router_service_proto_router_proto_rawDescGZIP(), []int{13}
   773  }
   774  
   775  func (x *Event) GetId() string {
   776  	if x != nil {
   777  		return x.Id
   778  	}
   779  	return ""
   780  }
   781  
   782  func (x *Event) GetType() EventType {
   783  	if x != nil {
   784  		return x.Type
   785  	}
   786  	return EventType_Create
   787  }
   788  
   789  func (x *Event) GetTimestamp() int64 {
   790  	if x != nil {
   791  		return x.Timestamp
   792  	}
   793  	return 0
   794  }
   795  
   796  func (x *Event) GetRoute() *Route {
   797  	if x != nil {
   798  		return x.Route
   799  	}
   800  	return nil
   801  }
   802  
   803  // Query is passed in a LookupRequest
   804  type Query struct {
   805  	state         protoimpl.MessageState
   806  	sizeCache     protoimpl.SizeCache
   807  	unknownFields protoimpl.UnknownFields
   808  
   809  	// service to lookup
   810  	Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"`
   811  	// gateway to lookup
   812  	Gateway string `protobuf:"bytes,2,opt,name=gateway,proto3" json:"gateway,omitempty"`
   813  	// network to lookup
   814  	Network string `protobuf:"bytes,3,opt,name=network,proto3" json:"network,omitempty"`
   815  }
   816  
   817  func (x *Query) Reset() {
   818  	*x = Query{}
   819  	if protoimpl.UnsafeEnabled {
   820  		mi := &file_router_service_proto_router_proto_msgTypes[14]
   821  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   822  		ms.StoreMessageInfo(mi)
   823  	}
   824  }
   825  
   826  func (x *Query) String() string {
   827  	return protoimpl.X.MessageStringOf(x)
   828  }
   829  
   830  func (*Query) ProtoMessage() {}
   831  
   832  func (x *Query) ProtoReflect() protoreflect.Message {
   833  	mi := &file_router_service_proto_router_proto_msgTypes[14]
   834  	if protoimpl.UnsafeEnabled && x != nil {
   835  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   836  		if ms.LoadMessageInfo() == nil {
   837  			ms.StoreMessageInfo(mi)
   838  		}
   839  		return ms
   840  	}
   841  	return mi.MessageOf(x)
   842  }
   843  
   844  // Deprecated: Use Query.ProtoReflect.Descriptor instead.
   845  func (*Query) Descriptor() ([]byte, []int) {
   846  	return file_router_service_proto_router_proto_rawDescGZIP(), []int{14}
   847  }
   848  
   849  func (x *Query) GetService() string {
   850  	if x != nil {
   851  		return x.Service
   852  	}
   853  	return ""
   854  }
   855  
   856  func (x *Query) GetGateway() string {
   857  	if x != nil {
   858  		return x.Gateway
   859  	}
   860  	return ""
   861  }
   862  
   863  func (x *Query) GetNetwork() string {
   864  	if x != nil {
   865  		return x.Network
   866  	}
   867  	return ""
   868  }
   869  
   870  // Route is a service route
   871  type Route struct {
   872  	state         protoimpl.MessageState
   873  	sizeCache     protoimpl.SizeCache
   874  	unknownFields protoimpl.UnknownFields
   875  
   876  	// service for the route
   877  	Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"`
   878  	// the address that advertise this route
   879  	Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
   880  	// gateway as the next hop
   881  	Gateway string `protobuf:"bytes,3,opt,name=gateway,proto3" json:"gateway,omitempty"`
   882  	// the network for this destination
   883  	Network string `protobuf:"bytes,4,opt,name=network,proto3" json:"network,omitempty"`
   884  	// router if the router id
   885  	Router string `protobuf:"bytes,5,opt,name=router,proto3" json:"router,omitempty"`
   886  	// the network link
   887  	Link string `protobuf:"bytes,6,opt,name=link,proto3" json:"link,omitempty"`
   888  	// the metric / score of this route
   889  	Metric int64 `protobuf:"varint,7,opt,name=metric,proto3" json:"metric,omitempty"`
   890  }
   891  
   892  func (x *Route) Reset() {
   893  	*x = Route{}
   894  	if protoimpl.UnsafeEnabled {
   895  		mi := &file_router_service_proto_router_proto_msgTypes[15]
   896  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   897  		ms.StoreMessageInfo(mi)
   898  	}
   899  }
   900  
   901  func (x *Route) String() string {
   902  	return protoimpl.X.MessageStringOf(x)
   903  }
   904  
   905  func (*Route) ProtoMessage() {}
   906  
   907  func (x *Route) ProtoReflect() protoreflect.Message {
   908  	mi := &file_router_service_proto_router_proto_msgTypes[15]
   909  	if protoimpl.UnsafeEnabled && x != nil {
   910  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   911  		if ms.LoadMessageInfo() == nil {
   912  			ms.StoreMessageInfo(mi)
   913  		}
   914  		return ms
   915  	}
   916  	return mi.MessageOf(x)
   917  }
   918  
   919  // Deprecated: Use Route.ProtoReflect.Descriptor instead.
   920  func (*Route) Descriptor() ([]byte, []int) {
   921  	return file_router_service_proto_router_proto_rawDescGZIP(), []int{15}
   922  }
   923  
   924  func (x *Route) GetService() string {
   925  	if x != nil {
   926  		return x.Service
   927  	}
   928  	return ""
   929  }
   930  
   931  func (x *Route) GetAddress() string {
   932  	if x != nil {
   933  		return x.Address
   934  	}
   935  	return ""
   936  }
   937  
   938  func (x *Route) GetGateway() string {
   939  	if x != nil {
   940  		return x.Gateway
   941  	}
   942  	return ""
   943  }
   944  
   945  func (x *Route) GetNetwork() string {
   946  	if x != nil {
   947  		return x.Network
   948  	}
   949  	return ""
   950  }
   951  
   952  func (x *Route) GetRouter() string {
   953  	if x != nil {
   954  		return x.Router
   955  	}
   956  	return ""
   957  }
   958  
   959  func (x *Route) GetLink() string {
   960  	if x != nil {
   961  		return x.Link
   962  	}
   963  	return ""
   964  }
   965  
   966  func (x *Route) GetMetric() int64 {
   967  	if x != nil {
   968  		return x.Metric
   969  	}
   970  	return 0
   971  }
   972  
   973  var File_router_service_proto_router_proto protoreflect.FileDescriptor
   974  
   975  var file_router_service_proto_router_proto_rawDesc = []byte{
   976  	0x0a, 0x21, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
   977  	0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72,
   978  	0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x67, 0x6f, 0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x2e, 0x72, 0x6f,
   979  	0x75, 0x74, 0x65, 0x72, 0x22, 0x09, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22,
   980  	0x0a, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x0a, 0x0c, 0x4c,
   981  	0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x06, 0x72,
   982  	0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f,
   983  	0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x52, 0x6f,
   984  	0x75, 0x74, 0x65, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, 0x3d, 0x0a, 0x0d, 0x4c,
   985  	0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x05,
   986  	0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f,
   987  	0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x51, 0x75,
   988  	0x65, 0x72, 0x79, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x40, 0x0a, 0x0e, 0x4c, 0x6f,
   989  	0x6f, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x06,
   990  	0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67,
   991  	0x6f, 0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x52,
   992  	0x6f, 0x75, 0x74, 0x65, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, 0x3c, 0x0a, 0x0c,
   993  	0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x05,
   994  	0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f,
   995  	0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x51, 0x75,
   996  	0x65, 0x72, 0x79, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x3f, 0x0a, 0x0d, 0x51, 0x75,
   997  	0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x06, 0x72,
   998  	0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f,
   999  	0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x52, 0x6f,
  1000  	0x75, 0x74, 0x65, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, 0x0e, 0x0a, 0x0c, 0x57,
  1001  	0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xa9, 0x01, 0x0a, 0x06,
  1002  	0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
  1003  	0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02,
  1004  	0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x2e,
  1005  	0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x54, 0x79, 0x70,
  1006  	0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73,
  1007  	0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65,
  1008  	0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x04, 0x20, 0x01,
  1009  	0x28, 0x03, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x2e, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74,
  1010  	0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x2e, 0x6d, 0x69, 0x63,
  1011  	0x72, 0x6f, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52,
  1012  	0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x11, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x63, 0x65,
  1013  	0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x10, 0x0a, 0x0e, 0x43, 0x72,
  1014  	0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x10, 0x0a, 0x0e,
  1015  	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x10,
  1016  	0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
  1017  	0x22, 0x93, 0x01, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
  1018  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x79,
  1019  	0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x2e, 0x6d, 0x69,
  1020  	0x63, 0x72, 0x6f, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74,
  1021  	0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69,
  1022  	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74,
  1023  	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x2c, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x74,
  1024  	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x2e, 0x6d, 0x69, 0x63,
  1025  	0x72, 0x6f, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52,
  1026  	0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x22, 0x55, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12,
  1027  	0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  1028  	0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x61, 0x74,
  1029  	0x65, 0x77, 0x61, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x61, 0x74, 0x65,
  1030  	0x77, 0x61, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x03,
  1031  	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x22, 0xb3, 0x01,
  1032  	0x0a, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69,
  1033  	0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
  1034  	0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01,
  1035  	0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x67,
  1036  	0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x61,
  1037  	0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
  1038  	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12,
  1039  	0x16, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
  1040  	0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18,
  1041  	0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x6d,
  1042  	0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6d, 0x65, 0x74,
  1043  	0x72, 0x69, 0x63, 0x2a, 0x32, 0x0a, 0x0a, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x54, 0x79, 0x70,
  1044  	0x65, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x75,
  1045  	0x6e, 0x63, 0x65, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x55,
  1046  	0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0x01, 0x2a, 0x2f, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74,
  1047  	0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x10, 0x00,
  1048  	0x12, 0x0a, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06,
  1049  	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0x02, 0x32, 0xa5, 0x02, 0x0a, 0x06, 0x52, 0x6f, 0x75,
  1050  	0x74, 0x65, 0x72, 0x12, 0x4b, 0x0a, 0x06, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x12, 0x1e, 0x2e,
  1051  	0x67, 0x6f, 0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e,
  1052  	0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e,
  1053  	0x67, 0x6f, 0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e,
  1054  	0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
  1055  	0x12, 0x42, 0x0a, 0x05, 0x57, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x2e, 0x6d,
  1056  	0x69, 0x63, 0x72, 0x6f, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x57, 0x61, 0x74, 0x63,
  1057  	0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x2e, 0x6d, 0x69,
  1058  	0x63, 0x72, 0x6f, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74,
  1059  	0x22, 0x00, 0x30, 0x01, 0x12, 0x42, 0x0a, 0x09, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73,
  1060  	0x65, 0x12, 0x18, 0x2e, 0x67, 0x6f, 0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x2e, 0x72, 0x6f, 0x75,
  1061  	0x74, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x67, 0x6f,
  1062  	0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x41, 0x64,
  1063  	0x76, 0x65, 0x72, 0x74, 0x22, 0x00, 0x30, 0x01, 0x12, 0x46, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x63,
  1064  	0x65, 0x73, 0x73, 0x12, 0x17, 0x2e, 0x67, 0x6f, 0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x2e, 0x72,
  1065  	0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x1a, 0x20, 0x2e, 0x67,
  1066  	0x6f, 0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x50,
  1067  	0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
  1068  	0x32, 0xe3, 0x02, 0x0a, 0x05, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x43, 0x72,
  1069  	0x65, 0x61, 0x74, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x2e,
  1070  	0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x1a, 0x1f, 0x2e, 0x67,
  1071  	0x6f, 0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x43,
  1072  	0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
  1073  	0x43, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x2e, 0x6d,
  1074  	0x69, 0x63, 0x72, 0x6f, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x52, 0x6f, 0x75, 0x74,
  1075  	0x65, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x2e, 0x72, 0x6f, 0x75,
  1076  	0x74, 0x65, 0x72, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
  1077  	0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x16,
  1078  	0x2e, 0x67, 0x6f, 0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72,
  1079  	0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x2e, 0x6d, 0x69, 0x63, 0x72,
  1080  	0x6f, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52,
  1081  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x04, 0x4c, 0x69, 0x73,
  1082  	0x74, 0x12, 0x18, 0x2e, 0x67, 0x6f, 0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x2e, 0x72, 0x6f, 0x75,
  1083  	0x74, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f,
  1084  	0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x69,
  1085  	0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x05,
  1086  	0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f,
  1087  	0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71,
  1088  	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x2e,
  1089  	0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70,
  1090  	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x3e, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62,
  1091  	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6e, 0x6e, 0x77, 0x6e, 0x74, 0x65, 0x63, 0x68, 0x2f, 0x67,
  1092  	0x6f, 0x2d, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65,
  1093  	0x72, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x3b,
  1094  	0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  1095  }
  1096  
  1097  var (
  1098  	file_router_service_proto_router_proto_rawDescOnce sync.Once
  1099  	file_router_service_proto_router_proto_rawDescData = file_router_service_proto_router_proto_rawDesc
  1100  )
  1101  
  1102  func file_router_service_proto_router_proto_rawDescGZIP() []byte {
  1103  	file_router_service_proto_router_proto_rawDescOnce.Do(func() {
  1104  		file_router_service_proto_router_proto_rawDescData = protoimpl.X.CompressGZIP(file_router_service_proto_router_proto_rawDescData)
  1105  	})
  1106  	return file_router_service_proto_router_proto_rawDescData
  1107  }
  1108  
  1109  var file_router_service_proto_router_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
  1110  var file_router_service_proto_router_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
  1111  var file_router_service_proto_router_proto_goTypes = []interface{}{
  1112  	(AdvertType)(0),         // 0: go.micro.router.AdvertType
  1113  	(EventType)(0),          // 1: go.micro.router.EventType
  1114  	(*Request)(nil),         // 2: go.micro.router.Request
  1115  	(*Response)(nil),        // 3: go.micro.router.Response
  1116  	(*ListResponse)(nil),    // 4: go.micro.router.ListResponse
  1117  	(*LookupRequest)(nil),   // 5: go.micro.router.LookupRequest
  1118  	(*LookupResponse)(nil),  // 6: go.micro.router.LookupResponse
  1119  	(*QueryRequest)(nil),    // 7: go.micro.router.QueryRequest
  1120  	(*QueryResponse)(nil),   // 8: go.micro.router.QueryResponse
  1121  	(*WatchRequest)(nil),    // 9: go.micro.router.WatchRequest
  1122  	(*Advert)(nil),          // 10: go.micro.router.Advert
  1123  	(*ProcessResponse)(nil), // 11: go.micro.router.ProcessResponse
  1124  	(*CreateResponse)(nil),  // 12: go.micro.router.CreateResponse
  1125  	(*DeleteResponse)(nil),  // 13: go.micro.router.DeleteResponse
  1126  	(*UpdateResponse)(nil),  // 14: go.micro.router.UpdateResponse
  1127  	(*Event)(nil),           // 15: go.micro.router.Event
  1128  	(*Query)(nil),           // 16: go.micro.router.Query
  1129  	(*Route)(nil),           // 17: go.micro.router.Route
  1130  }
  1131  var file_router_service_proto_router_proto_depIdxs = []int32{
  1132  	17, // 0: go.micro.router.ListResponse.routes:type_name -> go.micro.router.Route
  1133  	16, // 1: go.micro.router.LookupRequest.query:type_name -> go.micro.router.Query
  1134  	17, // 2: go.micro.router.LookupResponse.routes:type_name -> go.micro.router.Route
  1135  	16, // 3: go.micro.router.QueryRequest.query:type_name -> go.micro.router.Query
  1136  	17, // 4: go.micro.router.QueryResponse.routes:type_name -> go.micro.router.Route
  1137  	0,  // 5: go.micro.router.Advert.type:type_name -> go.micro.router.AdvertType
  1138  	15, // 6: go.micro.router.Advert.events:type_name -> go.micro.router.Event
  1139  	1,  // 7: go.micro.router.Event.type:type_name -> go.micro.router.EventType
  1140  	17, // 8: go.micro.router.Event.route:type_name -> go.micro.router.Route
  1141  	5,  // 9: go.micro.router.Router.Lookup:input_type -> go.micro.router.LookupRequest
  1142  	9,  // 10: go.micro.router.Router.Watch:input_type -> go.micro.router.WatchRequest
  1143  	2,  // 11: go.micro.router.Router.Advertise:input_type -> go.micro.router.Request
  1144  	10, // 12: go.micro.router.Router.Process:input_type -> go.micro.router.Advert
  1145  	17, // 13: go.micro.router.Table.Create:input_type -> go.micro.router.Route
  1146  	17, // 14: go.micro.router.Table.Delete:input_type -> go.micro.router.Route
  1147  	17, // 15: go.micro.router.Table.Update:input_type -> go.micro.router.Route
  1148  	2,  // 16: go.micro.router.Table.List:input_type -> go.micro.router.Request
  1149  	7,  // 17: go.micro.router.Table.Query:input_type -> go.micro.router.QueryRequest
  1150  	6,  // 18: go.micro.router.Router.Lookup:output_type -> go.micro.router.LookupResponse
  1151  	15, // 19: go.micro.router.Router.Watch:output_type -> go.micro.router.Event
  1152  	10, // 20: go.micro.router.Router.Advertise:output_type -> go.micro.router.Advert
  1153  	11, // 21: go.micro.router.Router.Process:output_type -> go.micro.router.ProcessResponse
  1154  	12, // 22: go.micro.router.Table.Create:output_type -> go.micro.router.CreateResponse
  1155  	13, // 23: go.micro.router.Table.Delete:output_type -> go.micro.router.DeleteResponse
  1156  	14, // 24: go.micro.router.Table.Update:output_type -> go.micro.router.UpdateResponse
  1157  	4,  // 25: go.micro.router.Table.List:output_type -> go.micro.router.ListResponse
  1158  	8,  // 26: go.micro.router.Table.Query:output_type -> go.micro.router.QueryResponse
  1159  	18, // [18:27] is the sub-list for method output_type
  1160  	9,  // [9:18] is the sub-list for method input_type
  1161  	9,  // [9:9] is the sub-list for extension type_name
  1162  	9,  // [9:9] is the sub-list for extension extendee
  1163  	0,  // [0:9] is the sub-list for field type_name
  1164  }
  1165  
  1166  func init() { file_router_service_proto_router_proto_init() }
  1167  func file_router_service_proto_router_proto_init() {
  1168  	if File_router_service_proto_router_proto != nil {
  1169  		return
  1170  	}
  1171  	if !protoimpl.UnsafeEnabled {
  1172  		file_router_service_proto_router_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  1173  			switch v := v.(*Request); i {
  1174  			case 0:
  1175  				return &v.state
  1176  			case 1:
  1177  				return &v.sizeCache
  1178  			case 2:
  1179  				return &v.unknownFields
  1180  			default:
  1181  				return nil
  1182  			}
  1183  		}
  1184  		file_router_service_proto_router_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  1185  			switch v := v.(*Response); i {
  1186  			case 0:
  1187  				return &v.state
  1188  			case 1:
  1189  				return &v.sizeCache
  1190  			case 2:
  1191  				return &v.unknownFields
  1192  			default:
  1193  				return nil
  1194  			}
  1195  		}
  1196  		file_router_service_proto_router_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  1197  			switch v := v.(*ListResponse); i {
  1198  			case 0:
  1199  				return &v.state
  1200  			case 1:
  1201  				return &v.sizeCache
  1202  			case 2:
  1203  				return &v.unknownFields
  1204  			default:
  1205  				return nil
  1206  			}
  1207  		}
  1208  		file_router_service_proto_router_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  1209  			switch v := v.(*LookupRequest); i {
  1210  			case 0:
  1211  				return &v.state
  1212  			case 1:
  1213  				return &v.sizeCache
  1214  			case 2:
  1215  				return &v.unknownFields
  1216  			default:
  1217  				return nil
  1218  			}
  1219  		}
  1220  		file_router_service_proto_router_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1221  			switch v := v.(*LookupResponse); i {
  1222  			case 0:
  1223  				return &v.state
  1224  			case 1:
  1225  				return &v.sizeCache
  1226  			case 2:
  1227  				return &v.unknownFields
  1228  			default:
  1229  				return nil
  1230  			}
  1231  		}
  1232  		file_router_service_proto_router_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1233  			switch v := v.(*QueryRequest); i {
  1234  			case 0:
  1235  				return &v.state
  1236  			case 1:
  1237  				return &v.sizeCache
  1238  			case 2:
  1239  				return &v.unknownFields
  1240  			default:
  1241  				return nil
  1242  			}
  1243  		}
  1244  		file_router_service_proto_router_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1245  			switch v := v.(*QueryResponse); i {
  1246  			case 0:
  1247  				return &v.state
  1248  			case 1:
  1249  				return &v.sizeCache
  1250  			case 2:
  1251  				return &v.unknownFields
  1252  			default:
  1253  				return nil
  1254  			}
  1255  		}
  1256  		file_router_service_proto_router_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  1257  			switch v := v.(*WatchRequest); i {
  1258  			case 0:
  1259  				return &v.state
  1260  			case 1:
  1261  				return &v.sizeCache
  1262  			case 2:
  1263  				return &v.unknownFields
  1264  			default:
  1265  				return nil
  1266  			}
  1267  		}
  1268  		file_router_service_proto_router_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  1269  			switch v := v.(*Advert); i {
  1270  			case 0:
  1271  				return &v.state
  1272  			case 1:
  1273  				return &v.sizeCache
  1274  			case 2:
  1275  				return &v.unknownFields
  1276  			default:
  1277  				return nil
  1278  			}
  1279  		}
  1280  		file_router_service_proto_router_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  1281  			switch v := v.(*ProcessResponse); i {
  1282  			case 0:
  1283  				return &v.state
  1284  			case 1:
  1285  				return &v.sizeCache
  1286  			case 2:
  1287  				return &v.unknownFields
  1288  			default:
  1289  				return nil
  1290  			}
  1291  		}
  1292  		file_router_service_proto_router_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  1293  			switch v := v.(*CreateResponse); i {
  1294  			case 0:
  1295  				return &v.state
  1296  			case 1:
  1297  				return &v.sizeCache
  1298  			case 2:
  1299  				return &v.unknownFields
  1300  			default:
  1301  				return nil
  1302  			}
  1303  		}
  1304  		file_router_service_proto_router_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  1305  			switch v := v.(*DeleteResponse); i {
  1306  			case 0:
  1307  				return &v.state
  1308  			case 1:
  1309  				return &v.sizeCache
  1310  			case 2:
  1311  				return &v.unknownFields
  1312  			default:
  1313  				return nil
  1314  			}
  1315  		}
  1316  		file_router_service_proto_router_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  1317  			switch v := v.(*UpdateResponse); i {
  1318  			case 0:
  1319  				return &v.state
  1320  			case 1:
  1321  				return &v.sizeCache
  1322  			case 2:
  1323  				return &v.unknownFields
  1324  			default:
  1325  				return nil
  1326  			}
  1327  		}
  1328  		file_router_service_proto_router_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  1329  			switch v := v.(*Event); i {
  1330  			case 0:
  1331  				return &v.state
  1332  			case 1:
  1333  				return &v.sizeCache
  1334  			case 2:
  1335  				return &v.unknownFields
  1336  			default:
  1337  				return nil
  1338  			}
  1339  		}
  1340  		file_router_service_proto_router_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  1341  			switch v := v.(*Query); i {
  1342  			case 0:
  1343  				return &v.state
  1344  			case 1:
  1345  				return &v.sizeCache
  1346  			case 2:
  1347  				return &v.unknownFields
  1348  			default:
  1349  				return nil
  1350  			}
  1351  		}
  1352  		file_router_service_proto_router_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  1353  			switch v := v.(*Route); i {
  1354  			case 0:
  1355  				return &v.state
  1356  			case 1:
  1357  				return &v.sizeCache
  1358  			case 2:
  1359  				return &v.unknownFields
  1360  			default:
  1361  				return nil
  1362  			}
  1363  		}
  1364  	}
  1365  	type x struct{}
  1366  	out := protoimpl.TypeBuilder{
  1367  		File: protoimpl.DescBuilder{
  1368  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1369  			RawDescriptor: file_router_service_proto_router_proto_rawDesc,
  1370  			NumEnums:      2,
  1371  			NumMessages:   16,
  1372  			NumExtensions: 0,
  1373  			NumServices:   2,
  1374  		},
  1375  		GoTypes:           file_router_service_proto_router_proto_goTypes,
  1376  		DependencyIndexes: file_router_service_proto_router_proto_depIdxs,
  1377  		EnumInfos:         file_router_service_proto_router_proto_enumTypes,
  1378  		MessageInfos:      file_router_service_proto_router_proto_msgTypes,
  1379  	}.Build()
  1380  	File_router_service_proto_router_proto = out.File
  1381  	file_router_service_proto_router_proto_rawDesc = nil
  1382  	file_router_service_proto_router_proto_goTypes = nil
  1383  	file_router_service_proto_router_proto_depIdxs = nil
  1384  }
  1385  
  1386  // Reference imports to suppress errors if they are not otherwise used.
  1387  var _ context.Context
  1388  var _ grpc.ClientConnInterface
  1389  
  1390  // This is a compile-time assertion to ensure that this generated file
  1391  // is compatible with the grpc package it is being compiled against.
  1392  const _ = grpc.SupportPackageIsVersion6
  1393  
  1394  // RouterClient is the client API for Router service.
  1395  //
  1396  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  1397  type RouterClient interface {
  1398  	Lookup(ctx context.Context, in *LookupRequest, opts ...grpc.CallOption) (*LookupResponse, error)
  1399  	Watch(ctx context.Context, in *WatchRequest, opts ...grpc.CallOption) (Router_WatchClient, error)
  1400  	Advertise(ctx context.Context, in *Request, opts ...grpc.CallOption) (Router_AdvertiseClient, error)
  1401  	Process(ctx context.Context, in *Advert, opts ...grpc.CallOption) (*ProcessResponse, error)
  1402  }
  1403  
  1404  type routerClient struct {
  1405  	cc grpc.ClientConnInterface
  1406  }
  1407  
  1408  func NewRouterClient(cc grpc.ClientConnInterface) RouterClient {
  1409  	return &routerClient{cc}
  1410  }
  1411  
  1412  func (c *routerClient) Lookup(ctx context.Context, in *LookupRequest, opts ...grpc.CallOption) (*LookupResponse, error) {
  1413  	out := new(LookupResponse)
  1414  	err := c.cc.Invoke(ctx, "/go.micro.router.Router/Lookup", in, out, opts...)
  1415  	if err != nil {
  1416  		return nil, err
  1417  	}
  1418  	return out, nil
  1419  }
  1420  
  1421  func (c *routerClient) Watch(ctx context.Context, in *WatchRequest, opts ...grpc.CallOption) (Router_WatchClient, error) {
  1422  	stream, err := c.cc.NewStream(ctx, &_Router_serviceDesc.Streams[0], "/go.micro.router.Router/Watch", opts...)
  1423  	if err != nil {
  1424  		return nil, err
  1425  	}
  1426  	x := &routerWatchClient{stream}
  1427  	if err := x.ClientStream.SendMsg(in); err != nil {
  1428  		return nil, err
  1429  	}
  1430  	if err := x.ClientStream.CloseSend(); err != nil {
  1431  		return nil, err
  1432  	}
  1433  	return x, nil
  1434  }
  1435  
  1436  type Router_WatchClient interface {
  1437  	Recv() (*Event, error)
  1438  	grpc.ClientStream
  1439  }
  1440  
  1441  type routerWatchClient struct {
  1442  	grpc.ClientStream
  1443  }
  1444  
  1445  func (x *routerWatchClient) Recv() (*Event, error) {
  1446  	m := new(Event)
  1447  	if err := x.ClientStream.RecvMsg(m); err != nil {
  1448  		return nil, err
  1449  	}
  1450  	return m, nil
  1451  }
  1452  
  1453  func (c *routerClient) Advertise(ctx context.Context, in *Request, opts ...grpc.CallOption) (Router_AdvertiseClient, error) {
  1454  	stream, err := c.cc.NewStream(ctx, &_Router_serviceDesc.Streams[1], "/go.micro.router.Router/Advertise", opts...)
  1455  	if err != nil {
  1456  		return nil, err
  1457  	}
  1458  	x := &routerAdvertiseClient{stream}
  1459  	if err := x.ClientStream.SendMsg(in); err != nil {
  1460  		return nil, err
  1461  	}
  1462  	if err := x.ClientStream.CloseSend(); err != nil {
  1463  		return nil, err
  1464  	}
  1465  	return x, nil
  1466  }
  1467  
  1468  type Router_AdvertiseClient interface {
  1469  	Recv() (*Advert, error)
  1470  	grpc.ClientStream
  1471  }
  1472  
  1473  type routerAdvertiseClient struct {
  1474  	grpc.ClientStream
  1475  }
  1476  
  1477  func (x *routerAdvertiseClient) Recv() (*Advert, error) {
  1478  	m := new(Advert)
  1479  	if err := x.ClientStream.RecvMsg(m); err != nil {
  1480  		return nil, err
  1481  	}
  1482  	return m, nil
  1483  }
  1484  
  1485  func (c *routerClient) Process(ctx context.Context, in *Advert, opts ...grpc.CallOption) (*ProcessResponse, error) {
  1486  	out := new(ProcessResponse)
  1487  	err := c.cc.Invoke(ctx, "/go.micro.router.Router/Process", in, out, opts...)
  1488  	if err != nil {
  1489  		return nil, err
  1490  	}
  1491  	return out, nil
  1492  }
  1493  
  1494  // RouterServer is the server API for Router service.
  1495  type RouterServer interface {
  1496  	Lookup(context.Context, *LookupRequest) (*LookupResponse, error)
  1497  	Watch(*WatchRequest, Router_WatchServer) error
  1498  	Advertise(*Request, Router_AdvertiseServer) error
  1499  	Process(context.Context, *Advert) (*ProcessResponse, error)
  1500  }
  1501  
  1502  // UnimplementedRouterServer can be embedded to have forward compatible implementations.
  1503  type UnimplementedRouterServer struct {
  1504  }
  1505  
  1506  func (*UnimplementedRouterServer) Lookup(context.Context, *LookupRequest) (*LookupResponse, error) {
  1507  	return nil, status.Errorf(codes.Unimplemented, "method Lookup not implemented")
  1508  }
  1509  func (*UnimplementedRouterServer) Watch(*WatchRequest, Router_WatchServer) error {
  1510  	return status.Errorf(codes.Unimplemented, "method Watch not implemented")
  1511  }
  1512  func (*UnimplementedRouterServer) Advertise(*Request, Router_AdvertiseServer) error {
  1513  	return status.Errorf(codes.Unimplemented, "method Advertise not implemented")
  1514  }
  1515  func (*UnimplementedRouterServer) Process(context.Context, *Advert) (*ProcessResponse, error) {
  1516  	return nil, status.Errorf(codes.Unimplemented, "method Process not implemented")
  1517  }
  1518  
  1519  func RegisterRouterServer(s *grpc.Server, srv RouterServer) {
  1520  	s.RegisterService(&_Router_serviceDesc, srv)
  1521  }
  1522  
  1523  func _Router_Lookup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1524  	in := new(LookupRequest)
  1525  	if err := dec(in); err != nil {
  1526  		return nil, err
  1527  	}
  1528  	if interceptor == nil {
  1529  		return srv.(RouterServer).Lookup(ctx, in)
  1530  	}
  1531  	info := &grpc.UnaryServerInfo{
  1532  		Server:     srv,
  1533  		FullMethod: "/go.micro.router.Router/Lookup",
  1534  	}
  1535  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1536  		return srv.(RouterServer).Lookup(ctx, req.(*LookupRequest))
  1537  	}
  1538  	return interceptor(ctx, in, info, handler)
  1539  }
  1540  
  1541  func _Router_Watch_Handler(srv interface{}, stream grpc.ServerStream) error {
  1542  	m := new(WatchRequest)
  1543  	if err := stream.RecvMsg(m); err != nil {
  1544  		return err
  1545  	}
  1546  	return srv.(RouterServer).Watch(m, &routerWatchServer{stream})
  1547  }
  1548  
  1549  type Router_WatchServer interface {
  1550  	Send(*Event) error
  1551  	grpc.ServerStream
  1552  }
  1553  
  1554  type routerWatchServer struct {
  1555  	grpc.ServerStream
  1556  }
  1557  
  1558  func (x *routerWatchServer) Send(m *Event) error {
  1559  	return x.ServerStream.SendMsg(m)
  1560  }
  1561  
  1562  func _Router_Advertise_Handler(srv interface{}, stream grpc.ServerStream) error {
  1563  	m := new(Request)
  1564  	if err := stream.RecvMsg(m); err != nil {
  1565  		return err
  1566  	}
  1567  	return srv.(RouterServer).Advertise(m, &routerAdvertiseServer{stream})
  1568  }
  1569  
  1570  type Router_AdvertiseServer interface {
  1571  	Send(*Advert) error
  1572  	grpc.ServerStream
  1573  }
  1574  
  1575  type routerAdvertiseServer struct {
  1576  	grpc.ServerStream
  1577  }
  1578  
  1579  func (x *routerAdvertiseServer) Send(m *Advert) error {
  1580  	return x.ServerStream.SendMsg(m)
  1581  }
  1582  
  1583  func _Router_Process_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1584  	in := new(Advert)
  1585  	if err := dec(in); err != nil {
  1586  		return nil, err
  1587  	}
  1588  	if interceptor == nil {
  1589  		return srv.(RouterServer).Process(ctx, in)
  1590  	}
  1591  	info := &grpc.UnaryServerInfo{
  1592  		Server:     srv,
  1593  		FullMethod: "/go.micro.router.Router/Process",
  1594  	}
  1595  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1596  		return srv.(RouterServer).Process(ctx, req.(*Advert))
  1597  	}
  1598  	return interceptor(ctx, in, info, handler)
  1599  }
  1600  
  1601  var _Router_serviceDesc = grpc.ServiceDesc{
  1602  	ServiceName: "go.micro.router.Router",
  1603  	HandlerType: (*RouterServer)(nil),
  1604  	Methods: []grpc.MethodDesc{
  1605  		{
  1606  			MethodName: "Lookup",
  1607  			Handler:    _Router_Lookup_Handler,
  1608  		},
  1609  		{
  1610  			MethodName: "Process",
  1611  			Handler:    _Router_Process_Handler,
  1612  		},
  1613  	},
  1614  	Streams: []grpc.StreamDesc{
  1615  		{
  1616  			StreamName:    "Watch",
  1617  			Handler:       _Router_Watch_Handler,
  1618  			ServerStreams: true,
  1619  		},
  1620  		{
  1621  			StreamName:    "Advertise",
  1622  			Handler:       _Router_Advertise_Handler,
  1623  			ServerStreams: true,
  1624  		},
  1625  	},
  1626  	Metadata: "router/service/proto/router.proto",
  1627  }
  1628  
  1629  // TableClient is the client API for Table service.
  1630  //
  1631  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  1632  type TableClient interface {
  1633  	Create(ctx context.Context, in *Route, opts ...grpc.CallOption) (*CreateResponse, error)
  1634  	Delete(ctx context.Context, in *Route, opts ...grpc.CallOption) (*DeleteResponse, error)
  1635  	Update(ctx context.Context, in *Route, opts ...grpc.CallOption) (*UpdateResponse, error)
  1636  	List(ctx context.Context, in *Request, opts ...grpc.CallOption) (*ListResponse, error)
  1637  	Query(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (*QueryResponse, error)
  1638  }
  1639  
  1640  type tableClient struct {
  1641  	cc grpc.ClientConnInterface
  1642  }
  1643  
  1644  func NewTableClient(cc grpc.ClientConnInterface) TableClient {
  1645  	return &tableClient{cc}
  1646  }
  1647  
  1648  func (c *tableClient) Create(ctx context.Context, in *Route, opts ...grpc.CallOption) (*CreateResponse, error) {
  1649  	out := new(CreateResponse)
  1650  	err := c.cc.Invoke(ctx, "/go.micro.router.Table/Create", in, out, opts...)
  1651  	if err != nil {
  1652  		return nil, err
  1653  	}
  1654  	return out, nil
  1655  }
  1656  
  1657  func (c *tableClient) Delete(ctx context.Context, in *Route, opts ...grpc.CallOption) (*DeleteResponse, error) {
  1658  	out := new(DeleteResponse)
  1659  	err := c.cc.Invoke(ctx, "/go.micro.router.Table/Delete", in, out, opts...)
  1660  	if err != nil {
  1661  		return nil, err
  1662  	}
  1663  	return out, nil
  1664  }
  1665  
  1666  func (c *tableClient) Update(ctx context.Context, in *Route, opts ...grpc.CallOption) (*UpdateResponse, error) {
  1667  	out := new(UpdateResponse)
  1668  	err := c.cc.Invoke(ctx, "/go.micro.router.Table/Update", in, out, opts...)
  1669  	if err != nil {
  1670  		return nil, err
  1671  	}
  1672  	return out, nil
  1673  }
  1674  
  1675  func (c *tableClient) List(ctx context.Context, in *Request, opts ...grpc.CallOption) (*ListResponse, error) {
  1676  	out := new(ListResponse)
  1677  	err := c.cc.Invoke(ctx, "/go.micro.router.Table/List", in, out, opts...)
  1678  	if err != nil {
  1679  		return nil, err
  1680  	}
  1681  	return out, nil
  1682  }
  1683  
  1684  func (c *tableClient) Query(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (*QueryResponse, error) {
  1685  	out := new(QueryResponse)
  1686  	err := c.cc.Invoke(ctx, "/go.micro.router.Table/Query", in, out, opts...)
  1687  	if err != nil {
  1688  		return nil, err
  1689  	}
  1690  	return out, nil
  1691  }
  1692  
  1693  // TableServer is the server API for Table service.
  1694  type TableServer interface {
  1695  	Create(context.Context, *Route) (*CreateResponse, error)
  1696  	Delete(context.Context, *Route) (*DeleteResponse, error)
  1697  	Update(context.Context, *Route) (*UpdateResponse, error)
  1698  	List(context.Context, *Request) (*ListResponse, error)
  1699  	Query(context.Context, *QueryRequest) (*QueryResponse, error)
  1700  }
  1701  
  1702  // UnimplementedTableServer can be embedded to have forward compatible implementations.
  1703  type UnimplementedTableServer struct {
  1704  }
  1705  
  1706  func (*UnimplementedTableServer) Create(context.Context, *Route) (*CreateResponse, error) {
  1707  	return nil, status.Errorf(codes.Unimplemented, "method Create not implemented")
  1708  }
  1709  func (*UnimplementedTableServer) Delete(context.Context, *Route) (*DeleteResponse, error) {
  1710  	return nil, status.Errorf(codes.Unimplemented, "method Delete not implemented")
  1711  }
  1712  func (*UnimplementedTableServer) Update(context.Context, *Route) (*UpdateResponse, error) {
  1713  	return nil, status.Errorf(codes.Unimplemented, "method Update not implemented")
  1714  }
  1715  func (*UnimplementedTableServer) List(context.Context, *Request) (*ListResponse, error) {
  1716  	return nil, status.Errorf(codes.Unimplemented, "method List not implemented")
  1717  }
  1718  func (*UnimplementedTableServer) Query(context.Context, *QueryRequest) (*QueryResponse, error) {
  1719  	return nil, status.Errorf(codes.Unimplemented, "method Query not implemented")
  1720  }
  1721  
  1722  func RegisterTableServer(s *grpc.Server, srv TableServer) {
  1723  	s.RegisterService(&_Table_serviceDesc, srv)
  1724  }
  1725  
  1726  func _Table_Create_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1727  	in := new(Route)
  1728  	if err := dec(in); err != nil {
  1729  		return nil, err
  1730  	}
  1731  	if interceptor == nil {
  1732  		return srv.(TableServer).Create(ctx, in)
  1733  	}
  1734  	info := &grpc.UnaryServerInfo{
  1735  		Server:     srv,
  1736  		FullMethod: "/go.micro.router.Table/Create",
  1737  	}
  1738  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1739  		return srv.(TableServer).Create(ctx, req.(*Route))
  1740  	}
  1741  	return interceptor(ctx, in, info, handler)
  1742  }
  1743  
  1744  func _Table_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1745  	in := new(Route)
  1746  	if err := dec(in); err != nil {
  1747  		return nil, err
  1748  	}
  1749  	if interceptor == nil {
  1750  		return srv.(TableServer).Delete(ctx, in)
  1751  	}
  1752  	info := &grpc.UnaryServerInfo{
  1753  		Server:     srv,
  1754  		FullMethod: "/go.micro.router.Table/Delete",
  1755  	}
  1756  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1757  		return srv.(TableServer).Delete(ctx, req.(*Route))
  1758  	}
  1759  	return interceptor(ctx, in, info, handler)
  1760  }
  1761  
  1762  func _Table_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1763  	in := new(Route)
  1764  	if err := dec(in); err != nil {
  1765  		return nil, err
  1766  	}
  1767  	if interceptor == nil {
  1768  		return srv.(TableServer).Update(ctx, in)
  1769  	}
  1770  	info := &grpc.UnaryServerInfo{
  1771  		Server:     srv,
  1772  		FullMethod: "/go.micro.router.Table/Update",
  1773  	}
  1774  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1775  		return srv.(TableServer).Update(ctx, req.(*Route))
  1776  	}
  1777  	return interceptor(ctx, in, info, handler)
  1778  }
  1779  
  1780  func _Table_List_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1781  	in := new(Request)
  1782  	if err := dec(in); err != nil {
  1783  		return nil, err
  1784  	}
  1785  	if interceptor == nil {
  1786  		return srv.(TableServer).List(ctx, in)
  1787  	}
  1788  	info := &grpc.UnaryServerInfo{
  1789  		Server:     srv,
  1790  		FullMethod: "/go.micro.router.Table/List",
  1791  	}
  1792  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1793  		return srv.(TableServer).List(ctx, req.(*Request))
  1794  	}
  1795  	return interceptor(ctx, in, info, handler)
  1796  }
  1797  
  1798  func _Table_Query_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1799  	in := new(QueryRequest)
  1800  	if err := dec(in); err != nil {
  1801  		return nil, err
  1802  	}
  1803  	if interceptor == nil {
  1804  		return srv.(TableServer).Query(ctx, in)
  1805  	}
  1806  	info := &grpc.UnaryServerInfo{
  1807  		Server:     srv,
  1808  		FullMethod: "/go.micro.router.Table/Query",
  1809  	}
  1810  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1811  		return srv.(TableServer).Query(ctx, req.(*QueryRequest))
  1812  	}
  1813  	return interceptor(ctx, in, info, handler)
  1814  }
  1815  
  1816  var _Table_serviceDesc = grpc.ServiceDesc{
  1817  	ServiceName: "go.micro.router.Table",
  1818  	HandlerType: (*TableServer)(nil),
  1819  	Methods: []grpc.MethodDesc{
  1820  		{
  1821  			MethodName: "Create",
  1822  			Handler:    _Table_Create_Handler,
  1823  		},
  1824  		{
  1825  			MethodName: "Delete",
  1826  			Handler:    _Table_Delete_Handler,
  1827  		},
  1828  		{
  1829  			MethodName: "Update",
  1830  			Handler:    _Table_Update_Handler,
  1831  		},
  1832  		{
  1833  			MethodName: "List",
  1834  			Handler:    _Table_List_Handler,
  1835  		},
  1836  		{
  1837  			MethodName: "Query",
  1838  			Handler:    _Table_Query_Handler,
  1839  		},
  1840  	},
  1841  	Streams:  []grpc.StreamDesc{},
  1842  	Metadata: "router/service/proto/router.proto",
  1843  }