Added Sync RPC call; it's identical to ListServices for now

This commit is contained in:
Milos Gajdos 2019-09-23 21:08:31 +01:00
parent 04a5d884da
commit 61ee436cc4
No known key found for this signature in database
GPG Key ID: 8B31058CC55DFD4F
4 changed files with 152 additions and 41 deletions

View File

@ -74,3 +74,14 @@ func (r *Registry) Watch(ctx context.Context, req *pb.WatchRequest, rsp pb.Regis
return nil return nil
} }
func (r *Registry) Sync(ctx context.Context, req *pb.SyncRequest, rsp *pb.SyncResponse) error {
services, err := r.Registry.ListServices()
if err != nil {
return errors.InternalServerError("go.micro.registry", err.Error())
}
for _, srv := range services {
rsp.Services = append(rsp.Services, service.ToProto(srv))
}
return nil
}

View File

@ -39,6 +39,7 @@ type RegistryService interface {
Deregister(ctx context.Context, in *Service, opts ...client.CallOption) (*EmptyResponse, error) Deregister(ctx context.Context, in *Service, opts ...client.CallOption) (*EmptyResponse, error)
ListServices(ctx context.Context, in *ListRequest, opts ...client.CallOption) (*ListResponse, error) ListServices(ctx context.Context, in *ListRequest, opts ...client.CallOption) (*ListResponse, error)
Watch(ctx context.Context, in *WatchRequest, opts ...client.CallOption) (Registry_WatchService, error) Watch(ctx context.Context, in *WatchRequest, opts ...client.CallOption) (Registry_WatchService, error)
Sync(ctx context.Context, in *SyncRequest, opts ...client.CallOption) (*SyncResponse, error)
} }
type registryService struct { type registryService struct {
@ -143,6 +144,16 @@ func (x *registryServiceWatch) Recv() (*Result, error) {
return m, nil return m, nil
} }
func (c *registryService) Sync(ctx context.Context, in *SyncRequest, opts ...client.CallOption) (*SyncResponse, error) {
req := c.c.NewRequest(c.name, "Registry.Sync", in)
out := new(SyncResponse)
err := c.c.Call(ctx, req, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// Server API for Registry service // Server API for Registry service
type RegistryHandler interface { type RegistryHandler interface {
@ -151,6 +162,7 @@ type RegistryHandler interface {
Deregister(context.Context, *Service, *EmptyResponse) error Deregister(context.Context, *Service, *EmptyResponse) error
ListServices(context.Context, *ListRequest, *ListResponse) error ListServices(context.Context, *ListRequest, *ListResponse) error
Watch(context.Context, *WatchRequest, Registry_WatchStream) error Watch(context.Context, *WatchRequest, Registry_WatchStream) error
Sync(context.Context, *SyncRequest, *SyncResponse) error
} }
func RegisterRegistryHandler(s server.Server, hdlr RegistryHandler, opts ...server.HandlerOption) error { func RegisterRegistryHandler(s server.Server, hdlr RegistryHandler, opts ...server.HandlerOption) error {
@ -160,6 +172,7 @@ func RegisterRegistryHandler(s server.Server, hdlr RegistryHandler, opts ...serv
Deregister(ctx context.Context, in *Service, out *EmptyResponse) error Deregister(ctx context.Context, in *Service, out *EmptyResponse) error
ListServices(ctx context.Context, in *ListRequest, out *ListResponse) error ListServices(ctx context.Context, in *ListRequest, out *ListResponse) error
Watch(ctx context.Context, stream server.Stream) error Watch(ctx context.Context, stream server.Stream) error
Sync(ctx context.Context, in *SyncRequest, out *SyncResponse) error
} }
type Registry struct { type Registry struct {
registry registry
@ -222,3 +235,7 @@ func (x *registryWatchStream) RecvMsg(m interface{}) error {
func (x *registryWatchStream) Send(m *Result) error { func (x *registryWatchStream) Send(m *Result) error {
return x.stream.Send(m) return x.stream.Send(m)
} }
func (h *registryHandler) Sync(ctx context.Context, in *SyncRequest, out *SyncResponse) error {
return h.RegistryHandler.Sync(ctx, in, out)
}

View File

@ -580,6 +580,77 @@ func (m *WatchRequest) GetService() string {
return "" return ""
} }
// SyncRequest to request registry sync
type SyncRequest struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SyncRequest) Reset() { *m = SyncRequest{} }
func (m *SyncRequest) String() string { return proto.CompactTextString(m) }
func (*SyncRequest) ProtoMessage() {}
func (*SyncRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_41af05d40a615591, []int{11}
}
func (m *SyncRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SyncRequest.Unmarshal(m, b)
}
func (m *SyncRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SyncRequest.Marshal(b, m, deterministic)
}
func (m *SyncRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_SyncRequest.Merge(m, src)
}
func (m *SyncRequest) XXX_Size() int {
return xxx_messageInfo_SyncRequest.Size(m)
}
func (m *SyncRequest) XXX_DiscardUnknown() {
xxx_messageInfo_SyncRequest.DiscardUnknown(m)
}
var xxx_messageInfo_SyncRequest proto.InternalMessageInfo
type SyncResponse struct {
Services []*Service `protobuf:"bytes,1,rep,name=services,proto3" json:"services,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SyncResponse) Reset() { *m = SyncResponse{} }
func (m *SyncResponse) String() string { return proto.CompactTextString(m) }
func (*SyncResponse) ProtoMessage() {}
func (*SyncResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_41af05d40a615591, []int{12}
}
func (m *SyncResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SyncResponse.Unmarshal(m, b)
}
func (m *SyncResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SyncResponse.Marshal(b, m, deterministic)
}
func (m *SyncResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_SyncResponse.Merge(m, src)
}
func (m *SyncResponse) XXX_Size() int {
return xxx_messageInfo_SyncResponse.Size(m)
}
func (m *SyncResponse) XXX_DiscardUnknown() {
xxx_messageInfo_SyncResponse.DiscardUnknown(m)
}
var xxx_messageInfo_SyncResponse proto.InternalMessageInfo
func (m *SyncResponse) GetServices() []*Service {
if m != nil {
return m.Services
}
return nil
}
// Event is registry event // Event is registry event
type Event struct { type Event struct {
// Event Id // Event Id
@ -599,7 +670,7 @@ func (m *Event) Reset() { *m = Event{} }
func (m *Event) String() string { return proto.CompactTextString(m) } func (m *Event) String() string { return proto.CompactTextString(m) }
func (*Event) ProtoMessage() {} func (*Event) ProtoMessage() {}
func (*Event) Descriptor() ([]byte, []int) { func (*Event) Descriptor() ([]byte, []int) {
return fileDescriptor_41af05d40a615591, []int{11} return fileDescriptor_41af05d40a615591, []int{13}
} }
func (m *Event) XXX_Unmarshal(b []byte) error { func (m *Event) XXX_Unmarshal(b []byte) error {
@ -664,51 +735,55 @@ func init() {
proto.RegisterType((*ListRequest)(nil), "go.micro.registry.ListRequest") proto.RegisterType((*ListRequest)(nil), "go.micro.registry.ListRequest")
proto.RegisterType((*ListResponse)(nil), "go.micro.registry.ListResponse") proto.RegisterType((*ListResponse)(nil), "go.micro.registry.ListResponse")
proto.RegisterType((*WatchRequest)(nil), "go.micro.registry.WatchRequest") proto.RegisterType((*WatchRequest)(nil), "go.micro.registry.WatchRequest")
proto.RegisterType((*SyncRequest)(nil), "go.micro.registry.SyncRequest")
proto.RegisterType((*SyncResponse)(nil), "go.micro.registry.SyncResponse")
proto.RegisterType((*Event)(nil), "go.micro.registry.Event") proto.RegisterType((*Event)(nil), "go.micro.registry.Event")
} }
func init() { proto.RegisterFile("registry.proto", fileDescriptor_41af05d40a615591) } func init() { proto.RegisterFile("registry.proto", fileDescriptor_41af05d40a615591) }
var fileDescriptor_41af05d40a615591 = []byte{ var fileDescriptor_41af05d40a615591 = []byte{
// 632 bytes of a gzipped FileDescriptorProto // 661 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x55, 0xdb, 0x6e, 0xd3, 0x4c, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x55, 0xdb, 0x6e, 0xd3, 0x4c,
0x10, 0x8e, 0xed, 0x38, 0x87, 0x49, 0xdb, 0xbf, 0xff, 0x08, 0x81, 0x31, 0x05, 0x22, 0x4b, 0xa0, 0x10, 0x8e, 0x9d, 0xf3, 0xa4, 0xe9, 0xdf, 0x7f, 0x84, 0xc0, 0x98, 0x02, 0x91, 0x25, 0x50, 0x40,
0x80, 0x84, 0xa9, 0x42, 0x85, 0x38, 0x5c, 0x21, 0x62, 0x2a, 0xa1, 0x16, 0x09, 0x73, 0xba, 0x36, 0xc2, 0x54, 0xa1, 0x42, 0x1c, 0xae, 0x10, 0x35, 0x15, 0xa8, 0x45, 0xc2, 0xe5, 0x70, 0x6d, 0xe2,
0xf1, 0xa8, 0x58, 0xc4, 0x07, 0x76, 0x37, 0x91, 0xfc, 0x0e, 0x48, 0x3c, 0x01, 0x77, 0x3c, 0x0a, 0x51, 0xb1, 0xa8, 0x0f, 0xec, 0x6e, 0x23, 0xf9, 0x1d, 0x78, 0x05, 0xee, 0x78, 0x14, 0x9e, 0x82,
0x0f, 0x86, 0xbc, 0x5e, 0x27, 0xa9, 0x62, 0x07, 0xa4, 0xc2, 0xdd, 0x8c, 0xf7, 0x9b, 0x6f, 0x67, 0xa7, 0x41, 0x5e, 0xaf, 0x13, 0x57, 0x5d, 0x07, 0xa4, 0xc2, 0xdd, 0xcc, 0xee, 0x37, 0xb3, 0xdf,
0xbe, 0x6f, 0x36, 0x81, 0x3d, 0x46, 0x67, 0x11, 0x17, 0x2c, 0x77, 0x33, 0x96, 0x8a, 0x14, 0xff, 0x7c, 0xfb, 0xad, 0x0d, 0x9b, 0x8c, 0x8e, 0x23, 0x2e, 0x58, 0xee, 0x66, 0x2c, 0x15, 0x29, 0xfe,
0x3f, 0x4b, 0xdd, 0x38, 0x9a, 0xb2, 0xd4, 0xad, 0x0e, 0x9c, 0x1f, 0x3a, 0x74, 0xdf, 0x10, 0x5b, 0x7f, 0x9c, 0xba, 0x71, 0x34, 0x67, 0xa9, 0x5b, 0x6d, 0x38, 0xdf, 0x4d, 0xe8, 0x1f, 0x11, 0x5b,
0x44, 0x53, 0x42, 0x84, 0x76, 0x12, 0xc4, 0x64, 0x69, 0x43, 0x6d, 0xd4, 0xf7, 0x65, 0x8c, 0x16, 0x44, 0x73, 0x42, 0x84, 0x4e, 0x12, 0xc4, 0x64, 0x19, 0x13, 0x63, 0x3a, 0xf4, 0x65, 0x8c, 0x16,
0x74, 0x17, 0xc4, 0x78, 0x94, 0x26, 0x96, 0x2e, 0x3f, 0x57, 0x29, 0x4e, 0xa0, 0x17, 0x93, 0x08, 0xf4, 0x17, 0xc4, 0x78, 0x94, 0x26, 0x96, 0x29, 0x97, 0xab, 0x14, 0xf7, 0x60, 0x10, 0x93, 0x08,
0xc2, 0x40, 0x04, 0x96, 0x31, 0x34, 0x46, 0x83, 0xf1, 0xc8, 0xdd, 0xe0, 0x77, 0x15, 0xb7, 0x7b, 0xc2, 0x40, 0x04, 0x56, 0x7b, 0xd2, 0x9e, 0x8e, 0x66, 0x53, 0xf7, 0x5c, 0x7f, 0x57, 0xf5, 0x76,
0xaa, 0xa0, 0x5e, 0x22, 0x58, 0xee, 0x2f, 0x2b, 0xf1, 0x31, 0xf4, 0x29, 0x09, 0xb3, 0x34, 0x4a, 0x0f, 0x15, 0xd4, 0x4b, 0x04, 0xcb, 0xfd, 0x65, 0x25, 0x3e, 0x86, 0x21, 0x25, 0x61, 0x96, 0x46,
0x04, 0xb7, 0xda, 0x92, 0xe6, 0x5a, 0x0d, 0x8d, 0xa7, 0x30, 0xfe, 0x0a, 0x8d, 0xf7, 0xc0, 0x4c, 0x89, 0xe0, 0x56, 0x47, 0xb6, 0xb9, 0xa6, 0x69, 0xe3, 0x29, 0x8c, 0xbf, 0x42, 0xe3, 0x3d, 0xe8,
0xd2, 0x90, 0xb8, 0x65, 0xca, 0xb2, 0x2b, 0x35, 0x65, 0xaf, 0xd2, 0x90, 0xfc, 0x12, 0x65, 0x3f, 0x26, 0x69, 0x48, 0xdc, 0xea, 0xca, 0xb2, 0x2b, 0x9a, 0xb2, 0xd7, 0x69, 0x48, 0x7e, 0x89, 0xb2,
0x85, 0xdd, 0x73, 0x4d, 0xe0, 0x3e, 0x18, 0x9f, 0x29, 0x57, 0xd3, 0x16, 0x21, 0x5e, 0x02, 0x73, 0x9f, 0xc2, 0xf8, 0x0c, 0x09, 0xdc, 0x82, 0xf6, 0x67, 0xca, 0xd5, 0xb4, 0x45, 0x88, 0x97, 0xa0,
0x11, 0xcc, 0xe6, 0xa4, 0x46, 0x2d, 0x93, 0x27, 0xfa, 0x23, 0xcd, 0xf9, 0xa9, 0x41, 0xbb, 0x20, 0xbb, 0x08, 0x4e, 0x4e, 0x49, 0x8d, 0x5a, 0x26, 0x4f, 0xcc, 0x47, 0x86, 0xf3, 0xc3, 0x80, 0x4e,
0xc3, 0x3d, 0xd0, 0xa3, 0x50, 0xd5, 0xe8, 0x51, 0x58, 0xe8, 0x13, 0x84, 0x21, 0x23, 0xce, 0x2b, 0xd1, 0x0c, 0x37, 0xc1, 0x8c, 0x42, 0x55, 0x63, 0x46, 0x61, 0xa1, 0x4f, 0x10, 0x86, 0x8c, 0x38,
0x7d, 0x54, 0x5a, 0xa8, 0x99, 0xa5, 0x4c, 0x58, 0xc6, 0x50, 0x1b, 0x19, 0xbe, 0x8c, 0xf1, 0xd9, 0xaf, 0xf4, 0x51, 0x69, 0xa1, 0x66, 0x96, 0x32, 0x61, 0xb5, 0x27, 0xc6, 0xb4, 0xed, 0xcb, 0x18,
0x9a, 0x66, 0xe5, 0xb0, 0xb7, 0x1a, 0xba, 0x6e, 0x12, 0xec, 0x62, 0x63, 0x7c, 0xd5, 0xa1, 0x57, 0x9f, 0xd5, 0x34, 0x2b, 0x87, 0xbd, 0xd5, 0xc0, 0xba, 0x49, 0xb0, 0x8b, 0x8d, 0xf1, 0xd5, 0x84,
0x49, 0x59, 0x6b, 0xf7, 0x18, 0xba, 0x8c, 0xbe, 0xcc, 0x89, 0x0b, 0x59, 0x3c, 0x18, 0x5b, 0x35, 0x41, 0x25, 0xa5, 0xf6, 0xba, 0x67, 0xd0, 0x67, 0xf4, 0xe5, 0x94, 0xb8, 0x90, 0xc5, 0xa3, 0x99,
0xfd, 0xbd, 0x2f, 0xf8, 0xfc, 0x0a, 0x88, 0x47, 0xd0, 0x63, 0xc4, 0xb3, 0x34, 0xe1, 0x24, 0x87, 0xa5, 0xe1, 0xf7, 0xbe, 0xe8, 0xe7, 0x57, 0x40, 0xdc, 0x85, 0x01, 0x23, 0x9e, 0xa5, 0x09, 0x27,
0xdd, 0x56, 0xb4, 0x44, 0xa2, 0xb7, 0x21, 0xc5, 0x9d, 0x2d, 0xbe, 0xff, 0x1b, 0x39, 0x02, 0x30, 0x39, 0xec, 0xba, 0xa2, 0x25, 0x12, 0xbd, 0x73, 0x52, 0xdc, 0x59, 0x73, 0xef, 0xff, 0x46, 0x8e,
0x65, 0x5b, 0xb5, 0x52, 0x20, 0xb4, 0x45, 0x9e, 0x55, 0x55, 0x32, 0xc6, 0x43, 0xe8, 0xc8, 0x6a, 0x00, 0xba, 0x92, 0x96, 0x56, 0x0a, 0x84, 0x8e, 0xc8, 0xb3, 0xaa, 0x4a, 0xc6, 0xb8, 0x03, 0x3d,
0xae, 0x36, 0xbe, 0x79, 0x50, 0x85, 0x73, 0x04, 0x74, 0x7c, 0xe2, 0xf3, 0x99, 0xc0, 0xcb, 0xd0, 0x59, 0xcd, 0x95, 0xe3, 0x9b, 0x07, 0x55, 0x38, 0x47, 0x40, 0xcf, 0x27, 0x7e, 0x7a, 0x22, 0xf0,
0x09, 0xa6, 0xa2, 0x78, 0x48, 0xe5, 0x2d, 0x2a, 0xc3, 0x23, 0xe8, 0xf2, 0xf2, 0x91, 0x28, 0xc9, 0x32, 0xf4, 0x82, 0xb9, 0x28, 0x1e, 0x52, 0x79, 0x8a, 0xca, 0x70, 0x17, 0xfa, 0xbc, 0x7c, 0x24,
0xed, 0xe6, 0x67, 0xe4, 0x57, 0x50, 0x3c, 0x80, 0xbe, 0x88, 0x62, 0xe2, 0x22, 0x88, 0x33, 0xb5, 0x4a, 0x72, 0xbb, 0xf9, 0x19, 0xf9, 0x15, 0x14, 0xb7, 0x61, 0x28, 0xa2, 0x98, 0xb8, 0x08, 0xe2,
0x62, 0xab, 0x0f, 0xce, 0x7f, 0xb0, 0xeb, 0xc5, 0x99, 0xc8, 0x7d, 0xa5, 0xb6, 0x73, 0x1b, 0xe0, 0x4c, 0x59, 0x6c, 0xb5, 0xe0, 0xfc, 0x07, 0x63, 0x2f, 0xce, 0x44, 0xee, 0x2b, 0xb5, 0x9d, 0xdb,
0x98, 0x84, 0xaf, 0x1c, 0xb3, 0x56, 0x57, 0x96, 0xbd, 0x54, 0xa9, 0xe3, 0xc1, 0x40, 0xe2, 0x94, 0x00, 0xfb, 0x24, 0x7c, 0x75, 0x63, 0xd6, 0xea, 0xc8, 0x92, 0x4b, 0x95, 0x3a, 0x1e, 0x8c, 0x24,
0x49, 0x0f, 0xa1, 0xa7, 0x4e, 0xb8, 0xa5, 0xc9, 0x89, 0xb7, 0x35, 0xb7, 0xc4, 0x3a, 0xbb, 0x30, 0x4e, 0x5d, 0xd2, 0x43, 0x18, 0xa8, 0x1d, 0x6e, 0x19, 0x72, 0xe2, 0x75, 0xe4, 0x96, 0x58, 0x67,
0x38, 0x89, 0x78, 0x75, 0x9f, 0xf3, 0x02, 0x76, 0xca, 0xf4, 0x82, 0xb4, 0x23, 0xd8, 0xf9, 0x10, 0x0c, 0xa3, 0x83, 0x88, 0x57, 0xe7, 0x39, 0x2f, 0x60, 0xa3, 0x4c, 0x2f, 0xd8, 0x76, 0x0a, 0x1b,
0x88, 0xe9, 0xa7, 0xdf, 0xcf, 0xf1, 0x5d, 0x03, 0xd3, 0x5b, 0x50, 0x22, 0x36, 0x1e, 0xec, 0xe1, 0x1f, 0x02, 0x31, 0xff, 0xf4, 0xfb, 0x39, 0xc6, 0x30, 0x3a, 0xca, 0x93, 0x79, 0x8d, 0x40, 0x99,
0x9a, 0xad, 0x7b, 0xe3, 0x83, 0xba, 0x9d, 0x2b, 0xea, 0xde, 0xe6, 0x19, 0x29, 0xd3, 0xb7, 0x4a, 0x5e, 0x90, 0xc0, 0x37, 0x03, 0xba, 0xde, 0x82, 0x12, 0x71, 0xee, 0x3b, 0xb0, 0x53, 0x73, 0xcb,
0xbd, 0x6e, 0x5f, 0xfb, 0x8f, 0xed, 0xbb, 0x7b, 0x1f, 0xfa, 0xcb, 0x6b, 0x10, 0xa0, 0xf3, 0x9c, 0xe6, 0x6c, 0x5b, 0x67, 0xe5, 0xa2, 0xee, 0x6d, 0x9e, 0x91, 0xf2, 0xd2, 0xda, 0x1b, 0xac, 0xbb,
0x51, 0x20, 0x68, 0xbf, 0x55, 0xc4, 0x13, 0x9a, 0x91, 0xa0, 0x7d, 0xad, 0x88, 0xdf, 0x65, 0x61, 0xa2, 0xf3, 0xc7, 0xae, 0xb8, 0x7b, 0x1f, 0x86, 0xcb, 0x63, 0x10, 0xa0, 0xf7, 0x9c, 0x51, 0x20,
0xf1, 0x5d, 0x1f, 0x7f, 0x33, 0xa0, 0xe7, 0x2b, 0x3a, 0x3c, 0x95, 0x6e, 0x56, 0x3f, 0xdb, 0xd7, 0x68, 0xab, 0x55, 0xc4, 0x7b, 0x74, 0x42, 0x82, 0xb6, 0x8c, 0x22, 0x7e, 0x97, 0x85, 0xc5, 0xba,
0x6b, 0x2e, 0x5c, 0x99, 0x6d, 0xdf, 0x68, 0x3a, 0x56, 0xab, 0xd1, 0xc2, 0x97, 0x15, 0x35, 0x31, 0x39, 0xfb, 0xd9, 0x86, 0x81, 0xaf, 0xda, 0xe1, 0xa1, 0x34, 0x49, 0xf5, 0x37, 0xb8, 0xae, 0x39,
0xdc, 0xd2, 0xbd, 0x3d, 0xac, 0x13, 0xeb, 0xdc, 0x9a, 0xb5, 0xf0, 0x04, 0x60, 0x42, 0xec, 0x6f, 0x70, 0xe5, 0x21, 0xfb, 0x46, 0xd3, 0xb6, 0x72, 0x5c, 0x0b, 0x5f, 0x55, 0xad, 0x89, 0xe1, 0x1a,
0xb1, 0xbd, 0x2e, 0x17, 0x47, 0x95, 0x70, 0xac, 0x9b, 0x65, 0x6d, 0xd1, 0xec, 0x9b, 0x8d, 0xe7, 0xf6, 0xf6, 0x44, 0x27, 0xd6, 0x19, 0xf7, 0xb6, 0xf0, 0x00, 0x60, 0x8f, 0xd8, 0xdf, 0xea, 0xf6,
0x4b, 0xca, 0x63, 0x30, 0xe5, 0x0e, 0x61, 0x1d, 0x76, 0x7d, 0xbb, 0xec, 0xab, 0x35, 0x80, 0xf2, 0xa6, 0xf4, 0xa3, 0x2a, 0xe1, 0xa8, 0x9b, 0xa5, 0xe6, 0x5f, 0xfb, 0x66, 0xe3, 0xfe, 0xb2, 0xe5,
0x2d, 0x3b, 0xad, 0x43, 0xed, 0x63, 0x47, 0xfe, 0xa7, 0x3e, 0xf8, 0x15, 0x00, 0x00, 0xff, 0xff, 0x3e, 0x74, 0xa5, 0x35, 0x51, 0x87, 0xad, 0x9b, 0xd6, 0xbe, 0xaa, 0x01, 0x94, 0x9f, 0x08, 0xa7,
0x08, 0x0e, 0xe4, 0xae, 0x65, 0x07, 0x00, 0x00, 0xb5, 0x63, 0xe0, 0x4b, 0xe8, 0x14, 0x56, 0xd5, 0x72, 0xaa, 0x59, 0x5a, 0xcb, 0xa9, 0xee, 0x71,
0xa7, 0xf5, 0xb1, 0x27, 0xff, 0xfa, 0x0f, 0x7e, 0x05, 0x00, 0x00, 0xff, 0xff, 0xcf, 0xf0, 0x2a,
0x05, 0x07, 0x08, 0x00, 0x00,
} }

View File

@ -8,6 +8,7 @@ service Registry {
rpc Deregister(Service) returns (EmptyResponse) {}; rpc Deregister(Service) returns (EmptyResponse) {};
rpc ListServices(ListRequest) returns (ListResponse) {}; rpc ListServices(ListRequest) returns (ListResponse) {};
rpc Watch(WatchRequest) returns (stream Result) {}; rpc Watch(WatchRequest) returns (stream Result) {};
rpc Sync(SyncRequest) returns (SyncResponse) {};
} }
// Service represents a go-micro service // Service represents a go-micro service
@ -72,6 +73,13 @@ message WatchRequest {
string service = 1; string service = 1;
} }
// SyncRequest to request registry sync
message SyncRequest {}
message SyncResponse {
repeated Service services = 1;
}
// EventType defines the type of event // EventType defines the type of event
enum EventType { enum EventType {
Create = 0; Create = 0;