add mucp for config/source
This commit is contained in:
		
							
								
								
									
										72
									
								
								config/source/mucp/mucp.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								config/source/mucp/mucp.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,72 @@ | |||||||
|  | package mucp | ||||||
|  |  | ||||||
|  | import ( | ||||||
|  | 	"context" | ||||||
|  |  | ||||||
|  | 	"github.com/micro/go-micro/config/cmd" | ||||||
|  | 	"github.com/micro/go-micro/config/source" | ||||||
|  | 	proto "github.com/micro/go-micro/config/source/mucp/proto" | ||||||
|  | 	"github.com/micro/go-micro/util/log" | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | var ( | ||||||
|  | 	DefaultServiceName = "go.micro.config" | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | type mucpSource struct { | ||||||
|  | 	serviceName string | ||||||
|  | 	key         string | ||||||
|  | 	opts        source.Options | ||||||
|  | 	client      proto.SourceService | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *mucpSource) Read() (set *source.ChangeSet, err error) { | ||||||
|  | 	req, err := m.client.Read(context.Background(), &proto.ReadRequest{Path: m.key}) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	return toChangeSet(req.Change.ChangeSet), nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *mucpSource) Watch() (w source.Watcher, err error) { | ||||||
|  | 	stream, err := m.client.Watch(context.Background(), &proto.WatchRequest{Key: m.key}) | ||||||
|  | 	if err != nil { | ||||||
|  | 		log.Error("watch err: ", err) | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return newWatcher(stream) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Write is unsupported | ||||||
|  | func (m *mucpSource) Write(cs *source.ChangeSet) error { | ||||||
|  | 	return nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (m *mucpSource) String() string { | ||||||
|  | 	return "mucp" | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func NewSource(opts ...source.Option) source.Source { | ||||||
|  | 	var options source.Options | ||||||
|  | 	for _, o := range opts { | ||||||
|  | 		o(&options) | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	addr := DefaultServiceName | ||||||
|  |  | ||||||
|  | 	if options.Context != nil { | ||||||
|  | 		a, ok := options.Context.Value(serviceNameKey{}).(string) | ||||||
|  | 		if ok { | ||||||
|  | 			addr = a | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	s := &mucpSource{ | ||||||
|  | 		serviceName: addr, | ||||||
|  | 		opts:        options, | ||||||
|  | 		client:      proto.NewSourceService(addr, *cmd.DefaultOptions().Client), | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	return s | ||||||
|  | } | ||||||
							
								
								
									
										18
									
								
								config/source/mucp/options.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								config/source/mucp/options.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | |||||||
|  | package mucp | ||||||
|  |  | ||||||
|  | import ( | ||||||
|  | 	"context" | ||||||
|  |  | ||||||
|  | 	"github.com/micro/go-micro/config/source" | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | type serviceNameKey struct{} | ||||||
|  |  | ||||||
|  | func ServiceName(a string) source.Option { | ||||||
|  | 	return func(o *source.Options) { | ||||||
|  | 		if o.Context == nil { | ||||||
|  | 			o.Context = context.Background() | ||||||
|  | 		} | ||||||
|  | 		o.Context = context.WithValue(o.Context, serviceNameKey{}, a) | ||||||
|  | 	} | ||||||
|  | } | ||||||
							
								
								
									
										649
									
								
								config/source/mucp/proto/mucp.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										649
									
								
								config/source/mucp/proto/mucp.pb.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,649 @@ | |||||||
|  | // Code generated by protoc-gen-go. DO NOT EDIT. | ||||||
|  | // source: proto/mucp.proto | ||||||
|  |  | ||||||
|  | package mucp | ||||||
|  |  | ||||||
|  | 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_942f149553cfb65d, []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_942f149553cfb65d, []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_942f149553cfb65d, []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_942f149553cfb65d, []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_942f149553cfb65d, []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_942f149553cfb65d, []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_942f149553cfb65d, []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_942f149553cfb65d, []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_942f149553cfb65d, []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 { | ||||||
|  | 	Configs              []*Change `protobuf:"bytes,1,rep,name=configs,proto3" json:"configs,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_942f149553cfb65d, []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) GetConfigs() []*Change { | ||||||
|  | 	if m != nil { | ||||||
|  | 		return m.Configs | ||||||
|  | 	} | ||||||
|  | 	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_942f149553cfb65d, []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_942f149553cfb65d, []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"` | ||||||
|  | 	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_942f149553cfb65d, []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 "" | ||||||
|  | } | ||||||
|  |  | ||||||
|  | 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_942f149553cfb65d, []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/mucp.proto", fileDescriptor_942f149553cfb65d) } | ||||||
|  |  | ||||||
|  | var fileDescriptor_942f149553cfb65d = []byte{ | ||||||
|  | 	// 425 bytes of a gzipped FileDescriptorProto | ||||||
|  | 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x93, 0xdd, 0x6e, 0xd3, 0x30, | ||||||
|  | 	0x14, 0xc7, 0x93, 0xa6, 0xcb, 0xc8, 0xc9, 0x47, 0xab, 0x73, 0x81, 0xa2, 0x08, 0x89, 0x60, 0x09, | ||||||
|  | 	0x29, 0x02, 0xc9, 0x1b, 0xdd, 0x23, 0x8c, 0x3b, 0xb8, 0xf2, 0x84, 0xe0, 0xd6, 0xa4, 0xde, 0x52, | ||||||
|  | 	0x8d, 0x34, 0x21, 0x76, 0x2e, 0x78, 0x84, 0xbd, 0x35, 0x8a, 0xed, 0xb4, 0x49, 0x11, 0xb0, 0xde, | ||||||
|  | 	0x9d, 0xcf, 0xbf, 0xff, 0x3d, 0xbf, 0x06, 0xd6, 0x6d, 0xd7, 0xa8, 0xe6, 0xaa, 0xee, 0xcb, 0x96, | ||||||
|  | 	0xea, 0x90, 0x3c, 0xb9, 0x10, 0xdc, 0x56, 0x7c, 0xff, 0x20, 0xee, 0x84, 0x42, 0x84, 0xe5, 0x96, | ||||||
|  | 	0x2b, 0x9e, 0xba, 0xb9, 0x5b, 0x44, 0x4c, 0xc7, 0x98, 0xc1, 0x8b, 0xb2, 0x12, 0xe5, 0xa3, 0xec, | ||||||
|  | 	0xeb, 0x74, 0x91, 0xbb, 0x45, 0xc0, 0x0e, 0x39, 0xbe, 0x04, 0xff, 0xbe, 0xe9, 0x6a, 0xae, 0x52, | ||||||
|  | 	0x4f, 0x77, 0x6c, 0x36, 0xd4, 0x65, 0xd3, 0x77, 0xa5, 0x48, 0x97, 0xa6, 0x6e, 0x32, 0x7c, 0x05, | ||||||
|  | 	0x81, 0xda, 0xd5, 0x42, 0x2a, 0x5e, 0xb7, 0xe9, 0x45, 0xee, 0x16, 0x1e, 0x3b, 0x16, 0xc8, 0x37, | ||||||
|  | 	0xf0, 0x8d, 0x15, 0x5c, 0x83, 0xf7, 0x28, 0x7e, 0x69, 0x1b, 0x01, 0x1b, 0xc2, 0xc1, 0x59, 0xcb, | ||||||
|  | 	0x55, 0x65, 0x1d, 0xe8, 0x18, 0x0b, 0x08, 0xca, 0xd1, 0xba, 0x36, 0x10, 0x6e, 0x80, 0x1e, 0x7e, | ||||||
|  | 	0x0c, 0x3b, 0x36, 0xc9, 0x35, 0xc4, 0xb7, 0x9d, 0xe0, 0x4a, 0x30, 0xf1, 0xb3, 0x17, 0x52, 0xe1, | ||||||
|  | 	0x6b, 0xf0, 0x4d, 0x57, 0xbf, 0x11, 0x6e, 0x2e, 0xed, 0x1e, 0xb3, 0x65, 0xb2, 0x86, 0x64, 0xdc, | ||||||
|  | 	0x90, 0x6d, 0xb3, 0x97, 0x62, 0xd0, 0xf8, 0xd2, 0x6e, 0xcf, 0xd4, 0x18, 0x37, 0x8e, 0x1a, 0x1f, | ||||||
|  | 	0xc5, 0x0f, 0x71, 0x9e, 0xc6, 0xb8, 0x61, 0x35, 0x62, 0x08, 0x3f, 0xef, 0xa4, 0xb2, 0x0a, 0xe4, | ||||||
|  | 	0x03, 0x44, 0x26, 0x35, 0x6d, 0x7c, 0x03, 0x97, 0x65, 0xb3, 0xbf, 0xdf, 0x3d, 0xc8, 0xd4, 0xcd, | ||||||
|  | 	0xbd, 0xa9, 0xe4, 0x58, 0x27, 0x37, 0x10, 0x32, 0xc1, 0xb7, 0xa3, 0x87, 0x67, 0x1d, 0x9b, 0x5c, | ||||||
|  | 	0x41, 0x64, 0x96, 0xec, 0x3b, 0xff, 0x75, 0x9e, 0x43, 0xf4, 0x95, 0xab, 0xb2, 0xfa, 0xeb, 0x33, | ||||||
|  | 	0xe4, 0x13, 0xc4, 0x76, 0xc2, 0x6a, 0xfe, 0xe9, 0x64, 0x86, 0x78, 0xf1, 0x0f, 0xc4, 0x9b, 0xa7, | ||||||
|  | 	0x05, 0xf8, 0x77, 0xe6, 0x5f, 0xf6, 0x1e, 0x7c, 0xc3, 0x0e, 0x13, 0x3a, 0xc3, 0x9e, 0xad, 0xe8, | ||||||
|  | 	0x09, 0x54, 0x67, 0x18, 0x36, 0x90, 0x30, 0xa1, 0x33, 0xbe, 0xd9, 0x8a, 0x9e, 0xd0, 0xd3, 0xc3, | ||||||
|  | 	0x86, 0x06, 0x26, 0x74, 0x06, 0x32, 0x5b, 0xd1, 0x13, 0x4c, 0x0e, 0xbe, 0x85, 0xe5, 0x40, 0x06, | ||||||
|  | 	0x23, 0x3a, 0xe1, 0x95, 0xc5, 0x74, 0x8a, 0xcb, 0x8c, 0x0d, 0x87, 0xc5, 0x88, 0x4e, 0xa0, 0x64, | ||||||
|  | 	0x31, 0x9d, 0x5e, 0x9b, 0x38, 0xf8, 0x0e, 0x2e, 0xf4, 0xb1, 0x30, 0xa6, 0xd3, 0xb3, 0x66, 0x09, | ||||||
|  | 	0x9d, 0xdd, 0x90, 0x38, 0xd7, 0xee, 0x77, 0x5f, 0x7f, 0xdb, 0x37, 0xbf, 0x03, 0x00, 0x00, 0xff, | ||||||
|  | 	0xff, 0x66, 0x66, 0xa8, 0x5d, 0xef, 0x03, 0x00, 0x00, | ||||||
|  | } | ||||||
							
								
								
									
										241
									
								
								config/source/mucp/proto/mucp.pb.micro.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										241
									
								
								config/source/mucp/proto/mucp.pb.micro.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,241 @@ | |||||||
|  | // Code generated by protoc-gen-micro. DO NOT EDIT. | ||||||
|  | // source: proto/mucp.proto | ||||||
|  |  | ||||||
|  | package mucp | ||||||
|  |  | ||||||
|  | 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 Source service | ||||||
|  |  | ||||||
|  | type SourceService 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) (Source_WatchService, error) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type sourceService struct { | ||||||
|  | 	c    client.Client | ||||||
|  | 	name string | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func NewSourceService(name string, c client.Client) SourceService { | ||||||
|  | 	if c == nil { | ||||||
|  | 		c = client.NewClient() | ||||||
|  | 	} | ||||||
|  | 	if len(name) == 0 { | ||||||
|  | 		name = "source" | ||||||
|  | 	} | ||||||
|  | 	return &sourceService{ | ||||||
|  | 		c:    c, | ||||||
|  | 		name: name, | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (c *sourceService) Create(ctx context.Context, in *CreateRequest, opts ...client.CallOption) (*CreateResponse, error) { | ||||||
|  | 	req := c.c.NewRequest(c.name, "Source.Create", in) | ||||||
|  | 	out := new(CreateResponse) | ||||||
|  | 	err := c.c.Call(ctx, req, out, opts...) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return out, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (c *sourceService) Update(ctx context.Context, in *UpdateRequest, opts ...client.CallOption) (*UpdateResponse, error) { | ||||||
|  | 	req := c.c.NewRequest(c.name, "Source.Update", in) | ||||||
|  | 	out := new(UpdateResponse) | ||||||
|  | 	err := c.c.Call(ctx, req, out, opts...) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return out, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (c *sourceService) Delete(ctx context.Context, in *DeleteRequest, opts ...client.CallOption) (*DeleteResponse, error) { | ||||||
|  | 	req := c.c.NewRequest(c.name, "Source.Delete", in) | ||||||
|  | 	out := new(DeleteResponse) | ||||||
|  | 	err := c.c.Call(ctx, req, out, opts...) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return out, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (c *sourceService) List(ctx context.Context, in *ListRequest, opts ...client.CallOption) (*ListResponse, error) { | ||||||
|  | 	req := c.c.NewRequest(c.name, "Source.List", in) | ||||||
|  | 	out := new(ListResponse) | ||||||
|  | 	err := c.c.Call(ctx, req, out, opts...) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return out, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (c *sourceService) Read(ctx context.Context, in *ReadRequest, opts ...client.CallOption) (*ReadResponse, error) { | ||||||
|  | 	req := c.c.NewRequest(c.name, "Source.Read", in) | ||||||
|  | 	out := new(ReadResponse) | ||||||
|  | 	err := c.c.Call(ctx, req, out, opts...) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return out, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (c *sourceService) Watch(ctx context.Context, in *WatchRequest, opts ...client.CallOption) (Source_WatchService, error) { | ||||||
|  | 	req := c.c.NewRequest(c.name, "Source.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 &sourceServiceWatch{stream}, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type Source_WatchService interface { | ||||||
|  | 	SendMsg(interface{}) error | ||||||
|  | 	RecvMsg(interface{}) error | ||||||
|  | 	Close() error | ||||||
|  | 	Recv() (*WatchResponse, error) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type sourceServiceWatch struct { | ||||||
|  | 	stream client.Stream | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (x *sourceServiceWatch) Close() error { | ||||||
|  | 	return x.stream.Close() | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (x *sourceServiceWatch) SendMsg(m interface{}) error { | ||||||
|  | 	return x.stream.Send(m) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (x *sourceServiceWatch) RecvMsg(m interface{}) error { | ||||||
|  | 	return x.stream.Recv(m) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (x *sourceServiceWatch) Recv() (*WatchResponse, error) { | ||||||
|  | 	m := new(WatchResponse) | ||||||
|  | 	err := x.stream.Recv(m) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return m, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Server API for Source service | ||||||
|  |  | ||||||
|  | type SourceHandler 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, Source_WatchStream) error | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func RegisterSourceHandler(s server.Server, hdlr SourceHandler, opts ...server.HandlerOption) error { | ||||||
|  | 	type source 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 Source struct { | ||||||
|  | 		source | ||||||
|  | 	} | ||||||
|  | 	h := &sourceHandler{hdlr} | ||||||
|  | 	return s.Handle(s.NewHandler(&Source{h}, opts...)) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type sourceHandler struct { | ||||||
|  | 	SourceHandler | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (h *sourceHandler) Create(ctx context.Context, in *CreateRequest, out *CreateResponse) error { | ||||||
|  | 	return h.SourceHandler.Create(ctx, in, out) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (h *sourceHandler) Update(ctx context.Context, in *UpdateRequest, out *UpdateResponse) error { | ||||||
|  | 	return h.SourceHandler.Update(ctx, in, out) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (h *sourceHandler) Delete(ctx context.Context, in *DeleteRequest, out *DeleteResponse) error { | ||||||
|  | 	return h.SourceHandler.Delete(ctx, in, out) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (h *sourceHandler) List(ctx context.Context, in *ListRequest, out *ListResponse) error { | ||||||
|  | 	return h.SourceHandler.List(ctx, in, out) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (h *sourceHandler) Read(ctx context.Context, in *ReadRequest, out *ReadResponse) error { | ||||||
|  | 	return h.SourceHandler.Read(ctx, in, out) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (h *sourceHandler) Watch(ctx context.Context, stream server.Stream) error { | ||||||
|  | 	m := new(WatchRequest) | ||||||
|  | 	if err := stream.Recv(m); err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  | 	return h.SourceHandler.Watch(ctx, m, &sourceWatchStream{stream}) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type Source_WatchStream interface { | ||||||
|  | 	SendMsg(interface{}) error | ||||||
|  | 	RecvMsg(interface{}) error | ||||||
|  | 	Close() error | ||||||
|  | 	Send(*WatchResponse) error | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type sourceWatchStream struct { | ||||||
|  | 	stream server.Stream | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (x *sourceWatchStream) Close() error { | ||||||
|  | 	return x.stream.Close() | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (x *sourceWatchStream) SendMsg(m interface{}) error { | ||||||
|  | 	return x.stream.Send(m) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (x *sourceWatchStream) RecvMsg(m interface{}) error { | ||||||
|  | 	return x.stream.Recv(m) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (x *sourceWatchStream) Send(m *WatchResponse) error { | ||||||
|  | 	return x.stream.Send(m) | ||||||
|  | } | ||||||
							
								
								
									
										76
									
								
								config/source/mucp/proto/mucp.proto
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								config/source/mucp/proto/mucp.proto
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,76 @@ | |||||||
|  | syntax = "proto3"; | ||||||
|  |  | ||||||
|  | service Source { | ||||||
|  |     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 configs = 1; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | message ReadRequest { | ||||||
|  |     string key = 1; | ||||||
|  |     string path = 2; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | message ReadResponse { | ||||||
|  |     Change change = 1; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | message WatchRequest { | ||||||
|  |     string key = 1; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | message WatchResponse { | ||||||
|  |     string key = 1; | ||||||
|  |     ChangeSet changeSet = 2; | ||||||
|  | } | ||||||
							
								
								
									
										18
									
								
								config/source/mucp/util.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								config/source/mucp/util.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | |||||||
|  | package mucp | ||||||
|  |  | ||||||
|  | import ( | ||||||
|  | 	"time" | ||||||
|  |  | ||||||
|  | 	"github.com/micro/go-micro/config/source" | ||||||
|  | 	proto "github.com/micro/go-micro/config/source/mucp/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/mucp/watcher.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								config/source/mucp/watcher.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | |||||||
|  | package mucp | ||||||
|  |  | ||||||
|  | import ( | ||||||
|  | 	"github.com/micro/go-micro/config/source" | ||||||
|  | 	proto "github.com/micro/go-micro/config/source/mucp/proto" | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | type watcher struct { | ||||||
|  | 	stream proto.Source_WatchService | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func newWatcher(stream proto.Source_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