Merge pull request #1118 from printfcoder/master
add mucp for config/source
This commit is contained in:
		
							
								
								
									
										38
									
								
								config/source/service/options.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								config/source/service/options.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | |||||||
|  | package service | ||||||
|  |  | ||||||
|  | import ( | ||||||
|  | 	"context" | ||||||
|  |  | ||||||
|  | 	"github.com/micro/go-micro/config/source" | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | type serviceNameKey struct{} | ||||||
|  | type keyKey struct{} | ||||||
|  | type pathKey struct{} | ||||||
|  |  | ||||||
|  | func ServiceName(name string) source.Option { | ||||||
|  | 	return func(o *source.Options) { | ||||||
|  | 		if o.Context == nil { | ||||||
|  | 			o.Context = context.Background() | ||||||
|  | 		} | ||||||
|  | 		o.Context = context.WithValue(o.Context, serviceNameKey{}, name) | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func Key(key string) source.Option { | ||||||
|  | 	return func(o *source.Options) { | ||||||
|  | 		if o.Context == nil { | ||||||
|  | 			o.Context = context.Background() | ||||||
|  | 		} | ||||||
|  | 		o.Context = context.WithValue(o.Context, keyKey{}, key) | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func Path(path string) source.Option { | ||||||
|  | 	return func(o *source.Options) { | ||||||
|  | 		if o.Context == nil { | ||||||
|  | 			o.Context = context.Background() | ||||||
|  | 		} | ||||||
|  | 		o.Context = context.WithValue(o.Context, pathKey{}, path) | ||||||
|  | 	} | ||||||
|  | } | ||||||
							
								
								
									
										241
									
								
								config/source/service/proto/service.micro.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										241
									
								
								config/source/service/proto/service.micro.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,241 @@ | |||||||
|  | // Code generated by protoc-gen-micro. DO NOT EDIT. | ||||||
|  | // source: proto/service.proto | ||||||
|  |  | ||||||
|  | package service | ||||||
|  |  | ||||||
|  | import ( | ||||||
|  | 	fmt "fmt" | ||||||
|  | 	proto "github.com/golang/protobuf/proto" | ||||||
|  | 	math "math" | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | import ( | ||||||
|  | 	context "context" | ||||||
|  | 	client "github.com/micro/go-micro/client" | ||||||
|  | 	server "github.com/micro/go-micro/server" | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | // Reference imports to suppress errors if they are not otherwise used. | ||||||
|  | var _ = proto.Marshal | ||||||
|  | var _ = fmt.Errorf | ||||||
|  | var _ = math.Inf | ||||||
|  |  | ||||||
|  | // This is a compile-time assertion to ensure that this generated file | ||||||
|  | // is compatible with the proto package it is being compiled against. | ||||||
|  | // A compilation error at this line likely means your copy of the | ||||||
|  | // proto package needs to be updated. | ||||||
|  | const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package | ||||||
|  |  | ||||||
|  | // Reference imports to suppress errors if they are not otherwise used. | ||||||
|  | var _ context.Context | ||||||
|  | var _ client.Option | ||||||
|  | var _ server.Option | ||||||
|  |  | ||||||
|  | // Client API for Service service | ||||||
|  |  | ||||||
|  | type Service interface { | ||||||
|  | 	Create(ctx context.Context, in *CreateRequest, opts ...client.CallOption) (*CreateResponse, error) | ||||||
|  | 	Update(ctx context.Context, in *UpdateRequest, opts ...client.CallOption) (*UpdateResponse, error) | ||||||
|  | 	Delete(ctx context.Context, in *DeleteRequest, opts ...client.CallOption) (*DeleteResponse, error) | ||||||
|  | 	List(ctx context.Context, in *ListRequest, opts ...client.CallOption) (*ListResponse, error) | ||||||
|  | 	Read(ctx context.Context, in *ReadRequest, opts ...client.CallOption) (*ReadResponse, error) | ||||||
|  | 	Watch(ctx context.Context, in *WatchRequest, opts ...client.CallOption) (Service_WatchService, error) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type service struct { | ||||||
|  | 	c    client.Client | ||||||
|  | 	name string | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func NewService(name string, c client.Client) Service { | ||||||
|  | 	if c == nil { | ||||||
|  | 		c = client.NewClient() | ||||||
|  | 	} | ||||||
|  | 	if len(name) == 0 { | ||||||
|  | 		name = "service" | ||||||
|  | 	} | ||||||
|  | 	return &service{ | ||||||
|  | 		c:    c, | ||||||
|  | 		name: name, | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (c *service) Create(ctx context.Context, in *CreateRequest, opts ...client.CallOption) (*CreateResponse, error) { | ||||||
|  | 	req := c.c.NewRequest(c.name, "Service.Create", in) | ||||||
|  | 	out := new(CreateResponse) | ||||||
|  | 	err := c.c.Call(ctx, req, out, opts...) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return out, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (c *service) Update(ctx context.Context, in *UpdateRequest, opts ...client.CallOption) (*UpdateResponse, error) { | ||||||
|  | 	req := c.c.NewRequest(c.name, "Service.Update", in) | ||||||
|  | 	out := new(UpdateResponse) | ||||||
|  | 	err := c.c.Call(ctx, req, out, opts...) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return out, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (c *service) Delete(ctx context.Context, in *DeleteRequest, opts ...client.CallOption) (*DeleteResponse, error) { | ||||||
|  | 	req := c.c.NewRequest(c.name, "Service.Delete", in) | ||||||
|  | 	out := new(DeleteResponse) | ||||||
|  | 	err := c.c.Call(ctx, req, out, opts...) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return out, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (c *service) List(ctx context.Context, in *ListRequest, opts ...client.CallOption) (*ListResponse, error) { | ||||||
|  | 	req := c.c.NewRequest(c.name, "Service.List", in) | ||||||
|  | 	out := new(ListResponse) | ||||||
|  | 	err := c.c.Call(ctx, req, out, opts...) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return out, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (c *service) Read(ctx context.Context, in *ReadRequest, opts ...client.CallOption) (*ReadResponse, error) { | ||||||
|  | 	req := c.c.NewRequest(c.name, "Service.Read", in) | ||||||
|  | 	out := new(ReadResponse) | ||||||
|  | 	err := c.c.Call(ctx, req, out, opts...) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return out, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (c *service) Watch(ctx context.Context, in *WatchRequest, opts ...client.CallOption) (Service_WatchService, error) { | ||||||
|  | 	req := c.c.NewRequest(c.name, "Service.Watch", &WatchRequest{}) | ||||||
|  | 	stream, err := c.c.Stream(ctx, req, opts...) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	if err := stream.Send(in); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return &serviceWatch{stream}, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type Service_WatchService interface { | ||||||
|  | 	SendMsg(interface{}) error | ||||||
|  | 	RecvMsg(interface{}) error | ||||||
|  | 	Close() error | ||||||
|  | 	Recv() (*WatchResponse, error) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type serviceWatch struct { | ||||||
|  | 	stream client.Stream | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (x *serviceWatch) Close() error { | ||||||
|  | 	return x.stream.Close() | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (x *serviceWatch) SendMsg(m interface{}) error { | ||||||
|  | 	return x.stream.Send(m) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (x *serviceWatch) RecvMsg(m interface{}) error { | ||||||
|  | 	return x.stream.Recv(m) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (x *serviceWatch) Recv() (*WatchResponse, error) { | ||||||
|  | 	m := new(WatchResponse) | ||||||
|  | 	err := x.stream.Recv(m) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return m, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Server API for Service service | ||||||
|  |  | ||||||
|  | type ServiceHandler interface { | ||||||
|  | 	Create(context.Context, *CreateRequest, *CreateResponse) error | ||||||
|  | 	Update(context.Context, *UpdateRequest, *UpdateResponse) error | ||||||
|  | 	Delete(context.Context, *DeleteRequest, *DeleteResponse) error | ||||||
|  | 	List(context.Context, *ListRequest, *ListResponse) error | ||||||
|  | 	Read(context.Context, *ReadRequest, *ReadResponse) error | ||||||
|  | 	Watch(context.Context, *WatchRequest, Service_WatchStream) error | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func RegisterServiceHandler(s server.Server, hdlr ServiceHandler, opts ...server.HandlerOption) error { | ||||||
|  | 	type service interface { | ||||||
|  | 		Create(ctx context.Context, in *CreateRequest, out *CreateResponse) error | ||||||
|  | 		Update(ctx context.Context, in *UpdateRequest, out *UpdateResponse) error | ||||||
|  | 		Delete(ctx context.Context, in *DeleteRequest, out *DeleteResponse) error | ||||||
|  | 		List(ctx context.Context, in *ListRequest, out *ListResponse) error | ||||||
|  | 		Read(ctx context.Context, in *ReadRequest, out *ReadResponse) error | ||||||
|  | 		Watch(ctx context.Context, stream server.Stream) error | ||||||
|  | 	} | ||||||
|  | 	type Service struct { | ||||||
|  | 		service | ||||||
|  | 	} | ||||||
|  | 	h := &serviceHandler{hdlr} | ||||||
|  | 	return s.Handle(s.NewHandler(&Service{h}, opts...)) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type serviceHandler struct { | ||||||
|  | 	ServiceHandler | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (h *serviceHandler) Create(ctx context.Context, in *CreateRequest, out *CreateResponse) error { | ||||||
|  | 	return h.ServiceHandler.Create(ctx, in, out) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (h *serviceHandler) Update(ctx context.Context, in *UpdateRequest, out *UpdateResponse) error { | ||||||
|  | 	return h.ServiceHandler.Update(ctx, in, out) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (h *serviceHandler) Delete(ctx context.Context, in *DeleteRequest, out *DeleteResponse) error { | ||||||
|  | 	return h.ServiceHandler.Delete(ctx, in, out) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (h *serviceHandler) List(ctx context.Context, in *ListRequest, out *ListResponse) error { | ||||||
|  | 	return h.ServiceHandler.List(ctx, in, out) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (h *serviceHandler) Read(ctx context.Context, in *ReadRequest, out *ReadResponse) error { | ||||||
|  | 	return h.ServiceHandler.Read(ctx, in, out) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (h *serviceHandler) Watch(ctx context.Context, stream server.Stream) error { | ||||||
|  | 	m := new(WatchRequest) | ||||||
|  | 	if err := stream.Recv(m); err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  | 	return h.ServiceHandler.Watch(ctx, m, &serviceWatchStream{stream}) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type Service_WatchStream interface { | ||||||
|  | 	SendMsg(interface{}) error | ||||||
|  | 	RecvMsg(interface{}) error | ||||||
|  | 	Close() error | ||||||
|  | 	Send(*WatchResponse) error | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type serviceWatchStream struct { | ||||||
|  | 	stream server.Stream | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (x *serviceWatchStream) Close() error { | ||||||
|  | 	return x.stream.Close() | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (x *serviceWatchStream) SendMsg(m interface{}) error { | ||||||
|  | 	return x.stream.Send(m) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (x *serviceWatchStream) RecvMsg(m interface{}) error { | ||||||
|  | 	return x.stream.Recv(m) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (x *serviceWatchStream) Send(m *WatchResponse) error { | ||||||
|  | 	return x.stream.Send(m) | ||||||
|  | } | ||||||
							
								
								
									
										657
									
								
								config/source/service/proto/service.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										657
									
								
								config/source/service/proto/service.pb.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,657 @@ | |||||||
|  | // Code generated by protoc-gen-go. DO NOT EDIT. | ||||||
|  | // source: proto/service.proto | ||||||
|  |  | ||||||
|  | package service | ||||||
|  |  | ||||||
|  | import ( | ||||||
|  | 	fmt "fmt" | ||||||
|  | 	proto "github.com/golang/protobuf/proto" | ||||||
|  | 	math "math" | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | // Reference imports to suppress errors if they are not otherwise used. | ||||||
|  | var _ = proto.Marshal | ||||||
|  | var _ = fmt.Errorf | ||||||
|  | var _ = math.Inf | ||||||
|  |  | ||||||
|  | // This is a compile-time assertion to ensure that this generated file | ||||||
|  | // is compatible with the proto package it is being compiled against. | ||||||
|  | // A compilation error at this line likely means your copy of the | ||||||
|  | // proto package needs to be updated. | ||||||
|  | const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package | ||||||
|  |  | ||||||
|  | type ChangeSet struct { | ||||||
|  | 	Data                 []byte   `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` | ||||||
|  | 	Checksum             string   `protobuf:"bytes,2,opt,name=checksum,proto3" json:"checksum,omitempty"` | ||||||
|  | 	Format               string   `protobuf:"bytes,3,opt,name=format,proto3" json:"format,omitempty"` | ||||||
|  | 	Source               string   `protobuf:"bytes,4,opt,name=source,proto3" json:"source,omitempty"` | ||||||
|  | 	Timestamp            int64    `protobuf:"varint,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"` | ||||||
|  | 	XXX_NoUnkeyedLiteral struct{} `json:"-"` | ||||||
|  | 	XXX_unrecognized     []byte   `json:"-"` | ||||||
|  | 	XXX_sizecache        int32    `json:"-"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *ChangeSet) Reset()         { *m = ChangeSet{} } | ||||||
|  | func (m *ChangeSet) String() string { return proto.CompactTextString(m) } | ||||||
|  | func (*ChangeSet) ProtoMessage()    {} | ||||||
|  | func (*ChangeSet) Descriptor() ([]byte, []int) { | ||||||
|  | 	return fileDescriptor_c33392ef2c1961ba, []int{0} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *ChangeSet) XXX_Unmarshal(b []byte) error { | ||||||
|  | 	return xxx_messageInfo_ChangeSet.Unmarshal(m, b) | ||||||
|  | } | ||||||
|  | func (m *ChangeSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | ||||||
|  | 	return xxx_messageInfo_ChangeSet.Marshal(b, m, deterministic) | ||||||
|  | } | ||||||
|  | func (m *ChangeSet) XXX_Merge(src proto.Message) { | ||||||
|  | 	xxx_messageInfo_ChangeSet.Merge(m, src) | ||||||
|  | } | ||||||
|  | func (m *ChangeSet) XXX_Size() int { | ||||||
|  | 	return xxx_messageInfo_ChangeSet.Size(m) | ||||||
|  | } | ||||||
|  | func (m *ChangeSet) XXX_DiscardUnknown() { | ||||||
|  | 	xxx_messageInfo_ChangeSet.DiscardUnknown(m) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | var xxx_messageInfo_ChangeSet proto.InternalMessageInfo | ||||||
|  |  | ||||||
|  | func (m *ChangeSet) GetData() []byte { | ||||||
|  | 	if m != nil { | ||||||
|  | 		return m.Data | ||||||
|  | 	} | ||||||
|  | 	return nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *ChangeSet) GetChecksum() string { | ||||||
|  | 	if m != nil { | ||||||
|  | 		return m.Checksum | ||||||
|  | 	} | ||||||
|  | 	return "" | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *ChangeSet) GetFormat() string { | ||||||
|  | 	if m != nil { | ||||||
|  | 		return m.Format | ||||||
|  | 	} | ||||||
|  | 	return "" | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *ChangeSet) GetSource() string { | ||||||
|  | 	if m != nil { | ||||||
|  | 		return m.Source | ||||||
|  | 	} | ||||||
|  | 	return "" | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *ChangeSet) GetTimestamp() int64 { | ||||||
|  | 	if m != nil { | ||||||
|  | 		return m.Timestamp | ||||||
|  | 	} | ||||||
|  | 	return 0 | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type Change struct { | ||||||
|  | 	Key                  string     `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` | ||||||
|  | 	Path                 string     `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` | ||||||
|  | 	ChangeSet            *ChangeSet `protobuf:"bytes,3,opt,name=changeSet,proto3" json:"changeSet,omitempty"` | ||||||
|  | 	XXX_NoUnkeyedLiteral struct{}   `json:"-"` | ||||||
|  | 	XXX_unrecognized     []byte     `json:"-"` | ||||||
|  | 	XXX_sizecache        int32      `json:"-"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *Change) Reset()         { *m = Change{} } | ||||||
|  | func (m *Change) String() string { return proto.CompactTextString(m) } | ||||||
|  | func (*Change) ProtoMessage()    {} | ||||||
|  | func (*Change) Descriptor() ([]byte, []int) { | ||||||
|  | 	return fileDescriptor_c33392ef2c1961ba, []int{1} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *Change) XXX_Unmarshal(b []byte) error { | ||||||
|  | 	return xxx_messageInfo_Change.Unmarshal(m, b) | ||||||
|  | } | ||||||
|  | func (m *Change) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | ||||||
|  | 	return xxx_messageInfo_Change.Marshal(b, m, deterministic) | ||||||
|  | } | ||||||
|  | func (m *Change) XXX_Merge(src proto.Message) { | ||||||
|  | 	xxx_messageInfo_Change.Merge(m, src) | ||||||
|  | } | ||||||
|  | func (m *Change) XXX_Size() int { | ||||||
|  | 	return xxx_messageInfo_Change.Size(m) | ||||||
|  | } | ||||||
|  | func (m *Change) XXX_DiscardUnknown() { | ||||||
|  | 	xxx_messageInfo_Change.DiscardUnknown(m) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | var xxx_messageInfo_Change proto.InternalMessageInfo | ||||||
|  |  | ||||||
|  | func (m *Change) GetKey() string { | ||||||
|  | 	if m != nil { | ||||||
|  | 		return m.Key | ||||||
|  | 	} | ||||||
|  | 	return "" | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *Change) GetPath() string { | ||||||
|  | 	if m != nil { | ||||||
|  | 		return m.Path | ||||||
|  | 	} | ||||||
|  | 	return "" | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *Change) GetChangeSet() *ChangeSet { | ||||||
|  | 	if m != nil { | ||||||
|  | 		return m.ChangeSet | ||||||
|  | 	} | ||||||
|  | 	return nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type CreateRequest struct { | ||||||
|  | 	Change               *Change  `protobuf:"bytes,1,opt,name=change,proto3" json:"change,omitempty"` | ||||||
|  | 	XXX_NoUnkeyedLiteral struct{} `json:"-"` | ||||||
|  | 	XXX_unrecognized     []byte   `json:"-"` | ||||||
|  | 	XXX_sizecache        int32    `json:"-"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *CreateRequest) Reset()         { *m = CreateRequest{} } | ||||||
|  | func (m *CreateRequest) String() string { return proto.CompactTextString(m) } | ||||||
|  | func (*CreateRequest) ProtoMessage()    {} | ||||||
|  | func (*CreateRequest) Descriptor() ([]byte, []int) { | ||||||
|  | 	return fileDescriptor_c33392ef2c1961ba, []int{2} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *CreateRequest) XXX_Unmarshal(b []byte) error { | ||||||
|  | 	return xxx_messageInfo_CreateRequest.Unmarshal(m, b) | ||||||
|  | } | ||||||
|  | func (m *CreateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | ||||||
|  | 	return xxx_messageInfo_CreateRequest.Marshal(b, m, deterministic) | ||||||
|  | } | ||||||
|  | func (m *CreateRequest) XXX_Merge(src proto.Message) { | ||||||
|  | 	xxx_messageInfo_CreateRequest.Merge(m, src) | ||||||
|  | } | ||||||
|  | func (m *CreateRequest) XXX_Size() int { | ||||||
|  | 	return xxx_messageInfo_CreateRequest.Size(m) | ||||||
|  | } | ||||||
|  | func (m *CreateRequest) XXX_DiscardUnknown() { | ||||||
|  | 	xxx_messageInfo_CreateRequest.DiscardUnknown(m) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | var xxx_messageInfo_CreateRequest proto.InternalMessageInfo | ||||||
|  |  | ||||||
|  | func (m *CreateRequest) GetChange() *Change { | ||||||
|  | 	if m != nil { | ||||||
|  | 		return m.Change | ||||||
|  | 	} | ||||||
|  | 	return nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type CreateResponse struct { | ||||||
|  | 	XXX_NoUnkeyedLiteral struct{} `json:"-"` | ||||||
|  | 	XXX_unrecognized     []byte   `json:"-"` | ||||||
|  | 	XXX_sizecache        int32    `json:"-"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *CreateResponse) Reset()         { *m = CreateResponse{} } | ||||||
|  | func (m *CreateResponse) String() string { return proto.CompactTextString(m) } | ||||||
|  | func (*CreateResponse) ProtoMessage()    {} | ||||||
|  | func (*CreateResponse) Descriptor() ([]byte, []int) { | ||||||
|  | 	return fileDescriptor_c33392ef2c1961ba, []int{3} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *CreateResponse) XXX_Unmarshal(b []byte) error { | ||||||
|  | 	return xxx_messageInfo_CreateResponse.Unmarshal(m, b) | ||||||
|  | } | ||||||
|  | func (m *CreateResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | ||||||
|  | 	return xxx_messageInfo_CreateResponse.Marshal(b, m, deterministic) | ||||||
|  | } | ||||||
|  | func (m *CreateResponse) XXX_Merge(src proto.Message) { | ||||||
|  | 	xxx_messageInfo_CreateResponse.Merge(m, src) | ||||||
|  | } | ||||||
|  | func (m *CreateResponse) XXX_Size() int { | ||||||
|  | 	return xxx_messageInfo_CreateResponse.Size(m) | ||||||
|  | } | ||||||
|  | func (m *CreateResponse) XXX_DiscardUnknown() { | ||||||
|  | 	xxx_messageInfo_CreateResponse.DiscardUnknown(m) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | var xxx_messageInfo_CreateResponse proto.InternalMessageInfo | ||||||
|  |  | ||||||
|  | type UpdateRequest struct { | ||||||
|  | 	Change               *Change  `protobuf:"bytes,1,opt,name=change,proto3" json:"change,omitempty"` | ||||||
|  | 	XXX_NoUnkeyedLiteral struct{} `json:"-"` | ||||||
|  | 	XXX_unrecognized     []byte   `json:"-"` | ||||||
|  | 	XXX_sizecache        int32    `json:"-"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *UpdateRequest) Reset()         { *m = UpdateRequest{} } | ||||||
|  | func (m *UpdateRequest) String() string { return proto.CompactTextString(m) } | ||||||
|  | func (*UpdateRequest) ProtoMessage()    {} | ||||||
|  | func (*UpdateRequest) Descriptor() ([]byte, []int) { | ||||||
|  | 	return fileDescriptor_c33392ef2c1961ba, []int{4} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *UpdateRequest) XXX_Unmarshal(b []byte) error { | ||||||
|  | 	return xxx_messageInfo_UpdateRequest.Unmarshal(m, b) | ||||||
|  | } | ||||||
|  | func (m *UpdateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | ||||||
|  | 	return xxx_messageInfo_UpdateRequest.Marshal(b, m, deterministic) | ||||||
|  | } | ||||||
|  | func (m *UpdateRequest) XXX_Merge(src proto.Message) { | ||||||
|  | 	xxx_messageInfo_UpdateRequest.Merge(m, src) | ||||||
|  | } | ||||||
|  | func (m *UpdateRequest) XXX_Size() int { | ||||||
|  | 	return xxx_messageInfo_UpdateRequest.Size(m) | ||||||
|  | } | ||||||
|  | func (m *UpdateRequest) XXX_DiscardUnknown() { | ||||||
|  | 	xxx_messageInfo_UpdateRequest.DiscardUnknown(m) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | var xxx_messageInfo_UpdateRequest proto.InternalMessageInfo | ||||||
|  |  | ||||||
|  | func (m *UpdateRequest) GetChange() *Change { | ||||||
|  | 	if m != nil { | ||||||
|  | 		return m.Change | ||||||
|  | 	} | ||||||
|  | 	return nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type UpdateResponse struct { | ||||||
|  | 	XXX_NoUnkeyedLiteral struct{} `json:"-"` | ||||||
|  | 	XXX_unrecognized     []byte   `json:"-"` | ||||||
|  | 	XXX_sizecache        int32    `json:"-"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *UpdateResponse) Reset()         { *m = UpdateResponse{} } | ||||||
|  | func (m *UpdateResponse) String() string { return proto.CompactTextString(m) } | ||||||
|  | func (*UpdateResponse) ProtoMessage()    {} | ||||||
|  | func (*UpdateResponse) Descriptor() ([]byte, []int) { | ||||||
|  | 	return fileDescriptor_c33392ef2c1961ba, []int{5} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *UpdateResponse) XXX_Unmarshal(b []byte) error { | ||||||
|  | 	return xxx_messageInfo_UpdateResponse.Unmarshal(m, b) | ||||||
|  | } | ||||||
|  | func (m *UpdateResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | ||||||
|  | 	return xxx_messageInfo_UpdateResponse.Marshal(b, m, deterministic) | ||||||
|  | } | ||||||
|  | func (m *UpdateResponse) XXX_Merge(src proto.Message) { | ||||||
|  | 	xxx_messageInfo_UpdateResponse.Merge(m, src) | ||||||
|  | } | ||||||
|  | func (m *UpdateResponse) XXX_Size() int { | ||||||
|  | 	return xxx_messageInfo_UpdateResponse.Size(m) | ||||||
|  | } | ||||||
|  | func (m *UpdateResponse) XXX_DiscardUnknown() { | ||||||
|  | 	xxx_messageInfo_UpdateResponse.DiscardUnknown(m) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | var xxx_messageInfo_UpdateResponse proto.InternalMessageInfo | ||||||
|  |  | ||||||
|  | type DeleteRequest struct { | ||||||
|  | 	Change               *Change  `protobuf:"bytes,1,opt,name=change,proto3" json:"change,omitempty"` | ||||||
|  | 	XXX_NoUnkeyedLiteral struct{} `json:"-"` | ||||||
|  | 	XXX_unrecognized     []byte   `json:"-"` | ||||||
|  | 	XXX_sizecache        int32    `json:"-"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *DeleteRequest) Reset()         { *m = DeleteRequest{} } | ||||||
|  | func (m *DeleteRequest) String() string { return proto.CompactTextString(m) } | ||||||
|  | func (*DeleteRequest) ProtoMessage()    {} | ||||||
|  | func (*DeleteRequest) Descriptor() ([]byte, []int) { | ||||||
|  | 	return fileDescriptor_c33392ef2c1961ba, []int{6} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *DeleteRequest) XXX_Unmarshal(b []byte) error { | ||||||
|  | 	return xxx_messageInfo_DeleteRequest.Unmarshal(m, b) | ||||||
|  | } | ||||||
|  | func (m *DeleteRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | ||||||
|  | 	return xxx_messageInfo_DeleteRequest.Marshal(b, m, deterministic) | ||||||
|  | } | ||||||
|  | func (m *DeleteRequest) XXX_Merge(src proto.Message) { | ||||||
|  | 	xxx_messageInfo_DeleteRequest.Merge(m, src) | ||||||
|  | } | ||||||
|  | func (m *DeleteRequest) XXX_Size() int { | ||||||
|  | 	return xxx_messageInfo_DeleteRequest.Size(m) | ||||||
|  | } | ||||||
|  | func (m *DeleteRequest) XXX_DiscardUnknown() { | ||||||
|  | 	xxx_messageInfo_DeleteRequest.DiscardUnknown(m) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | var xxx_messageInfo_DeleteRequest proto.InternalMessageInfo | ||||||
|  |  | ||||||
|  | func (m *DeleteRequest) GetChange() *Change { | ||||||
|  | 	if m != nil { | ||||||
|  | 		return m.Change | ||||||
|  | 	} | ||||||
|  | 	return nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type DeleteResponse struct { | ||||||
|  | 	XXX_NoUnkeyedLiteral struct{} `json:"-"` | ||||||
|  | 	XXX_unrecognized     []byte   `json:"-"` | ||||||
|  | 	XXX_sizecache        int32    `json:"-"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *DeleteResponse) Reset()         { *m = DeleteResponse{} } | ||||||
|  | func (m *DeleteResponse) String() string { return proto.CompactTextString(m) } | ||||||
|  | func (*DeleteResponse) ProtoMessage()    {} | ||||||
|  | func (*DeleteResponse) Descriptor() ([]byte, []int) { | ||||||
|  | 	return fileDescriptor_c33392ef2c1961ba, []int{7} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *DeleteResponse) XXX_Unmarshal(b []byte) error { | ||||||
|  | 	return xxx_messageInfo_DeleteResponse.Unmarshal(m, b) | ||||||
|  | } | ||||||
|  | func (m *DeleteResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | ||||||
|  | 	return xxx_messageInfo_DeleteResponse.Marshal(b, m, deterministic) | ||||||
|  | } | ||||||
|  | func (m *DeleteResponse) XXX_Merge(src proto.Message) { | ||||||
|  | 	xxx_messageInfo_DeleteResponse.Merge(m, src) | ||||||
|  | } | ||||||
|  | func (m *DeleteResponse) XXX_Size() int { | ||||||
|  | 	return xxx_messageInfo_DeleteResponse.Size(m) | ||||||
|  | } | ||||||
|  | func (m *DeleteResponse) XXX_DiscardUnknown() { | ||||||
|  | 	xxx_messageInfo_DeleteResponse.DiscardUnknown(m) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | var xxx_messageInfo_DeleteResponse proto.InternalMessageInfo | ||||||
|  |  | ||||||
|  | type ListRequest struct { | ||||||
|  | 	XXX_NoUnkeyedLiteral struct{} `json:"-"` | ||||||
|  | 	XXX_unrecognized     []byte   `json:"-"` | ||||||
|  | 	XXX_sizecache        int32    `json:"-"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *ListRequest) Reset()         { *m = ListRequest{} } | ||||||
|  | func (m *ListRequest) String() string { return proto.CompactTextString(m) } | ||||||
|  | func (*ListRequest) ProtoMessage()    {} | ||||||
|  | func (*ListRequest) Descriptor() ([]byte, []int) { | ||||||
|  | 	return fileDescriptor_c33392ef2c1961ba, []int{8} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *ListRequest) XXX_Unmarshal(b []byte) error { | ||||||
|  | 	return xxx_messageInfo_ListRequest.Unmarshal(m, b) | ||||||
|  | } | ||||||
|  | func (m *ListRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | ||||||
|  | 	return xxx_messageInfo_ListRequest.Marshal(b, m, deterministic) | ||||||
|  | } | ||||||
|  | func (m *ListRequest) XXX_Merge(src proto.Message) { | ||||||
|  | 	xxx_messageInfo_ListRequest.Merge(m, src) | ||||||
|  | } | ||||||
|  | func (m *ListRequest) XXX_Size() int { | ||||||
|  | 	return xxx_messageInfo_ListRequest.Size(m) | ||||||
|  | } | ||||||
|  | func (m *ListRequest) XXX_DiscardUnknown() { | ||||||
|  | 	xxx_messageInfo_ListRequest.DiscardUnknown(m) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | var xxx_messageInfo_ListRequest proto.InternalMessageInfo | ||||||
|  |  | ||||||
|  | type ListResponse struct { | ||||||
|  | 	Values               []*Change `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` | ||||||
|  | 	XXX_NoUnkeyedLiteral struct{}  `json:"-"` | ||||||
|  | 	XXX_unrecognized     []byte    `json:"-"` | ||||||
|  | 	XXX_sizecache        int32     `json:"-"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *ListResponse) Reset()         { *m = ListResponse{} } | ||||||
|  | func (m *ListResponse) String() string { return proto.CompactTextString(m) } | ||||||
|  | func (*ListResponse) ProtoMessage()    {} | ||||||
|  | func (*ListResponse) Descriptor() ([]byte, []int) { | ||||||
|  | 	return fileDescriptor_c33392ef2c1961ba, []int{9} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *ListResponse) XXX_Unmarshal(b []byte) error { | ||||||
|  | 	return xxx_messageInfo_ListResponse.Unmarshal(m, b) | ||||||
|  | } | ||||||
|  | func (m *ListResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | ||||||
|  | 	return xxx_messageInfo_ListResponse.Marshal(b, m, deterministic) | ||||||
|  | } | ||||||
|  | func (m *ListResponse) XXX_Merge(src proto.Message) { | ||||||
|  | 	xxx_messageInfo_ListResponse.Merge(m, src) | ||||||
|  | } | ||||||
|  | func (m *ListResponse) XXX_Size() int { | ||||||
|  | 	return xxx_messageInfo_ListResponse.Size(m) | ||||||
|  | } | ||||||
|  | func (m *ListResponse) XXX_DiscardUnknown() { | ||||||
|  | 	xxx_messageInfo_ListResponse.DiscardUnknown(m) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | var xxx_messageInfo_ListResponse proto.InternalMessageInfo | ||||||
|  |  | ||||||
|  | func (m *ListResponse) GetValues() []*Change { | ||||||
|  | 	if m != nil { | ||||||
|  | 		return m.Values | ||||||
|  | 	} | ||||||
|  | 	return nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type ReadRequest struct { | ||||||
|  | 	Key                  string   `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` | ||||||
|  | 	Path                 string   `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` | ||||||
|  | 	XXX_NoUnkeyedLiteral struct{} `json:"-"` | ||||||
|  | 	XXX_unrecognized     []byte   `json:"-"` | ||||||
|  | 	XXX_sizecache        int32    `json:"-"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *ReadRequest) Reset()         { *m = ReadRequest{} } | ||||||
|  | func (m *ReadRequest) String() string { return proto.CompactTextString(m) } | ||||||
|  | func (*ReadRequest) ProtoMessage()    {} | ||||||
|  | func (*ReadRequest) Descriptor() ([]byte, []int) { | ||||||
|  | 	return fileDescriptor_c33392ef2c1961ba, []int{10} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *ReadRequest) XXX_Unmarshal(b []byte) error { | ||||||
|  | 	return xxx_messageInfo_ReadRequest.Unmarshal(m, b) | ||||||
|  | } | ||||||
|  | func (m *ReadRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | ||||||
|  | 	return xxx_messageInfo_ReadRequest.Marshal(b, m, deterministic) | ||||||
|  | } | ||||||
|  | func (m *ReadRequest) XXX_Merge(src proto.Message) { | ||||||
|  | 	xxx_messageInfo_ReadRequest.Merge(m, src) | ||||||
|  | } | ||||||
|  | func (m *ReadRequest) XXX_Size() int { | ||||||
|  | 	return xxx_messageInfo_ReadRequest.Size(m) | ||||||
|  | } | ||||||
|  | func (m *ReadRequest) XXX_DiscardUnknown() { | ||||||
|  | 	xxx_messageInfo_ReadRequest.DiscardUnknown(m) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | var xxx_messageInfo_ReadRequest proto.InternalMessageInfo | ||||||
|  |  | ||||||
|  | func (m *ReadRequest) GetKey() string { | ||||||
|  | 	if m != nil { | ||||||
|  | 		return m.Key | ||||||
|  | 	} | ||||||
|  | 	return "" | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *ReadRequest) GetPath() string { | ||||||
|  | 	if m != nil { | ||||||
|  | 		return m.Path | ||||||
|  | 	} | ||||||
|  | 	return "" | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type ReadResponse struct { | ||||||
|  | 	Change               *Change  `protobuf:"bytes,1,opt,name=change,proto3" json:"change,omitempty"` | ||||||
|  | 	XXX_NoUnkeyedLiteral struct{} `json:"-"` | ||||||
|  | 	XXX_unrecognized     []byte   `json:"-"` | ||||||
|  | 	XXX_sizecache        int32    `json:"-"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *ReadResponse) Reset()         { *m = ReadResponse{} } | ||||||
|  | func (m *ReadResponse) String() string { return proto.CompactTextString(m) } | ||||||
|  | func (*ReadResponse) ProtoMessage()    {} | ||||||
|  | func (*ReadResponse) Descriptor() ([]byte, []int) { | ||||||
|  | 	return fileDescriptor_c33392ef2c1961ba, []int{11} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *ReadResponse) XXX_Unmarshal(b []byte) error { | ||||||
|  | 	return xxx_messageInfo_ReadResponse.Unmarshal(m, b) | ||||||
|  | } | ||||||
|  | func (m *ReadResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | ||||||
|  | 	return xxx_messageInfo_ReadResponse.Marshal(b, m, deterministic) | ||||||
|  | } | ||||||
|  | func (m *ReadResponse) XXX_Merge(src proto.Message) { | ||||||
|  | 	xxx_messageInfo_ReadResponse.Merge(m, src) | ||||||
|  | } | ||||||
|  | func (m *ReadResponse) XXX_Size() int { | ||||||
|  | 	return xxx_messageInfo_ReadResponse.Size(m) | ||||||
|  | } | ||||||
|  | func (m *ReadResponse) XXX_DiscardUnknown() { | ||||||
|  | 	xxx_messageInfo_ReadResponse.DiscardUnknown(m) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | var xxx_messageInfo_ReadResponse proto.InternalMessageInfo | ||||||
|  |  | ||||||
|  | func (m *ReadResponse) GetChange() *Change { | ||||||
|  | 	if m != nil { | ||||||
|  | 		return m.Change | ||||||
|  | 	} | ||||||
|  | 	return nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type WatchRequest struct { | ||||||
|  | 	Key                  string   `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` | ||||||
|  | 	Path                 string   `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` | ||||||
|  | 	XXX_NoUnkeyedLiteral struct{} `json:"-"` | ||||||
|  | 	XXX_unrecognized     []byte   `json:"-"` | ||||||
|  | 	XXX_sizecache        int32    `json:"-"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *WatchRequest) Reset()         { *m = WatchRequest{} } | ||||||
|  | func (m *WatchRequest) String() string { return proto.CompactTextString(m) } | ||||||
|  | func (*WatchRequest) ProtoMessage()    {} | ||||||
|  | func (*WatchRequest) Descriptor() ([]byte, []int) { | ||||||
|  | 	return fileDescriptor_c33392ef2c1961ba, []int{12} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *WatchRequest) XXX_Unmarshal(b []byte) error { | ||||||
|  | 	return xxx_messageInfo_WatchRequest.Unmarshal(m, b) | ||||||
|  | } | ||||||
|  | func (m *WatchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | ||||||
|  | 	return xxx_messageInfo_WatchRequest.Marshal(b, m, deterministic) | ||||||
|  | } | ||||||
|  | func (m *WatchRequest) XXX_Merge(src proto.Message) { | ||||||
|  | 	xxx_messageInfo_WatchRequest.Merge(m, src) | ||||||
|  | } | ||||||
|  | func (m *WatchRequest) XXX_Size() int { | ||||||
|  | 	return xxx_messageInfo_WatchRequest.Size(m) | ||||||
|  | } | ||||||
|  | func (m *WatchRequest) XXX_DiscardUnknown() { | ||||||
|  | 	xxx_messageInfo_WatchRequest.DiscardUnknown(m) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | var xxx_messageInfo_WatchRequest proto.InternalMessageInfo | ||||||
|  |  | ||||||
|  | func (m *WatchRequest) GetKey() string { | ||||||
|  | 	if m != nil { | ||||||
|  | 		return m.Key | ||||||
|  | 	} | ||||||
|  | 	return "" | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *WatchRequest) GetPath() string { | ||||||
|  | 	if m != nil { | ||||||
|  | 		return m.Path | ||||||
|  | 	} | ||||||
|  | 	return "" | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type WatchResponse struct { | ||||||
|  | 	Key                  string     `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` | ||||||
|  | 	ChangeSet            *ChangeSet `protobuf:"bytes,2,opt,name=changeSet,proto3" json:"changeSet,omitempty"` | ||||||
|  | 	XXX_NoUnkeyedLiteral struct{}   `json:"-"` | ||||||
|  | 	XXX_unrecognized     []byte     `json:"-"` | ||||||
|  | 	XXX_sizecache        int32      `json:"-"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *WatchResponse) Reset()         { *m = WatchResponse{} } | ||||||
|  | func (m *WatchResponse) String() string { return proto.CompactTextString(m) } | ||||||
|  | func (*WatchResponse) ProtoMessage()    {} | ||||||
|  | func (*WatchResponse) Descriptor() ([]byte, []int) { | ||||||
|  | 	return fileDescriptor_c33392ef2c1961ba, []int{13} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *WatchResponse) XXX_Unmarshal(b []byte) error { | ||||||
|  | 	return xxx_messageInfo_WatchResponse.Unmarshal(m, b) | ||||||
|  | } | ||||||
|  | func (m *WatchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { | ||||||
|  | 	return xxx_messageInfo_WatchResponse.Marshal(b, m, deterministic) | ||||||
|  | } | ||||||
|  | func (m *WatchResponse) XXX_Merge(src proto.Message) { | ||||||
|  | 	xxx_messageInfo_WatchResponse.Merge(m, src) | ||||||
|  | } | ||||||
|  | func (m *WatchResponse) XXX_Size() int { | ||||||
|  | 	return xxx_messageInfo_WatchResponse.Size(m) | ||||||
|  | } | ||||||
|  | func (m *WatchResponse) XXX_DiscardUnknown() { | ||||||
|  | 	xxx_messageInfo_WatchResponse.DiscardUnknown(m) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | var xxx_messageInfo_WatchResponse proto.InternalMessageInfo | ||||||
|  |  | ||||||
|  | func (m *WatchResponse) GetKey() string { | ||||||
|  | 	if m != nil { | ||||||
|  | 		return m.Key | ||||||
|  | 	} | ||||||
|  | 	return "" | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *WatchResponse) GetChangeSet() *ChangeSet { | ||||||
|  | 	if m != nil { | ||||||
|  | 		return m.ChangeSet | ||||||
|  | 	} | ||||||
|  | 	return nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func init() { | ||||||
|  | 	proto.RegisterType((*ChangeSet)(nil), "ChangeSet") | ||||||
|  | 	proto.RegisterType((*Change)(nil), "Change") | ||||||
|  | 	proto.RegisterType((*CreateRequest)(nil), "CreateRequest") | ||||||
|  | 	proto.RegisterType((*CreateResponse)(nil), "CreateResponse") | ||||||
|  | 	proto.RegisterType((*UpdateRequest)(nil), "UpdateRequest") | ||||||
|  | 	proto.RegisterType((*UpdateResponse)(nil), "UpdateResponse") | ||||||
|  | 	proto.RegisterType((*DeleteRequest)(nil), "DeleteRequest") | ||||||
|  | 	proto.RegisterType((*DeleteResponse)(nil), "DeleteResponse") | ||||||
|  | 	proto.RegisterType((*ListRequest)(nil), "ListRequest") | ||||||
|  | 	proto.RegisterType((*ListResponse)(nil), "ListResponse") | ||||||
|  | 	proto.RegisterType((*ReadRequest)(nil), "ReadRequest") | ||||||
|  | 	proto.RegisterType((*ReadResponse)(nil), "ReadResponse") | ||||||
|  | 	proto.RegisterType((*WatchRequest)(nil), "WatchRequest") | ||||||
|  | 	proto.RegisterType((*WatchResponse)(nil), "WatchResponse") | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func init() { proto.RegisterFile("proto/service.proto", fileDescriptor_c33392ef2c1961ba) } | ||||||
|  |  | ||||||
|  | var fileDescriptor_c33392ef2c1961ba = []byte{ | ||||||
|  | 	// 427 bytes of a gzipped FileDescriptorProto | ||||||
|  | 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x93, 0xcf, 0x6a, 0xdb, 0x40, | ||||||
|  | 	0x10, 0xc6, 0x2d, 0xdb, 0x51, 0xaa, 0xb1, 0x24, 0x87, 0x29, 0x14, 0x21, 0x0a, 0x35, 0x0b, 0x05, | ||||||
|  | 	0xd3, 0xc2, 0x26, 0x38, 0x7d, 0x83, 0xf4, 0xd6, 0x9e, 0x36, 0x94, 0xf6, 0xba, 0x95, 0xa7, 0xb5, | ||||||
|  | 	0x49, 0x14, 0xa9, 0xda, 0x55, 0xa0, 0x8f, 0xd0, 0x3e, 0x75, 0xd9, 0x3f, 0x8a, 0x24, 0x17, 0x4c, | ||||||
|  | 	0x7c, 0xdb, 0x99, 0xd9, 0xf9, 0xe6, 0xd3, 0xfc, 0x56, 0xf0, 0xb2, 0x6e, 0x2a, 0x5d, 0x5d, 0x2a, | ||||||
|  | 	0x6a, 0x1e, 0xf7, 0x05, 0x71, 0x1b, 0xb1, 0x3f, 0x01, 0x44, 0x37, 0x3b, 0xf9, 0xf0, 0x93, 0x6e, | ||||||
|  | 	0x49, 0x23, 0xc2, 0x7c, 0x2b, 0xb5, 0xcc, 0x82, 0x55, 0xb0, 0x8e, 0x85, 0x3d, 0x63, 0x0e, 0x2f, | ||||||
|  | 	0x8a, 0x1d, 0x15, 0x77, 0xaa, 0x2d, 0xb3, 0xe9, 0x2a, 0x58, 0x47, 0xe2, 0x29, 0xc6, 0x57, 0x10, | ||||||
|  | 	0xfe, 0xa8, 0x9a, 0x52, 0xea, 0x6c, 0x66, 0x2b, 0x3e, 0x32, 0x79, 0x55, 0xb5, 0x4d, 0x41, 0xd9, | ||||||
|  | 	0xdc, 0xe5, 0x5d, 0x84, 0xaf, 0x21, 0xd2, 0xfb, 0x92, 0x94, 0x96, 0x65, 0x9d, 0x9d, 0xad, 0x82, | ||||||
|  | 	0xf5, 0x4c, 0xf4, 0x09, 0xf6, 0x0d, 0x42, 0x67, 0x05, 0x2f, 0x60, 0x76, 0x47, 0xbf, 0xad, 0x8d, | ||||||
|  | 	0x48, 0x98, 0xa3, 0x71, 0x56, 0x4b, 0xbd, 0xf3, 0x0e, 0xec, 0x19, 0xd7, 0x10, 0x15, 0x9d, 0x75, | ||||||
|  | 	0x6b, 0x60, 0xb1, 0x01, 0xfe, 0xf4, 0x31, 0xa2, 0x2f, 0xb2, 0x2b, 0x48, 0x6e, 0x1a, 0x92, 0x9a, | ||||||
|  | 	0x04, 0xfd, 0x6a, 0x49, 0x69, 0x7c, 0x03, 0xa1, 0xab, 0xda, 0x19, 0x8b, 0xcd, 0xb9, 0xef, 0x13, | ||||||
|  | 	0x3e, 0xcd, 0x2e, 0x20, 0xed, 0x3a, 0x54, 0x5d, 0x3d, 0x28, 0x32, 0x1a, 0x5f, 0xea, 0xed, 0x89, | ||||||
|  | 	0x1a, 0x5d, 0x47, 0xaf, 0xf1, 0x91, 0xee, 0xe9, 0x34, 0x8d, 0xae, 0xc3, 0x6b, 0x24, 0xb0, 0xf8, | ||||||
|  | 	0xbc, 0x57, 0xda, 0x2b, 0xb0, 0x4b, 0x88, 0x5d, 0xe8, 0xca, 0x46, 0xf1, 0x51, 0xde, 0xb7, 0xa4, | ||||||
|  | 	0xb2, 0x60, 0x35, 0x1b, 0x29, 0xba, 0x34, 0xbb, 0x86, 0x85, 0x20, 0xb9, 0xed, 0x1c, 0x3c, 0x6b, | ||||||
|  | 	0xd5, 0x66, 0x8a, 0x6b, 0xea, 0xa7, 0x1c, 0xf7, 0xfd, 0x01, 0xe2, 0xaf, 0x52, 0x17, 0xbb, 0xd3, | ||||||
|  | 	0xc6, 0x7c, 0x82, 0xc4, 0x77, 0xf9, 0x39, 0xff, 0xb7, 0x8d, 0xa0, 0x4f, 0x8f, 0x40, 0xdf, 0xfc, | ||||||
|  | 	0x9d, 0xc2, 0xf9, 0xad, 0x7b, 0xec, 0xf8, 0x1e, 0x42, 0x87, 0x13, 0x53, 0x3e, 0x7a, 0x09, 0xf9, | ||||||
|  | 	0x92, 0x1f, 0x70, 0x9e, 0x98, 0xcb, 0x8e, 0x1b, 0xa6, 0x7c, 0x84, 0x3c, 0x5f, 0xf2, 0x03, 0xa0, | ||||||
|  | 	0xf6, 0xb2, 0x03, 0x84, 0x29, 0x1f, 0xb1, 0xcd, 0x97, 0xfc, 0x80, 0xdc, 0x04, 0xdf, 0xc2, 0xdc, | ||||||
|  | 	0xc0, 0xc2, 0x98, 0x0f, 0x10, 0xe6, 0x09, 0x1f, 0x12, 0x74, 0xd7, 0xcc, 0xb6, 0x31, 0xe6, 0x03, | ||||||
|  | 	0x52, 0x79, 0xc2, 0x87, 0x08, 0xd8, 0x04, 0xdf, 0xc1, 0x99, 0xdd, 0x16, 0x26, 0x7c, 0xb8, 0xeb, | ||||||
|  | 	0x3c, 0xe5, 0xa3, 0x25, 0xb2, 0xc9, 0x55, 0xf0, 0x3d, 0xb4, 0xbf, 0xfb, 0xf5, 0xbf, 0x00, 0x00, | ||||||
|  | 	0x00, 0xff, 0xff, 0xc3, 0x45, 0xac, 0x57, 0x05, 0x04, 0x00, 0x00, | ||||||
|  | } | ||||||
							
								
								
									
										67
									
								
								config/source/service/proto/service.proto
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								config/source/service/proto/service.proto
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,67 @@ | |||||||
|  | syntax = "proto3"; | ||||||
|  |  | ||||||
|  | service Service { | ||||||
|  |     rpc Create (CreateRequest) returns (CreateResponse) {} | ||||||
|  |     rpc Update (UpdateRequest) returns (UpdateResponse) {} | ||||||
|  |     rpc Delete (DeleteRequest) returns (DeleteResponse) {} | ||||||
|  |     rpc List (ListRequest) returns (ListResponse) {} | ||||||
|  |     rpc Read (ReadRequest) returns (ReadResponse) {} | ||||||
|  |     rpc Watch (WatchRequest) returns (stream WatchResponse) {} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | message ChangeSet { | ||||||
|  |     bytes data = 1; | ||||||
|  |     string checksum = 2; | ||||||
|  |     string format = 3; | ||||||
|  |     string source = 4; | ||||||
|  |     int64 timestamp = 5; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | message Change { | ||||||
|  |     string key = 1; | ||||||
|  |     string path = 2; | ||||||
|  |     ChangeSet changeSet = 3; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | message CreateRequest { | ||||||
|  |     Change change = 1; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | message CreateResponse {} | ||||||
|  |  | ||||||
|  | message UpdateRequest { | ||||||
|  |     Change change = 1; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | message UpdateResponse {} | ||||||
|  |  | ||||||
|  | message DeleteRequest { | ||||||
|  |     Change change = 1; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | message DeleteResponse {} | ||||||
|  |  | ||||||
|  | message ListRequest {} | ||||||
|  |  | ||||||
|  | message ListResponse { | ||||||
|  |     repeated Change values = 1; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | message ReadRequest { | ||||||
|  |     string key = 1; | ||||||
|  |     string path = 2; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | message ReadResponse { | ||||||
|  |     Change change = 1; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | message WatchRequest { | ||||||
|  |     string key = 1; | ||||||
|  |     string path = 2; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | message WatchResponse { | ||||||
|  |     string key = 1; | ||||||
|  |     ChangeSet changeSet = 2; | ||||||
|  | } | ||||||
							
								
								
									
										90
									
								
								config/source/service/service.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										90
									
								
								config/source/service/service.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,90 @@ | |||||||
|  | package service | ||||||
|  |  | ||||||
|  | import ( | ||||||
|  | 	"context" | ||||||
|  |  | ||||||
|  | 	"github.com/micro/go-micro/client" | ||||||
|  | 	"github.com/micro/go-micro/config/source" | ||||||
|  | 	proto "github.com/micro/go-micro/config/source/service/proto" | ||||||
|  | 	"github.com/micro/go-micro/util/log" | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | var ( | ||||||
|  | 	DefaultName   = "go.micro.config" | ||||||
|  | 	DefaultKey    = "NAMESPACE:CONFIG" | ||||||
|  | 	DefaultPath   = "" | ||||||
|  | 	DefaultClient = client.DefaultClient | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | type service struct { | ||||||
|  | 	serviceName string | ||||||
|  | 	key         string | ||||||
|  | 	path        string | ||||||
|  | 	opts        source.Options | ||||||
|  | 	client      proto.Service | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *service) Read() (set *source.ChangeSet, err error) { | ||||||
|  | 	req, err := m.client.Read(context.Background(), &proto.ReadRequest{Key: m.key, Path: m.path}) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	return toChangeSet(req.Change.ChangeSet), nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *service) Watch() (w source.Watcher, err error) { | ||||||
|  | 	stream, err := m.client.Watch(context.Background(), &proto.WatchRequest{Key: m.key, Path: m.path}) | ||||||
|  | 	if err != nil { | ||||||
|  | 		log.Error("watch err: ", err) | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return newWatcher(stream) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Write is unsupported | ||||||
|  | func (m *service) Write(cs *source.ChangeSet) error { | ||||||
|  | 	return nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *service) String() string { | ||||||
|  | 	return "service" | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func NewSource(opts ...source.Option) source.Source { | ||||||
|  | 	var options source.Options | ||||||
|  | 	for _, o := range opts { | ||||||
|  | 		o(&options) | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	addr := DefaultName | ||||||
|  | 	key := DefaultKey | ||||||
|  | 	path := DefaultPath | ||||||
|  |  | ||||||
|  | 	if options.Context != nil { | ||||||
|  | 		a, ok := options.Context.Value(serviceNameKey{}).(string) | ||||||
|  | 		if ok { | ||||||
|  | 			addr = a | ||||||
|  | 		} | ||||||
|  |  | ||||||
|  | 		k, ok := options.Context.Value(keyKey{}).(string) | ||||||
|  | 		if ok { | ||||||
|  | 			key = k | ||||||
|  | 		} | ||||||
|  |  | ||||||
|  | 		p, ok := options.Context.Value(pathKey{}).(string) | ||||||
|  | 		if ok { | ||||||
|  | 			path = p | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	s := &service{ | ||||||
|  | 		serviceName: addr, | ||||||
|  | 		opts:        options, | ||||||
|  | 		key:         key, | ||||||
|  | 		path:        path, | ||||||
|  | 		client:      proto.NewService(addr, DefaultClient), | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	return s | ||||||
|  | } | ||||||
							
								
								
									
										18
									
								
								config/source/service/util.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								config/source/service/util.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | |||||||
|  | package service | ||||||
|  |  | ||||||
|  | import ( | ||||||
|  | 	"time" | ||||||
|  |  | ||||||
|  | 	"github.com/micro/go-micro/config/source" | ||||||
|  | 	proto "github.com/micro/go-micro/config/source/service/proto" | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | func toChangeSet(c *proto.ChangeSet) *source.ChangeSet { | ||||||
|  | 	return &source.ChangeSet{ | ||||||
|  | 		Data:      c.Data, | ||||||
|  | 		Checksum:  c.Checksum, | ||||||
|  | 		Format:    c.Format, | ||||||
|  | 		Timestamp: time.Unix(c.Timestamp, 0), | ||||||
|  | 		Source:    c.Source, | ||||||
|  | 	} | ||||||
|  | } | ||||||
							
								
								
									
										27
									
								
								config/source/service/watcher.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								config/source/service/watcher.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | |||||||
|  | package service | ||||||
|  |  | ||||||
|  | import ( | ||||||
|  | 	"github.com/micro/go-micro/config/source" | ||||||
|  | 	proto "github.com/micro/go-micro/config/source/service/proto" | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | type watcher struct { | ||||||
|  | 	stream proto.Service_WatchService | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func newWatcher(stream proto.Service_WatchService) (source.Watcher, error) { | ||||||
|  | 	return &watcher{stream: stream}, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (w *watcher) Next() (*source.ChangeSet, error) { | ||||||
|  | 	var rsp proto.WatchResponse | ||||||
|  | 	err := w.stream.RecvMsg(&rsp) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return toChangeSet(rsp.ChangeSet), nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (w *watcher) Stop() error { | ||||||
|  | 	return w.stream.Close() | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user