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