diff --git a/Makefile b/Makefile new file mode 100644 index 0000000000..e8f9e3a8ae --- /dev/null +++ b/Makefile @@ -0,0 +1,3 @@ +master-proto-gen: + protoc --go_out=plugins=grpc,paths=source_relative:. pkg/master/grpc/master/master.proto + protoc --go_out=plugins=grpc,paths=source_relative:. pkg/master/grpc/message/message.proto diff --git a/pkg/master/grpc/master.pb.go b/pkg/master/grpc/master.pb.go deleted file mode 100644 index 4dcbdaa3a9..0000000000 --- a/pkg/master/grpc/master.pb.go +++ /dev/null @@ -1,235 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// source: master.proto - -//option go_package = "github.com/czs007/suvilm/pkg/master/grpc"; - -package masterpb - -import ( - context "context" - fmt "fmt" - proto "github.com/golang/protobuf/proto" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" - 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 CreateCollectionRequest struct { - CollectionName string `protobuf:"bytes,1,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *CreateCollectionRequest) Reset() { *m = CreateCollectionRequest{} } -func (m *CreateCollectionRequest) String() string { return proto.CompactTextString(m) } -func (*CreateCollectionRequest) ProtoMessage() {} -func (*CreateCollectionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_f9c348dec43a6705, []int{0} -} - -func (m *CreateCollectionRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_CreateCollectionRequest.Unmarshal(m, b) -} -func (m *CreateCollectionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_CreateCollectionRequest.Marshal(b, m, deterministic) -} -func (m *CreateCollectionRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_CreateCollectionRequest.Merge(m, src) -} -func (m *CreateCollectionRequest) XXX_Size() int { - return xxx_messageInfo_CreateCollectionRequest.Size(m) -} -func (m *CreateCollectionRequest) XXX_DiscardUnknown() { - xxx_messageInfo_CreateCollectionRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_CreateCollectionRequest proto.InternalMessageInfo - -func (m *CreateCollectionRequest) GetCollectionName() string { - if m != nil { - return m.CollectionName - } - return "" -} - -type CreateCollectionResponse struct { - CollectionName string `protobuf:"bytes,1,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"` - CollectionId uint64 `protobuf:"varint,2,opt,name=collection_id,json=collectionId,proto3" json:"collection_id,omitempty"` - SegmentIds []uint64 `protobuf:"varint,3,rep,packed,name=segment_ids,json=segmentIds,proto3" json:"segment_ids,omitempty"` - PartitionTags []string `protobuf:"bytes,4,rep,name=partition_tags,json=partitionTags,proto3" json:"partition_tags,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *CreateCollectionResponse) Reset() { *m = CreateCollectionResponse{} } -func (m *CreateCollectionResponse) String() string { return proto.CompactTextString(m) } -func (*CreateCollectionResponse) ProtoMessage() {} -func (*CreateCollectionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_f9c348dec43a6705, []int{1} -} - -func (m *CreateCollectionResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_CreateCollectionResponse.Unmarshal(m, b) -} -func (m *CreateCollectionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_CreateCollectionResponse.Marshal(b, m, deterministic) -} -func (m *CreateCollectionResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_CreateCollectionResponse.Merge(m, src) -} -func (m *CreateCollectionResponse) XXX_Size() int { - return xxx_messageInfo_CreateCollectionResponse.Size(m) -} -func (m *CreateCollectionResponse) XXX_DiscardUnknown() { - xxx_messageInfo_CreateCollectionResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_CreateCollectionResponse proto.InternalMessageInfo - -func (m *CreateCollectionResponse) GetCollectionName() string { - if m != nil { - return m.CollectionName - } - return "" -} - -func (m *CreateCollectionResponse) GetCollectionId() uint64 { - if m != nil { - return m.CollectionId - } - return 0 -} - -func (m *CreateCollectionResponse) GetSegmentIds() []uint64 { - if m != nil { - return m.SegmentIds - } - return nil -} - -func (m *CreateCollectionResponse) GetPartitionTags() []string { - if m != nil { - return m.PartitionTags - } - return nil -} - -func init() { - proto.RegisterType((*CreateCollectionRequest)(nil), "masterpb.CreateCollectionRequest") - proto.RegisterType((*CreateCollectionResponse)(nil), "masterpb.CreateCollectionResponse") -} - -func init() { proto.RegisterFile("master.proto", fileDescriptor_f9c348dec43a6705) } - -var fileDescriptor_f9c348dec43a6705 = []byte{ - // 225 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x90, 0xcf, 0x4a, 0x03, 0x31, - 0x10, 0x87, 0x5d, 0x77, 0x29, 0x76, 0x6c, 0xab, 0xe4, 0x62, 0xf0, 0xe2, 0x1a, 0x11, 0x73, 0xda, - 0x83, 0xbe, 0x81, 0x3d, 0xf5, 0xa0, 0x87, 0xe0, 0xcd, 0x43, 0x49, 0x9b, 0x61, 0x09, 0x34, 0x7f, - 0xcc, 0x8c, 0xef, 0xe5, 0x23, 0x0a, 0x5b, 0x6d, 0x45, 0x51, 0x3c, 0xe6, 0xe3, 0xc7, 0x47, 0xe6, - 0x83, 0x49, 0xb0, 0xc4, 0x58, 0xba, 0x5c, 0x12, 0x27, 0x71, 0xb4, 0x7d, 0xe5, 0x95, 0xba, 0x87, - 0xb3, 0x79, 0x41, 0xcb, 0x38, 0x4f, 0x9b, 0x0d, 0xae, 0xd9, 0xa7, 0x68, 0xf0, 0xe5, 0x15, 0x89, - 0xc5, 0x0d, 0x9c, 0xac, 0x77, 0x70, 0x19, 0x6d, 0x40, 0x59, 0xb5, 0x95, 0x1e, 0x9b, 0xd9, 0x1e, - 0x3f, 0xda, 0x80, 0xea, 0xad, 0x02, 0xf9, 0x53, 0x42, 0x39, 0x45, 0xc2, 0x7f, 0x5b, 0xc4, 0x15, - 0x4c, 0xbf, 0x0c, 0xbd, 0x93, 0x87, 0x6d, 0xa5, 0x1b, 0x33, 0xd9, 0xc3, 0x85, 0x13, 0x17, 0x70, - 0x4c, 0xd8, 0x07, 0x8c, 0xbc, 0xf4, 0x8e, 0x64, 0xdd, 0xd6, 0xba, 0x31, 0xf0, 0x81, 0x16, 0x8e, - 0xc4, 0x35, 0xcc, 0xb2, 0x2d, 0xec, 0x07, 0x09, 0xdb, 0x9e, 0x64, 0xd3, 0xd6, 0x7a, 0x6c, 0xa6, - 0x3b, 0xfa, 0x64, 0x7b, 0xba, 0x45, 0x18, 0x3d, 0x0c, 0x09, 0xc4, 0x33, 0x9c, 0x7e, 0xff, 0xbb, - 0xb8, 0xec, 0x3e, 0xfb, 0x74, 0xbf, 0xc4, 0x39, 0x57, 0x7f, 0x4d, 0xb6, 0xa7, 0xab, 0x83, 0xd5, - 0x68, 0xc8, 0x7d, 0xf7, 0x1e, 0x00, 0x00, 0xff, 0xff, 0x0d, 0xb6, 0xf8, 0x4e, 0x7e, 0x01, 0x00, - 0x00, -} - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConn - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion4 - -// MasterClient is the client API for Master service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type MasterClient interface { - CreateCollection(ctx context.Context, in *CreateCollectionRequest, opts ...grpc.CallOption) (*CreateCollectionResponse, error) -} - -type masterClient struct { - cc *grpc.ClientConn -} - -func NewMasterClient(cc *grpc.ClientConn) MasterClient { - return &masterClient{cc} -} - -func (c *masterClient) CreateCollection(ctx context.Context, in *CreateCollectionRequest, opts ...grpc.CallOption) (*CreateCollectionResponse, error) { - out := new(CreateCollectionResponse) - err := c.cc.Invoke(ctx, "/masterpb.Master/CreateCollection", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// MasterServer is the server API for Master service. -type MasterServer interface { - CreateCollection(context.Context, *CreateCollectionRequest) (*CreateCollectionResponse, error) -} - -// UnimplementedMasterServer can be embedded to have forward compatible implementations. -type UnimplementedMasterServer struct { -} - -func (*UnimplementedMasterServer) CreateCollection(ctx context.Context, req *CreateCollectionRequest) (*CreateCollectionResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateCollection not implemented") -} - -func RegisterMasterServer(s *grpc.Server, srv MasterServer) { - s.RegisterService(&_Master_serviceDesc, srv) -} - -func _Master_CreateCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CreateCollectionRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MasterServer).CreateCollection(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/masterpb.Master/CreateCollection", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MasterServer).CreateCollection(ctx, req.(*CreateCollectionRequest)) - } - return interceptor(ctx, in, info, handler) -} - -var _Master_serviceDesc = grpc.ServiceDesc{ - ServiceName: "masterpb.Master", - HandlerType: (*MasterServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "CreateCollection", - Handler: _Master_CreateCollection_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "master.proto", -} diff --git a/pkg/master/grpc/master.proto b/pkg/master/grpc/master.proto deleted file mode 100644 index 961a93f90b..0000000000 --- a/pkg/master/grpc/master.proto +++ /dev/null @@ -1,20 +0,0 @@ -syntax = "proto3"; - -//option go_package = "github.com/czs007/suvilm/pkg/master/grpc"; -package masterpb; - -service Master { - rpc CreateCollection (CreateCollectionRequest) returns (CreateCollectionResponse) {} -} - - -message CreateCollectionRequest { - string collection_name = 1; -} - -message CreateCollectionResponse { - string collection_name = 1; - uint64 collection_id = 2; - repeated uint64 segment_ids = 3; - repeated string partition_tags = 4; -} \ No newline at end of file diff --git a/pkg/master/grpc/master/master.pb.go b/pkg/master/grpc/master/master.pb.go new file mode 100644 index 0000000000..76447a18a7 --- /dev/null +++ b/pkg/master/grpc/master/master.pb.go @@ -0,0 +1,369 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: pkg/master/grpc/master/master.proto + +package master + +import ( + context "context" + fmt "fmt" + message "github.com/czs007/suvlim/pkg/master/grpc/message" + proto "github.com/golang/protobuf/proto" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + 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 Collection struct { + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Schema *message.Schema `protobuf:"bytes,3,opt,name=schema,proto3" json:"schema,omitempty"` + CreateTime uint64 `protobuf:"varint,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + SegmentIds []uint64 `protobuf:"varint,5,rep,packed,name=segment_ids,json=segmentIds,proto3" json:"segment_ids,omitempty"` + PartitionTags []string `protobuf:"bytes,6,rep,name=partition_tags,json=partitionTags,proto3" json:"partition_tags,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Collection) Reset() { *m = Collection{} } +func (m *Collection) String() string { return proto.CompactTextString(m) } +func (*Collection) ProtoMessage() {} +func (*Collection) Descriptor() ([]byte, []int) { + return fileDescriptor_64c7f42561e95429, []int{0} +} + +func (m *Collection) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Collection.Unmarshal(m, b) +} +func (m *Collection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Collection.Marshal(b, m, deterministic) +} +func (m *Collection) XXX_Merge(src proto.Message) { + xxx_messageInfo_Collection.Merge(m, src) +} +func (m *Collection) XXX_Size() int { + return xxx_messageInfo_Collection.Size(m) +} +func (m *Collection) XXX_DiscardUnknown() { + xxx_messageInfo_Collection.DiscardUnknown(m) +} + +var xxx_messageInfo_Collection proto.InternalMessageInfo + +func (m *Collection) GetId() uint64 { + if m != nil { + return m.Id + } + return 0 +} + +func (m *Collection) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *Collection) GetSchema() *message.Schema { + if m != nil { + return m.Schema + } + return nil +} + +func (m *Collection) GetCreateTime() uint64 { + if m != nil { + return m.CreateTime + } + return 0 +} + +func (m *Collection) GetSegmentIds() []uint64 { + if m != nil { + return m.SegmentIds + } + return nil +} + +func (m *Collection) GetPartitionTags() []string { + if m != nil { + return m.PartitionTags + } + return nil +} + +type Segment struct { + SegmentId uint64 `protobuf:"varint,1,opt,name=segment_id,json=segmentId,proto3" json:"segment_id,omitempty"` + CollectionId uint64 `protobuf:"varint,2,opt,name=collection_id,json=collectionId,proto3" json:"collection_id,omitempty"` + PartitionTag string `protobuf:"bytes,3,opt,name=partition_tag,json=partitionTag,proto3" json:"partition_tag,omitempty"` + ChannelStart int32 `protobuf:"varint,4,opt,name=channel_start,json=channelStart,proto3" json:"channel_start,omitempty"` + ChannelEnd int32 `protobuf:"varint,5,opt,name=channel_end,json=channelEnd,proto3" json:"channel_end,omitempty"` + OpenTimestamp uint64 `protobuf:"varint,6,opt,name=open_timestamp,json=openTimestamp,proto3" json:"open_timestamp,omitempty"` + CloseTimestamp uint64 `protobuf:"varint,7,opt,name=close_timestamp,json=closeTimestamp,proto3" json:"close_timestamp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Segment) Reset() { *m = Segment{} } +func (m *Segment) String() string { return proto.CompactTextString(m) } +func (*Segment) ProtoMessage() {} +func (*Segment) Descriptor() ([]byte, []int) { + return fileDescriptor_64c7f42561e95429, []int{1} +} + +func (m *Segment) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Segment.Unmarshal(m, b) +} +func (m *Segment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Segment.Marshal(b, m, deterministic) +} +func (m *Segment) XXX_Merge(src proto.Message) { + xxx_messageInfo_Segment.Merge(m, src) +} +func (m *Segment) XXX_Size() int { + return xxx_messageInfo_Segment.Size(m) +} +func (m *Segment) XXX_DiscardUnknown() { + xxx_messageInfo_Segment.DiscardUnknown(m) +} + +var xxx_messageInfo_Segment proto.InternalMessageInfo + +func (m *Segment) GetSegmentId() uint64 { + if m != nil { + return m.SegmentId + } + return 0 +} + +func (m *Segment) GetCollectionId() uint64 { + if m != nil { + return m.CollectionId + } + return 0 +} + +func (m *Segment) GetPartitionTag() string { + if m != nil { + return m.PartitionTag + } + return "" +} + +func (m *Segment) GetChannelStart() int32 { + if m != nil { + return m.ChannelStart + } + return 0 +} + +func (m *Segment) GetChannelEnd() int32 { + if m != nil { + return m.ChannelEnd + } + return 0 +} + +func (m *Segment) GetOpenTimestamp() uint64 { + if m != nil { + return m.OpenTimestamp + } + return 0 +} + +func (m *Segment) GetCloseTimestamp() uint64 { + if m != nil { + return m.CloseTimestamp + } + return 0 +} + +type SegmentStat struct { + SegmentId uint64 `protobuf:"varint,1,opt,name=segment_id,json=segmentId,proto3" json:"segment_id,omitempty"` + MemorySize uint64 `protobuf:"varint,2,opt,name=memory_size,json=memorySize,proto3" json:"memory_size,omitempty"` + MemoryRate float32 `protobuf:"fixed32,3,opt,name=memory_rate,json=memoryRate,proto3" json:"memory_rate,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SegmentStat) Reset() { *m = SegmentStat{} } +func (m *SegmentStat) String() string { return proto.CompactTextString(m) } +func (*SegmentStat) ProtoMessage() {} +func (*SegmentStat) Descriptor() ([]byte, []int) { + return fileDescriptor_64c7f42561e95429, []int{2} +} + +func (m *SegmentStat) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SegmentStat.Unmarshal(m, b) +} +func (m *SegmentStat) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SegmentStat.Marshal(b, m, deterministic) +} +func (m *SegmentStat) XXX_Merge(src proto.Message) { + xxx_messageInfo_SegmentStat.Merge(m, src) +} +func (m *SegmentStat) XXX_Size() int { + return xxx_messageInfo_SegmentStat.Size(m) +} +func (m *SegmentStat) XXX_DiscardUnknown() { + xxx_messageInfo_SegmentStat.DiscardUnknown(m) +} + +var xxx_messageInfo_SegmentStat proto.InternalMessageInfo + +func (m *SegmentStat) GetSegmentId() uint64 { + if m != nil { + return m.SegmentId + } + return 0 +} + +func (m *SegmentStat) GetMemorySize() uint64 { + if m != nil { + return m.MemorySize + } + return 0 +} + +func (m *SegmentStat) GetMemoryRate() float32 { + if m != nil { + return m.MemoryRate + } + return 0 +} + +func init() { + proto.RegisterType((*Collection)(nil), "masterpb.Collection") + proto.RegisterType((*Segment)(nil), "masterpb.Segment") + proto.RegisterType((*SegmentStat)(nil), "masterpb.SegmentStat") +} + +func init() { + proto.RegisterFile("pkg/master/grpc/master/master.proto", fileDescriptor_64c7f42561e95429) +} + +var fileDescriptor_64c7f42561e95429 = []byte{ + // 447 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x92, 0xcf, 0x6e, 0xd3, 0x40, + 0x10, 0xc6, 0x89, 0x93, 0xb8, 0x64, 0xf2, 0x07, 0xb4, 0x70, 0xb0, 0x2a, 0xa1, 0x5a, 0xa9, 0x2a, + 0x22, 0x21, 0xd9, 0xa5, 0x1c, 0x38, 0x22, 0x51, 0x71, 0xe8, 0xa1, 0x17, 0x3b, 0x27, 0x2e, 0xd6, + 0xc6, 0x1e, 0x39, 0x2b, 0xbc, 0xeb, 0x95, 0x77, 0x52, 0x89, 0x3c, 0x01, 0x4f, 0xc6, 0x73, 0x21, + 0x8f, 0x9d, 0x34, 0x05, 0xa4, 0x9e, 0x76, 0xfd, 0xf9, 0xb7, 0x33, 0x3b, 0xdf, 0x7e, 0x70, 0x69, + 0x7f, 0x94, 0xb1, 0x96, 0x8e, 0xb0, 0x89, 0xcb, 0xc6, 0xe6, 0x87, 0x7d, 0xb7, 0x44, 0xb6, 0xa9, + 0xa9, 0x16, 0x2f, 0xbb, 0x2f, 0xbb, 0x39, 0xbf, 0xfa, 0x07, 0x47, 0xe7, 0x64, 0x89, 0x87, 0xb5, + 0x3b, 0xb0, 0xfc, 0x3d, 0x00, 0xb8, 0xad, 0xab, 0x0a, 0x73, 0x52, 0xb5, 0x11, 0x0b, 0xf0, 0x54, + 0x11, 0x0c, 0xc2, 0xc1, 0x6a, 0x94, 0x78, 0xaa, 0x10, 0x02, 0x46, 0x46, 0x6a, 0x0c, 0xbc, 0x70, + 0xb0, 0x9a, 0x24, 0xbc, 0x17, 0x1f, 0xc0, 0x77, 0xf9, 0x16, 0xb5, 0x0c, 0x86, 0xe1, 0x60, 0x35, + 0xbd, 0x79, 0x13, 0x69, 0x55, 0x3d, 0xec, 0x5c, 0xd4, 0xb6, 0x89, 0x52, 0xfe, 0x95, 0xf4, 0x88, + 0xb8, 0x80, 0x69, 0xde, 0xa0, 0x24, 0xcc, 0x48, 0x69, 0x0c, 0x46, 0x5c, 0x19, 0x3a, 0x69, 0xad, + 0x34, 0xb6, 0x80, 0xc3, 0x52, 0xa3, 0xa1, 0x4c, 0x15, 0x2e, 0x18, 0x87, 0xc3, 0x16, 0xe8, 0xa5, + 0xbb, 0xc2, 0x89, 0x2b, 0x58, 0x58, 0xd9, 0x90, 0x6a, 0xef, 0x97, 0x91, 0x2c, 0x5d, 0xe0, 0x87, + 0xc3, 0xd5, 0x24, 0x99, 0x1f, 0xd5, 0xb5, 0x2c, 0xdd, 0xf2, 0x97, 0x07, 0x67, 0x69, 0x77, 0x4a, + 0xbc, 0x03, 0x78, 0xac, 0xd9, 0x4f, 0x33, 0x39, 0x96, 0x14, 0x97, 0x30, 0xcf, 0x8f, 0x23, 0xb7, + 0x84, 0xc7, 0xc4, 0xec, 0x51, 0xec, 0xa0, 0x27, 0x6d, 0x79, 0xd8, 0x49, 0x32, 0x3b, 0xed, 0xca, + 0x95, 0xb6, 0xd2, 0x18, 0xac, 0x32, 0x47, 0xb2, 0x21, 0x9e, 0x6f, 0x9c, 0xcc, 0x7a, 0x31, 0x6d, + 0x35, 0xb6, 0xa0, 0x87, 0xd0, 0x14, 0xc1, 0x98, 0x11, 0xe8, 0xa5, 0x6f, 0xa6, 0x68, 0x27, 0xac, + 0x2d, 0x1a, 0x76, 0xc8, 0x91, 0xd4, 0x36, 0xf0, 0xf9, 0x42, 0xf3, 0x56, 0x5d, 0x1f, 0x44, 0xf1, + 0x1e, 0x5e, 0xe5, 0x55, 0xed, 0xf0, 0x84, 0x3b, 0x63, 0x6e, 0xc1, 0xf2, 0x11, 0x5c, 0x1a, 0x98, + 0xf6, 0x4e, 0xa4, 0x24, 0x9f, 0x75, 0xe3, 0x02, 0xa6, 0x1a, 0x75, 0xdd, 0xfc, 0xcc, 0x9c, 0xda, + 0x63, 0xef, 0x05, 0x74, 0x52, 0xaa, 0xf6, 0x78, 0x02, 0x34, 0x92, 0x90, 0x7d, 0xf0, 0x0e, 0x40, + 0x22, 0x09, 0x6f, 0xee, 0xc0, 0xbf, 0xe7, 0xa0, 0x89, 0x2f, 0xf0, 0xfa, 0x96, 0x9f, 0xf6, 0x24, + 0x52, 0x6f, 0x9f, 0xc4, 0xe3, 0x5e, 0x5a, 0xab, 0x4c, 0x79, 0xfe, 0x57, 0x68, 0x48, 0xd2, 0xce, + 0x2d, 0x5f, 0x7c, 0xfd, 0xf8, 0x3d, 0x2e, 0x15, 0x6d, 0x77, 0x9b, 0x28, 0xaf, 0x75, 0x9c, 0xef, + 0xdd, 0xf5, 0xf5, 0xe7, 0xd8, 0xed, 0x1e, 0x2a, 0xa5, 0xe3, 0xff, 0xe7, 0x7f, 0xe3, 0x73, 0x90, + 0x3f, 0xfd, 0x09, 0x00, 0x00, 0xff, 0xff, 0xf9, 0x1d, 0xf9, 0x37, 0x20, 0x03, 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// MasterClient is the client API for Master service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type MasterClient interface { + CreateCollection(ctx context.Context, in *message.Mapping, opts ...grpc.CallOption) (*message.Status, error) +} + +type masterClient struct { + cc *grpc.ClientConn +} + +func NewMasterClient(cc *grpc.ClientConn) MasterClient { + return &masterClient{cc} +} + +func (c *masterClient) CreateCollection(ctx context.Context, in *message.Mapping, opts ...grpc.CallOption) (*message.Status, error) { + out := new(message.Status) + err := c.cc.Invoke(ctx, "/masterpb.Master/CreateCollection", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// MasterServer is the server API for Master service. +type MasterServer interface { + CreateCollection(context.Context, *message.Mapping) (*message.Status, error) +} + +// UnimplementedMasterServer can be embedded to have forward compatible implementations. +type UnimplementedMasterServer struct { +} + +func (*UnimplementedMasterServer) CreateCollection(ctx context.Context, req *message.Mapping) (*message.Status, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateCollection not implemented") +} + +func RegisterMasterServer(s *grpc.Server, srv MasterServer) { + s.RegisterService(&_Master_serviceDesc, srv) +} + +func _Master_CreateCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(message.Mapping) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MasterServer).CreateCollection(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/masterpb.Master/CreateCollection", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MasterServer).CreateCollection(ctx, req.(*message.Mapping)) + } + return interceptor(ctx, in, info, handler) +} + +var _Master_serviceDesc = grpc.ServiceDesc{ + ServiceName: "masterpb.Master", + HandlerType: (*MasterServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateCollection", + Handler: _Master_CreateCollection_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "pkg/master/grpc/master/master.proto", +} diff --git a/pkg/master/grpc/master/master.proto b/pkg/master/grpc/master/master.proto new file mode 100644 index 0000000000..1c5d3408b1 --- /dev/null +++ b/pkg/master/grpc/master/master.proto @@ -0,0 +1,36 @@ +syntax = "proto3"; + +package masterpb; + +option go_package="github.com/czs007/suvlim/pkg/master/grpc/master"; + +import "pkg/master/grpc/message/message.proto"; + +message Collection { + uint64 id=1; + string name=2; + milvus.grpc.Schema schema=3; + uint64 create_time=4; + repeated uint64 segment_ids=5; + repeated string partition_tags=6; +} + +message Segment { + uint64 segment_id=1; + uint64 collection_id =2; + string partition_tag=3; + int32 channel_start=4; + int32 channel_end=5; + uint64 open_timestamp=6; + uint64 close_timestamp=7; +} + +message SegmentStat { + uint64 segment_id=1; + uint64 memory_size=2; + float memory_rate=3; +} + +service Master { + rpc CreateCollection(milvus.grpc.Mapping) returns (milvus.grpc.Status){} +} \ No newline at end of file diff --git a/pkg/message/message.pb.go b/pkg/master/grpc/message/message.pb.go similarity index 59% rename from pkg/message/message.pb.go rename to pkg/master/grpc/message/message.pb.go index f16aa2288c..edac756a54 100644 --- a/pkg/message/message.pb.go +++ b/pkg/master/grpc/message/message.pb.go @@ -1,11 +1,15 @@ // Code generated by protoc-gen-go. DO NOT EDIT. -// source: message.proto +// source: pkg/master/grpc/message/message.proto -package msgpb +package message import ( + context "context" fmt "fmt" proto "github.com/golang/protobuf/proto" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" math "math" ) @@ -108,7 +112,7 @@ func (x ErrorCode) String() string { } func (ErrorCode) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{0} + return fileDescriptor_0802b3a25fb57244, []int{0} } //* @@ -162,7 +166,7 @@ func (x DataType) String() string { } func (DataType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{1} + return fileDescriptor_0802b3a25fb57244, []int{1} } type CompareOperator int32 @@ -199,7 +203,7 @@ func (x CompareOperator) String() string { } func (CompareOperator) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{2} + return fileDescriptor_0802b3a25fb57244, []int{2} } type Occur int32 @@ -230,7 +234,7 @@ func (x Occur) String() string { } func (Occur) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{3} + return fileDescriptor_0802b3a25fb57244, []int{3} } ////////////////////pulsar////////////////////////////////////// @@ -256,7 +260,7 @@ func (x OpType) String() string { } func (OpType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{4} + return fileDescriptor_0802b3a25fb57244, []int{4} } type SyncType int32 @@ -281,7 +285,7 @@ func (x SyncType) String() string { } func (SyncType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{5} + return fileDescriptor_0802b3a25fb57244, []int{5} } type Status struct { @@ -296,7 +300,7 @@ func (m *Status) Reset() { *m = Status{} } func (m *Status) String() string { return proto.CompactTextString(m) } func (*Status) ProtoMessage() {} func (*Status) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{0} + return fileDescriptor_0802b3a25fb57244, []int{0} } func (m *Status) XXX_Unmarshal(b []byte) error { @@ -345,7 +349,7 @@ func (m *KeyValuePair) Reset() { *m = KeyValuePair{} } func (m *KeyValuePair) String() string { return proto.CompactTextString(m) } func (*KeyValuePair) ProtoMessage() {} func (*KeyValuePair) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{1} + return fileDescriptor_0802b3a25fb57244, []int{1} } func (m *KeyValuePair) XXX_Unmarshal(b []byte) error { @@ -393,7 +397,7 @@ func (m *CollectionName) Reset() { *m = CollectionName{} } func (m *CollectionName) String() string { return proto.CompactTextString(m) } func (*CollectionName) ProtoMessage() {} func (*CollectionName) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{2} + return fileDescriptor_0802b3a25fb57244, []int{2} } func (m *CollectionName) XXX_Unmarshal(b []byte) error { @@ -435,7 +439,7 @@ func (m *CollectionNameList) Reset() { *m = CollectionNameList{} } func (m *CollectionNameList) String() string { return proto.CompactTextString(m) } func (*CollectionNameList) ProtoMessage() {} func (*CollectionNameList) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{3} + return fileDescriptor_0802b3a25fb57244, []int{3} } func (m *CollectionNameList) XXX_Unmarshal(b []byte) error { @@ -484,7 +488,7 @@ func (m *FieldName) Reset() { *m = FieldName{} } func (m *FieldName) String() string { return proto.CompactTextString(m) } func (*FieldName) ProtoMessage() {} func (*FieldName) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{4} + return fileDescriptor_0802b3a25fb57244, []int{4} } func (m *FieldName) XXX_Unmarshal(b []byte) error { @@ -541,7 +545,7 @@ func (m *Mapping) Reset() { *m = Mapping{} } func (m *Mapping) String() string { return proto.CompactTextString(m) } func (*Mapping) ProtoMessage() {} func (*Mapping) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{5} + return fileDescriptor_0802b3a25fb57244, []int{5} } func (m *Mapping) XXX_Unmarshal(b []byte) error { @@ -604,7 +608,7 @@ func (m *MappingList) Reset() { *m = MappingList{} } func (m *MappingList) String() string { return proto.CompactTextString(m) } func (*MappingList) ProtoMessage() {} func (*MappingList) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{6} + return fileDescriptor_0802b3a25fb57244, []int{6} } func (m *MappingList) XXX_Unmarshal(b []byte) error { @@ -653,7 +657,7 @@ func (m *PartitionParam) Reset() { *m = PartitionParam{} } func (m *PartitionParam) String() string { return proto.CompactTextString(m) } func (*PartitionParam) ProtoMessage() {} func (*PartitionParam) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{7} + return fileDescriptor_0802b3a25fb57244, []int{7} } func (m *PartitionParam) XXX_Unmarshal(b []byte) error { @@ -702,7 +706,7 @@ func (m *PartitionList) Reset() { *m = PartitionList{} } func (m *PartitionList) String() string { return proto.CompactTextString(m) } func (*PartitionList) ProtoMessage() {} func (*PartitionList) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{8} + return fileDescriptor_0802b3a25fb57244, []int{8} } func (m *PartitionList) XXX_Unmarshal(b []byte) error { @@ -751,7 +755,7 @@ func (m *VectorRowRecord) Reset() { *m = VectorRowRecord{} } func (m *VectorRowRecord) String() string { return proto.CompactTextString(m) } func (*VectorRowRecord) ProtoMessage() {} func (*VectorRowRecord) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{9} + return fileDescriptor_0802b3a25fb57244, []int{9} } func (m *VectorRowRecord) XXX_Unmarshal(b []byte) error { @@ -798,7 +802,7 @@ func (m *EntityIds) Reset() { *m = EntityIds{} } func (m *EntityIds) String() string { return proto.CompactTextString(m) } func (*EntityIds) ProtoMessage() {} func (*EntityIds) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{10} + return fileDescriptor_0802b3a25fb57244, []int{10} } func (m *EntityIds) XXX_Unmarshal(b []byte) error { @@ -844,7 +848,7 @@ func (m *VectorRecord) Reset() { *m = VectorRecord{} } func (m *VectorRecord) String() string { return proto.CompactTextString(m) } func (*VectorRecord) ProtoMessage() {} func (*VectorRecord) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{11} + return fileDescriptor_0802b3a25fb57244, []int{11} } func (m *VectorRecord) XXX_Unmarshal(b []byte) error { @@ -884,7 +888,7 @@ func (m *VectorParam) Reset() { *m = VectorParam{} } func (m *VectorParam) String() string { return proto.CompactTextString(m) } func (*VectorParam) ProtoMessage() {} func (*VectorParam) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{12} + return fileDescriptor_0802b3a25fb57244, []int{12} } func (m *VectorParam) XXX_Unmarshal(b []byte) error { @@ -934,7 +938,7 @@ func (m *FieldMeta) Reset() { *m = FieldMeta{} } func (m *FieldMeta) String() string { return proto.CompactTextString(m) } func (*FieldMeta) ProtoMessage() {} func (*FieldMeta) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{13} + return fileDescriptor_0802b3a25fb57244, []int{13} } func (m *FieldMeta) XXX_Unmarshal(b []byte) error { @@ -987,7 +991,7 @@ func (m *Schema) Reset() { *m = Schema{} } func (m *Schema) String() string { return proto.CompactTextString(m) } func (*Schema) ProtoMessage() {} func (*Schema) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{14} + return fileDescriptor_0802b3a25fb57244, []int{14} } func (m *Schema) XXX_Unmarshal(b []byte) error { @@ -1026,7 +1030,7 @@ func (m *RowData) Reset() { *m = RowData{} } func (m *RowData) String() string { return proto.CompactTextString(m) } func (*RowData) ProtoMessage() {} func (*RowData) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{15} + return fileDescriptor_0802b3a25fb57244, []int{15} } func (m *RowData) XXX_Unmarshal(b []byte) error { @@ -1071,7 +1075,7 @@ func (m *InsertParam) Reset() { *m = InsertParam{} } func (m *InsertParam) String() string { return proto.CompactTextString(m) } func (*InsertParam) ProtoMessage() {} func (*InsertParam) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{16} + return fileDescriptor_0802b3a25fb57244, []int{16} } func (m *InsertParam) XXX_Unmarshal(b []byte) error { @@ -1149,7 +1153,7 @@ func (m *SearchParam) Reset() { *m = SearchParam{} } func (m *SearchParam) String() string { return proto.CompactTextString(m) } func (*SearchParam) ProtoMessage() {} func (*SearchParam) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{17} + return fileDescriptor_0802b3a25fb57244, []int{17} } func (m *SearchParam) XXX_Unmarshal(b []byte) error { @@ -1217,7 +1221,7 @@ func (m *SearchInSegmentParam) Reset() { *m = SearchInSegmentParam{} } func (m *SearchInSegmentParam) String() string { return proto.CompactTextString(m) } func (*SearchInSegmentParam) ProtoMessage() {} func (*SearchInSegmentParam) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{18} + return fileDescriptor_0802b3a25fb57244, []int{18} } func (m *SearchInSegmentParam) XXX_Unmarshal(b []byte) error { @@ -1266,7 +1270,7 @@ func (m *Entities) Reset() { *m = Entities{} } func (m *Entities) String() string { return proto.CompactTextString(m) } func (*Entities) ProtoMessage() {} func (*Entities) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{19} + return fileDescriptor_0802b3a25fb57244, []int{19} } func (m *Entities) XXX_Unmarshal(b []byte) error { @@ -1335,7 +1339,7 @@ func (m *QueryResult) Reset() { *m = QueryResult{} } func (m *QueryResult) String() string { return proto.CompactTextString(m) } func (*QueryResult) ProtoMessage() {} func (*QueryResult) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{20} + return fileDescriptor_0802b3a25fb57244, []int{20} } func (m *QueryResult) XXX_Unmarshal(b []byte) error { @@ -1426,7 +1430,7 @@ func (m *StringReply) Reset() { *m = StringReply{} } func (m *StringReply) String() string { return proto.CompactTextString(m) } func (*StringReply) ProtoMessage() {} func (*StringReply) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{21} + return fileDescriptor_0802b3a25fb57244, []int{21} } func (m *StringReply) XXX_Unmarshal(b []byte) error { @@ -1475,7 +1479,7 @@ func (m *BoolReply) Reset() { *m = BoolReply{} } func (m *BoolReply) String() string { return proto.CompactTextString(m) } func (*BoolReply) ProtoMessage() {} func (*BoolReply) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{22} + return fileDescriptor_0802b3a25fb57244, []int{22} } func (m *BoolReply) XXX_Unmarshal(b []byte) error { @@ -1524,7 +1528,7 @@ func (m *CollectionRowCount) Reset() { *m = CollectionRowCount{} } func (m *CollectionRowCount) String() string { return proto.CompactTextString(m) } func (*CollectionRowCount) ProtoMessage() {} func (*CollectionRowCount) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{23} + return fileDescriptor_0802b3a25fb57244, []int{23} } func (m *CollectionRowCount) XXX_Unmarshal(b []byte) error { @@ -1572,7 +1576,7 @@ func (m *Command) Reset() { *m = Command{} } func (m *Command) String() string { return proto.CompactTextString(m) } func (*Command) ProtoMessage() {} func (*Command) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{24} + return fileDescriptor_0802b3a25fb57244, []int{24} } func (m *Command) XXX_Unmarshal(b []byte) error { @@ -1629,7 +1633,7 @@ func (m *IndexParam) Reset() { *m = IndexParam{} } func (m *IndexParam) String() string { return proto.CompactTextString(m) } func (*IndexParam) ProtoMessage() {} func (*IndexParam) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{25} + return fileDescriptor_0802b3a25fb57244, []int{25} } func (m *IndexParam) XXX_Unmarshal(b []byte) error { @@ -1698,7 +1702,7 @@ func (m *FlushParam) Reset() { *m = FlushParam{} } func (m *FlushParam) String() string { return proto.CompactTextString(m) } func (*FlushParam) ProtoMessage() {} func (*FlushParam) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{26} + return fileDescriptor_0802b3a25fb57244, []int{26} } func (m *FlushParam) XXX_Unmarshal(b []byte) error { @@ -1740,7 +1744,7 @@ func (m *CompactParam) Reset() { *m = CompactParam{} } func (m *CompactParam) String() string { return proto.CompactTextString(m) } func (*CompactParam) ProtoMessage() {} func (*CompactParam) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{27} + return fileDescriptor_0802b3a25fb57244, []int{27} } func (m *CompactParam) XXX_Unmarshal(b []byte) error { @@ -1789,7 +1793,7 @@ func (m *DeleteByIDParam) Reset() { *m = DeleteByIDParam{} } func (m *DeleteByIDParam) String() string { return proto.CompactTextString(m) } func (*DeleteByIDParam) ProtoMessage() {} func (*DeleteByIDParam) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{28} + return fileDescriptor_0802b3a25fb57244, []int{28} } func (m *DeleteByIDParam) XXX_Unmarshal(b []byte) error { @@ -1867,7 +1871,7 @@ func (m *CollectionInfo) Reset() { *m = CollectionInfo{} } func (m *CollectionInfo) String() string { return proto.CompactTextString(m) } func (*CollectionInfo) ProtoMessage() {} func (*CollectionInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{29} + return fileDescriptor_0802b3a25fb57244, []int{29} } func (m *CollectionInfo) XXX_Unmarshal(b []byte) error { @@ -1916,7 +1920,7 @@ func (m *GetEntityIDsParam) Reset() { *m = GetEntityIDsParam{} } func (m *GetEntityIDsParam) String() string { return proto.CompactTextString(m) } func (*GetEntityIDsParam) ProtoMessage() {} func (*GetEntityIDsParam) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{30} + return fileDescriptor_0802b3a25fb57244, []int{30} } func (m *GetEntityIDsParam) XXX_Unmarshal(b []byte) error { @@ -1966,7 +1970,7 @@ func (m *EntityIdentity) Reset() { *m = EntityIdentity{} } func (m *EntityIdentity) String() string { return proto.CompactTextString(m) } func (*EntityIdentity) ProtoMessage() {} func (*EntityIdentity) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{31} + return fileDescriptor_0802b3a25fb57244, []int{31} } func (m *EntityIdentity) XXX_Unmarshal(b []byte) error { @@ -2021,7 +2025,7 @@ func (m *VectorFieldParam) Reset() { *m = VectorFieldParam{} } func (m *VectorFieldParam) String() string { return proto.CompactTextString(m) } func (*VectorFieldParam) ProtoMessage() {} func (*VectorFieldParam) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{32} + return fileDescriptor_0802b3a25fb57244, []int{32} } func (m *VectorFieldParam) XXX_Unmarshal(b []byte) error { @@ -2065,7 +2069,7 @@ func (m *FieldType) Reset() { *m = FieldType{} } func (m *FieldType) String() string { return proto.CompactTextString(m) } func (*FieldType) ProtoMessage() {} func (*FieldType) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{33} + return fileDescriptor_0802b3a25fb57244, []int{33} } func (m *FieldType) XXX_Unmarshal(b []byte) error { @@ -2148,7 +2152,7 @@ func (m *FieldParam) Reset() { *m = FieldParam{} } func (m *FieldParam) String() string { return proto.CompactTextString(m) } func (*FieldParam) ProtoMessage() {} func (*FieldParam) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{34} + return fileDescriptor_0802b3a25fb57244, []int{34} } func (m *FieldParam) XXX_Unmarshal(b []byte) error { @@ -2217,7 +2221,7 @@ func (m *VectorFieldRecord) Reset() { *m = VectorFieldRecord{} } func (m *VectorFieldRecord) String() string { return proto.CompactTextString(m) } func (*VectorFieldRecord) ProtoMessage() {} func (*VectorFieldRecord) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{35} + return fileDescriptor_0802b3a25fb57244, []int{35} } func (m *VectorFieldRecord) XXX_Unmarshal(b []byte) error { @@ -2261,7 +2265,7 @@ func (m *TermQuery) Reset() { *m = TermQuery{} } func (m *TermQuery) String() string { return proto.CompactTextString(m) } func (*TermQuery) ProtoMessage() {} func (*TermQuery) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{36} + return fileDescriptor_0802b3a25fb57244, []int{36} } func (m *TermQuery) XXX_Unmarshal(b []byte) error { @@ -2336,7 +2340,7 @@ func (m *CompareExpr) Reset() { *m = CompareExpr{} } func (m *CompareExpr) String() string { return proto.CompactTextString(m) } func (*CompareExpr) ProtoMessage() {} func (*CompareExpr) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{37} + return fileDescriptor_0802b3a25fb57244, []int{37} } func (m *CompareExpr) XXX_Unmarshal(b []byte) error { @@ -2385,7 +2389,7 @@ func (m *RangeQuery) Reset() { *m = RangeQuery{} } func (m *RangeQuery) String() string { return proto.CompactTextString(m) } func (*RangeQuery) ProtoMessage() {} func (*RangeQuery) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{38} + return fileDescriptor_0802b3a25fb57244, []int{38} } func (m *RangeQuery) XXX_Unmarshal(b []byte) error { @@ -2449,7 +2453,7 @@ func (m *VectorQuery) Reset() { *m = VectorQuery{} } func (m *VectorQuery) String() string { return proto.CompactTextString(m) } func (*VectorQuery) ProtoMessage() {} func (*VectorQuery) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{39} + return fileDescriptor_0802b3a25fb57244, []int{39} } func (m *VectorQuery) XXX_Unmarshal(b []byte) error { @@ -2517,7 +2521,7 @@ func (m *BooleanQuery) Reset() { *m = BooleanQuery{} } func (m *BooleanQuery) String() string { return proto.CompactTextString(m) } func (*BooleanQuery) ProtoMessage() {} func (*BooleanQuery) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{40} + return fileDescriptor_0802b3a25fb57244, []int{40} } func (m *BooleanQuery) XXX_Unmarshal(b []byte) error { @@ -2568,7 +2572,7 @@ func (m *GeneralQuery) Reset() { *m = GeneralQuery{} } func (m *GeneralQuery) String() string { return proto.CompactTextString(m) } func (*GeneralQuery) ProtoMessage() {} func (*GeneralQuery) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{41} + return fileDescriptor_0802b3a25fb57244, []int{41} } func (m *GeneralQuery) XXX_Unmarshal(b []byte) error { @@ -2676,7 +2680,7 @@ func (m *SearchParamPB) Reset() { *m = SearchParamPB{} } func (m *SearchParamPB) String() string { return proto.CompactTextString(m) } func (*SearchParamPB) ProtoMessage() {} func (*SearchParamPB) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{42} + return fileDescriptor_0802b3a25fb57244, []int{42} } func (m *SearchParamPB) XXX_Unmarshal(b []byte) error { @@ -2745,7 +2749,7 @@ func (m *InsertOrDeleteMsg) Reset() { *m = InsertOrDeleteMsg{} } func (m *InsertOrDeleteMsg) String() string { return proto.CompactTextString(m) } func (*InsertOrDeleteMsg) ProtoMessage() {} func (*InsertOrDeleteMsg) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{43} + return fileDescriptor_0802b3a25fb57244, []int{43} } func (m *InsertOrDeleteMsg) XXX_Unmarshal(b []byte) error { @@ -2844,8 +2848,6 @@ type SearchMsg struct { Timestamp uint64 `protobuf:"varint,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"` ClientId int64 `protobuf:"varint,6,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` ExtraParams []*KeyValuePair `protobuf:"bytes,7,rep,name=extra_params,json=extraParams,proto3" json:"extra_params,omitempty"` - Json []string `protobuf:"bytes,8,rep,name=json,proto3" json:"json,omitempty"` - Dsl string `protobuf:"bytes,9,opt,name=dsl,proto3" json:"dsl,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -2855,7 +2857,7 @@ func (m *SearchMsg) Reset() { *m = SearchMsg{} } func (m *SearchMsg) String() string { return proto.CompactTextString(m) } func (*SearchMsg) ProtoMessage() {} func (*SearchMsg) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{44} + return fileDescriptor_0802b3a25fb57244, []int{44} } func (m *SearchMsg) XXX_Unmarshal(b []byte) error { @@ -2925,23 +2927,9 @@ func (m *SearchMsg) GetExtraParams() []*KeyValuePair { return nil } -func (m *SearchMsg) GetJson() []string { - if m != nil { - return m.Json - } - return nil -} - -func (m *SearchMsg) GetDsl() string { - if m != nil { - return m.Dsl - } - return "" -} - type TimeSyncMsg struct { Peer_Id int64 `protobuf:"varint,1,opt,name=peer_Id,json=peerId,proto3" json:"peer_Id,omitempty"` - Timestamp uint64 `protobuf:"varint,2,opt,name=Timestamp,json=timestamp,proto3" json:"Timestamp,omitempty"` + Timestamp uint64 `protobuf:"varint,2,opt,name=Timestamp,proto3" json:"Timestamp,omitempty"` SyncType SyncType `protobuf:"varint,3,opt,name=sync_type,json=syncType,proto3,enum=milvus.grpc.SyncType" json:"sync_type,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -2952,7 +2940,7 @@ func (m *TimeSyncMsg) Reset() { *m = TimeSyncMsg{} } func (m *TimeSyncMsg) String() string { return proto.CompactTextString(m) } func (*TimeSyncMsg) ProtoMessage() {} func (*TimeSyncMsg) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{45} + return fileDescriptor_0802b3a25fb57244, []int{45} } func (m *TimeSyncMsg) XXX_Unmarshal(b []byte) error { @@ -3007,7 +2995,7 @@ func (m *Key2SegMsg) Reset() { *m = Key2SegMsg{} } func (m *Key2SegMsg) String() string { return proto.CompactTextString(m) } func (*Key2SegMsg) ProtoMessage() {} func (*Key2SegMsg) Descriptor() ([]byte, []int) { - return fileDescriptor_33c57e4bae7b9afd, []int{46} + return fileDescriptor_0802b3a25fb57244, []int{46} } func (m *Key2SegMsg) XXX_Unmarshal(b []byte) error { @@ -3105,188 +3093,1424 @@ func init() { proto.RegisterType((*Key2SegMsg)(nil), "milvus.grpc.Key2SegMsg") } -func init() { proto.RegisterFile("message.proto", fileDescriptor_33c57e4bae7b9afd) } - -var fileDescriptor_33c57e4bae7b9afd = []byte{ - // 2876 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x3a, 0xdd, 0x72, 0xdb, 0xc6, - 0xd5, 0x04, 0x41, 0x91, 0xc4, 0x01, 0x29, 0x41, 0x6b, 0xd9, 0x96, 0xed, 0xf8, 0xb3, 0x83, 0x6f, - 0xa6, 0x75, 0xdc, 0x19, 0x4f, 0xa2, 0xa4, 0xb6, 0x5b, 0x27, 0x69, 0xf8, 0x03, 0x49, 0xa8, 0x29, - 0x52, 0x5e, 0x42, 0x76, 0x7e, 0xa6, 0x83, 0x42, 0xc4, 0x9a, 0x46, 0x43, 0x02, 0x2c, 0x00, 0x5a, - 0xe6, 0x6d, 0xef, 0xdb, 0x99, 0x5e, 0xf6, 0xb2, 0x7d, 0x84, 0xf6, 0x0d, 0x7a, 0xd9, 0x17, 0xc8, - 0x45, 0x66, 0x7a, 0xd9, 0xe9, 0x63, 0x74, 0xf6, 0x07, 0x24, 0x40, 0x91, 0x12, 0x19, 0xb5, 0x57, - 0x5a, 0x9e, 0xdd, 0x73, 0xf6, 0xfc, 0xef, 0x39, 0x07, 0x82, 0xea, 0x90, 0x44, 0x91, 0xd3, 0x27, - 0x8f, 0x46, 0x61, 0x10, 0x07, 0x48, 0x1d, 0x7a, 0x83, 0xb7, 0xe3, 0xe8, 0x51, 0x3f, 0x1c, 0xf5, - 0xf4, 0x57, 0x50, 0xec, 0xc6, 0x4e, 0x3c, 0x8e, 0xd0, 0x4f, 0x01, 0x48, 0x18, 0x06, 0xa1, 0xdd, - 0x0b, 0x5c, 0xb2, 0x2b, 0xdd, 0x97, 0x1e, 0x6c, 0xee, 0xdd, 0x78, 0x94, 0x3a, 0xfb, 0xc8, 0xa0, - 0xdb, 0x8d, 0xc0, 0x25, 0x58, 0x21, 0xc9, 0x12, 0xdd, 0x80, 0x62, 0x48, 0x9c, 0x28, 0xf0, 0x77, - 0xf3, 0xf7, 0xa5, 0x07, 0x0a, 0x16, 0xbf, 0xf4, 0xc7, 0x50, 0x79, 0x4e, 0x26, 0x2f, 0x9d, 0xc1, - 0x98, 0x1c, 0x3b, 0x5e, 0x88, 0x34, 0x90, 0xbf, 0x25, 0x13, 0x46, 0x57, 0xc1, 0x74, 0x89, 0x76, - 0x60, 0xe3, 0x2d, 0xdd, 0x16, 0x88, 0xfc, 0x87, 0xfe, 0x33, 0xd8, 0x6c, 0x04, 0x83, 0x01, 0xe9, - 0xc5, 0x5e, 0xe0, 0xb7, 0x9d, 0x21, 0x41, 0x3f, 0x86, 0xad, 0xde, 0x14, 0x62, 0xfb, 0xce, 0x90, - 0x08, 0x2a, 0x9b, 0xbd, 0xcc, 0x41, 0x7d, 0x00, 0x28, 0x8b, 0xda, 0xf2, 0xa2, 0x18, 0xfd, 0x04, - 0x8a, 0x11, 0x93, 0x90, 0x61, 0xa9, 0x7b, 0xd7, 0x32, 0x32, 0x71, 0xe1, 0xb1, 0x38, 0x82, 0x3e, - 0x00, 0x6d, 0xee, 0xae, 0x68, 0x37, 0x7f, 0x5f, 0x7e, 0xa0, 0xe0, 0xad, 0xec, 0x65, 0x91, 0xde, - 0x05, 0x65, 0xdf, 0x23, 0x03, 0x77, 0x2d, 0x1e, 0xd1, 0x5d, 0x80, 0xd7, 0x14, 0x8b, 0x9f, 0xe1, - 0x92, 0x2b, 0xaf, 0x13, 0x3a, 0xfa, 0x3f, 0x24, 0x28, 0x1d, 0x39, 0xa3, 0x91, 0xe7, 0xf7, 0xd7, - 0x63, 0x7c, 0x01, 0x03, 0xf9, 0x85, 0x0c, 0x50, 0xaa, 0xbd, 0x37, 0x64, 0xe8, 0xec, 0xca, 0x8b, - 0xa8, 0xb2, 0x2d, 0x2c, 0x8e, 0xa0, 0x4f, 0xa1, 0x42, 0xde, 0xc5, 0xa1, 0x63, 0x8f, 0x9c, 0xd0, - 0x19, 0x46, 0xbb, 0x85, 0xfb, 0xf2, 0x03, 0x75, 0xef, 0x56, 0x06, 0x25, 0x6d, 0x65, 0xac, 0xb2, - 0xe3, 0xc7, 0xec, 0xb4, 0x1e, 0x81, 0x2a, 0x64, 0x59, 0xdf, 0x10, 0x4f, 0xa0, 0x32, 0xe4, 0xb8, - 0xf6, 0xc0, 0x8b, 0x62, 0x66, 0x04, 0x75, 0x6f, 0x27, 0x83, 0x22, 0x88, 0x63, 0x75, 0x38, 0xbb, - 0x45, 0x7f, 0x0e, 0x9b, 0xc7, 0x4e, 0x18, 0x7b, 0x54, 0x60, 0xc6, 0xc7, 0xea, 0xb6, 0xd1, 0x40, - 0x8e, 0x9d, 0xbe, 0xd0, 0x1b, 0x5d, 0xea, 0x03, 0xa8, 0x4e, 0x89, 0xad, 0x2f, 0xc3, 0x23, 0xb8, - 0x36, 0x4a, 0xb0, 0xed, 0xd8, 0xe9, 0xdb, 0x4e, 0x18, 0x3a, 0x13, 0xe1, 0x4f, 0xdb, 0xd3, 0x2d, - 0xcb, 0xe9, 0xd7, 0xe8, 0x86, 0xfe, 0x02, 0xb6, 0x5e, 0x92, 0x5e, 0x1c, 0x84, 0x38, 0x38, 0xc3, - 0xa4, 0x17, 0x84, 0x2e, 0x73, 0x97, 0x41, 0xe0, 0xc4, 0xb6, 0xeb, 0xc4, 0xce, 0xae, 0x74, 0x5f, - 0x7e, 0x90, 0xc7, 0x0a, 0x83, 0x34, 0x9d, 0xd8, 0x41, 0xf7, 0x40, 0x3d, 0xf5, 0x7c, 0x27, 0x9c, - 0xf0, 0x7d, 0xca, 0x79, 0x05, 0x03, 0x07, 0xd1, 0x03, 0xfa, 0xaf, 0x41, 0x31, 0xfc, 0xd8, 0x8b, - 0x27, 0xa6, 0x1b, 0xad, 0xc7, 0xfc, 0x8f, 0x60, 0x8b, 0x30, 0x4c, 0xdb, 0x73, 0x53, 0x8c, 0xcb, - 0xb8, 0x4a, 0x04, 0x41, 0xce, 0xf4, 0x3e, 0x54, 0x04, 0xd3, 0x9c, 0xe3, 0xc7, 0x50, 0x0a, 0xd9, - 0x2a, 0x62, 0xec, 0xaa, 0x7b, 0xef, 0x65, 0x6e, 0x99, 0x13, 0x10, 0x27, 0x87, 0xf5, 0x6f, 0x40, - 0xe5, 0x7b, 0xdc, 0x68, 0x08, 0x0a, 0xbf, 0xa1, 0x49, 0x85, 0x5b, 0x8a, 0xad, 0xd1, 0x53, 0x80, - 0x30, 0x38, 0xb3, 0x39, 0x06, 0x13, 0x76, 0xde, 0x17, 0xd3, 0x9c, 0x60, 0x25, 0x4c, 0x6e, 0xd1, - 0xfb, 0x22, 0x56, 0x8f, 0x48, 0xec, 0xcc, 0x85, 0xa0, 0x34, 0x17, 0x82, 0xe8, 0x03, 0x28, 0xc4, - 0x93, 0x11, 0x0f, 0x9f, 0xcd, 0xbd, 0xeb, 0x19, 0xfa, 0x54, 0xa7, 0xd6, 0x64, 0x44, 0x30, 0x3b, - 0x42, 0x1d, 0xc6, 0xf5, 0x86, 0x2c, 0x90, 0x64, 0x4c, 0x97, 0x7a, 0x0d, 0x8a, 0x3c, 0x84, 0xd0, - 0x13, 0x50, 0xf9, 0x2d, 0x43, 0x12, 0x3b, 0x89, 0x2e, 0xb2, 0xf9, 0x74, 0xca, 0x12, 0xe6, 0x0c, - 0xd1, 0x65, 0xa4, 0xdf, 0x85, 0x12, 0x0e, 0xce, 0x98, 0x79, 0x11, 0x14, 0x4e, 0x07, 0xc1, 0x29, - 0xe3, 0xb1, 0x82, 0xd9, 0x5a, 0xff, 0x73, 0x1e, 0x54, 0xd3, 0x8f, 0x48, 0x18, 0xaf, 0xe9, 0xdd, - 0xb3, 0xc0, 0xcf, 0x5f, 0x1e, 0xf8, 0x1f, 0x01, 0xd5, 0x5e, 0xc4, 0xdd, 0x4a, 0x5e, 0x10, 0x7b, - 0x82, 0x45, 0x5c, 0xa6, 0xc7, 0x18, 0xb3, 0x0b, 0x1c, 0xa6, 0xb0, 0xc0, 0x61, 0xd0, 0xff, 0x43, - 0x35, 0x13, 0x15, 0xbb, 0x1b, 0x8c, 0xdd, 0x4a, 0x3a, 0x1e, 0xce, 0x25, 0x9e, 0xe2, 0x5a, 0x89, - 0xe7, 0xdf, 0x12, 0xa8, 0x5d, 0xe2, 0x84, 0xbd, 0x37, 0x6b, 0xea, 0xe8, 0x19, 0x54, 0xde, 0x32, - 0x17, 0xe2, 0xf7, 0x8a, 0xac, 0xb3, 0xbb, 0xc0, 0xc7, 0x18, 0x61, 0xac, 0xbe, 0x4d, 0xb9, 0x2c, - 0xf5, 0x86, 0x68, 0xc0, 0xbc, 0x41, 0xc1, 0x74, 0x79, 0x5e, 0xd4, 0x02, 0x0b, 0xfd, 0x8b, 0x45, - 0xdd, 0x58, 0x4b, 0xd4, 0x33, 0xd8, 0xe1, 0x92, 0x9a, 0x7e, 0x97, 0xf4, 0x87, 0xc4, 0x17, 0x6e, - 0xa1, 0x43, 0xf5, 0xb5, 0x37, 0x20, 0x33, 0x5b, 0x48, 0xec, 0x6a, 0x95, 0x02, 0x13, 0x4b, 0x3c, - 0x83, 0x4a, 0xc4, 0x70, 0xa7, 0xd2, 0x4a, 0xe7, 0xa4, 0x4d, 0xa9, 0x11, 0xab, 0xd1, 0xec, 0x87, - 0xfe, 0x27, 0x09, 0xca, 0x2c, 0xb5, 0x78, 0x64, 0xcd, 0xcc, 0xa2, 0x81, 0xec, 0xb9, 0x91, 0xc8, - 0x26, 0x74, 0x89, 0xee, 0x80, 0xf2, 0xd6, 0x19, 0x78, 0xae, 0x1d, 0x06, 0x67, 0xcc, 0xdb, 0xca, - 0xb8, 0xcc, 0x00, 0x38, 0x38, 0xcb, 0xba, 0x62, 0x61, 0x15, 0x57, 0xd4, 0xff, 0x9a, 0x07, 0xf5, - 0xc5, 0x98, 0x84, 0x13, 0x4c, 0xa2, 0xf1, 0x60, 0xcd, 0xac, 0xfd, 0x11, 0x94, 0x89, 0x90, 0x4b, - 0x68, 0x24, 0x9b, 0x03, 0x12, 0xa1, 0xf1, 0xf4, 0x18, 0xba, 0x09, 0x25, 0x9a, 0x98, 0xfc, 0x71, - 0x92, 0x0b, 0x8a, 0x61, 0x70, 0xd6, 0x1e, 0x0f, 0x69, 0x71, 0x14, 0xf5, 0x82, 0x90, 0xf0, 0x97, - 0x33, 0x8f, 0xc5, 0x2f, 0xf4, 0x1e, 0x28, 0xae, 0x17, 0xc5, 0x8e, 0xdf, 0x23, 0xdc, 0xe0, 0x79, - 0x3c, 0x03, 0x5c, 0xcd, 0xf9, 0xd1, 0x2d, 0x28, 0xff, 0x96, 0xca, 0x6e, 0x7b, 0xee, 0x6e, 0x89, - 0x71, 0x53, 0x62, 0xbf, 0x4d, 0x97, 0xea, 0xb9, 0x37, 0xf0, 0x88, 0x1f, 0xd3, 0xbd, 0x32, 0xdb, - 0x2b, 0x73, 0x80, 0xe9, 0xea, 0xbf, 0x02, 0xb5, 0x1b, 0x87, 0xf4, 0x3d, 0x25, 0xa3, 0xc1, 0x64, - 0x3d, 0x9d, 0xbd, 0x0f, 0x95, 0x88, 0xe1, 0xda, 0x21, 0x45, 0x16, 0x4f, 0xa8, 0x1a, 0xcd, 0xe8, - 0xe9, 0xaf, 0x40, 0xa9, 0x07, 0xc1, 0xe0, 0x07, 0x10, 0xbf, 0x0b, 0x70, 0x1a, 0x04, 0x83, 0x14, - 0xe9, 0x32, 0x56, 0x4e, 0x13, 0x5a, 0x7a, 0x94, 0xae, 0xfa, 0x70, 0x70, 0xd6, 0x08, 0xc6, 0xfe, - 0x9a, 0x26, 0xff, 0x10, 0x76, 0x52, 0xf9, 0x81, 0x9a, 0xb2, 0x47, 0x89, 0xb0, 0xbb, 0x64, 0x8c, - 0x7a, 0xe7, 0xc8, 0xeb, 0x77, 0xa0, 0xd4, 0x08, 0x86, 0x43, 0xc7, 0x77, 0xa9, 0x3b, 0xf7, 0x86, - 0x6e, 0x52, 0xd8, 0xf6, 0x86, 0xae, 0xfe, 0x4f, 0x09, 0xc0, 0xf4, 0x5d, 0xf2, 0x8e, 0x87, 0xe2, - 0xff, 0xa6, 0x8e, 0xcb, 0xbe, 0x62, 0xf2, 0xfc, 0x2b, 0x76, 0x17, 0xc0, 0xa3, 0x2c, 0xf0, 0xed, - 0x02, 0xdf, 0x66, 0x10, 0xb6, 0x7d, 0xb5, 0xa4, 0xf3, 0x05, 0xc0, 0xfe, 0x60, 0x1c, 0x89, 0xec, - 0xba, 0x07, 0xd7, 0xe7, 0x58, 0xce, 0xa4, 0x9c, 0x6b, 0x59, 0xc6, 0x79, 0xd5, 0x70, 0x02, 0x95, - 0x46, 0x30, 0x1c, 0x39, 0xbd, 0x75, 0x5f, 0xb1, 0xf7, 0x40, 0x89, 0xdf, 0x84, 0x24, 0x7a, 0x13, - 0x0c, 0x78, 0x09, 0x20, 0xe1, 0x19, 0x40, 0x3f, 0x81, 0xad, 0x26, 0x19, 0x90, 0x98, 0xd4, 0x27, - 0x66, 0x73, 0x4d, 0xca, 0xb7, 0xa0, 0x3c, 0x57, 0xe9, 0x94, 0x3c, 0x51, 0xe3, 0x7c, 0x9d, 0xee, - 0x49, 0x4c, 0xff, 0x75, 0xb0, 0x9e, 0x4d, 0xef, 0x80, 0x42, 0xeb, 0x17, 0xdb, 0xf3, 0x5f, 0x07, - 0xc2, 0x9a, 0x65, 0x0a, 0xa0, 0x94, 0xf4, 0x6f, 0x60, 0xfb, 0x80, 0xc4, 0xa2, 0x48, 0x6b, 0x46, - 0x6b, 0x32, 0x7d, 0x17, 0x20, 0xe2, 0x69, 0x9f, 0x86, 0x34, 0xf7, 0x57, 0x45, 0x40, 0x4c, 0x57, - 0x1f, 0xc3, 0x66, 0x52, 0xfe, 0xf1, 0x47, 0xf8, 0xbf, 0xa1, 0x0e, 0x5a, 0x75, 0xce, 0x5c, 0x2f, - 0x62, 0x09, 0x5b, 0x11, 0x25, 0x0c, 0x6f, 0x8d, 0x3e, 0x04, 0x8d, 0xbf, 0x92, 0xac, 0xc2, 0xe1, - 0x22, 0xb1, 0x94, 0x37, 0x24, 0x7e, 0xe4, 0x89, 0xaa, 0x4e, 0xc6, 0x33, 0x80, 0xfe, 0x07, 0x49, - 0x54, 0x68, 0xb4, 0xba, 0x42, 0x9f, 0x80, 0x42, 0xb3, 0xbd, 0xcd, 0xea, 0x30, 0xe9, 0x82, 0x3a, - 0xec, 0x30, 0x87, 0xcb, 0xae, 0x58, 0xa3, 0xfa, 0xb9, 0xc7, 0x9b, 0x5a, 0xe6, 0xee, 0x82, 0xc7, - 0x7b, 0xc6, 0xd6, 0x61, 0x2e, 0xf3, 0x86, 0xd7, 0x4b, 0xa2, 0x27, 0xd5, 0xbf, 0x93, 0x00, 0x52, - 0xdc, 0x6f, 0x42, 0xde, 0xe3, 0x31, 0x5e, 0xc0, 0x79, 0xcf, 0xa5, 0x95, 0x59, 0x2a, 0x36, 0xd9, - 0x7a, 0x5a, 0x38, 0xca, 0x97, 0x17, 0x8e, 0x9f, 0x42, 0x85, 0x47, 0xe7, 0xca, 0x7d, 0x95, 0x37, - 0xcd, 0x27, 0xd1, 0x15, 0x83, 0xf7, 0x00, 0xb6, 0x53, 0x5a, 0x10, 0x55, 0xfb, 0x5e, 0xd2, 0x8b, - 0xaf, 0x52, 0xb3, 0x0b, 0x15, 0x7d, 0x2f, 0x81, 0x62, 0x91, 0x70, 0xc8, 0x5e, 0xda, 0xcb, 0xaa, - 0xea, 0x3b, 0xa0, 0x78, 0x7e, 0x6c, 0x27, 0x0d, 0x3f, 0xf5, 0xa7, 0xb2, 0xe7, 0xc7, 0x8c, 0x47, - 0xfa, 0x7c, 0xb8, 0xc1, 0xf8, 0x74, 0x40, 0xc4, 0x3e, 0xf5, 0x28, 0x09, 0xab, 0x1c, 0xc6, 0x8f, - 0xf0, 0x12, 0x61, 0x4c, 0xd8, 0x23, 0x5b, 0xe0, 0x4f, 0x17, 0x03, 0xd0, 0x67, 0x76, 0x07, 0x36, - 0x4e, 0x83, 0x20, 0x8a, 0x59, 0x29, 0x99, 0xc7, 0xfc, 0xc7, 0x15, 0x6b, 0x48, 0x07, 0x54, 0x96, - 0xa1, 0x42, 0x62, 0xbc, 0x1b, 0x85, 0xe8, 0x29, 0x94, 0x83, 0x11, 0x09, 0x9d, 0x38, 0x08, 0x85, - 0x47, 0x66, 0x75, 0x24, 0xce, 0x76, 0xc4, 0x19, 0x3c, 0x3d, 0x8d, 0x76, 0xa1, 0xc4, 0xd6, 0xbe, - 0x2b, 0xbc, 0x25, 0xf9, 0xa9, 0xff, 0x4d, 0x02, 0xc0, 0x8e, 0xdf, 0x27, 0x2b, 0x69, 0x70, 0x2f, - 0x4d, 0xe7, 0x7c, 0x59, 0x9a, 0x62, 0x76, 0x7a, 0xc3, 0x4c, 0x31, 0xf2, 0x45, 0x8a, 0x59, 0xaf, - 0xab, 0xff, 0x4e, 0x4a, 0x3a, 0xb5, 0x95, 0xd8, 0xbe, 0x07, 0x2a, 0x2f, 0x47, 0x38, 0x23, 0x79, - 0xc6, 0x08, 0x30, 0x50, 0x9d, 0x71, 0x93, 0x6a, 0x18, 0xe5, 0x35, 0x1a, 0x46, 0x1a, 0x82, 0x71, - 0x30, 0xfa, 0x56, 0x38, 0x03, 0x5b, 0x5f, 0x31, 0x32, 0xde, 0x41, 0x85, 0x96, 0x28, 0xc4, 0xf1, - 0xb9, 0x64, 0x0f, 0x60, 0x23, 0xe8, 0xf5, 0xc6, 0x89, 0xc1, 0x51, 0x86, 0x4c, 0x87, 0xee, 0x60, - 0x7e, 0x00, 0x7d, 0x0e, 0xd5, 0x3e, 0xf1, 0x49, 0xe8, 0x0c, 0x6c, 0x26, 0x99, 0xb0, 0x50, 0xf6, - 0xe2, 0x03, 0x7e, 0x82, 0x17, 0xa6, 0x95, 0x7e, 0xea, 0x97, 0xfe, 0xfb, 0x3c, 0x54, 0xd2, 0xdb, - 0xe8, 0x0b, 0xa8, 0x9e, 0x72, 0x56, 0x04, 0x41, 0x69, 0x41, 0xb7, 0x9b, 0x66, 0xf6, 0x30, 0x87, - 0x2b, 0xa7, 0x69, 0xe6, 0x9f, 0x00, 0xc4, 0x24, 0x1c, 0x4e, 0xf9, 0x91, 0xce, 0xb5, 0x9f, 0xd3, - 0xd8, 0x3d, 0xcc, 0x61, 0x25, 0x9e, 0x06, 0xf2, 0xcf, 0x41, 0x0d, 0xa9, 0x53, 0x0a, 0x4c, 0x3e, - 0x25, 0xba, 0x99, 0xad, 0xb8, 0xa7, 0x4e, 0x7b, 0x98, 0xc3, 0x10, 0xce, 0x5c, 0xf8, 0xb3, 0x69, - 0x0a, 0xe6, 0xc8, 0x85, 0x05, 0x1d, 0x45, 0xca, 0x77, 0x66, 0xd9, 0x97, 0xfd, 0xa4, 0xd9, 0x97, - 0xe1, 0xe9, 0xff, 0x92, 0xa0, 0x9a, 0xea, 0x3c, 0x8e, 0xeb, 0xab, 0xbf, 0x5b, 0x6b, 0x0e, 0x5d, - 0xce, 0x9b, 0x4e, 0x5e, 0xa0, 0xe9, 0xe5, 0xa6, 0xbb, 0x62, 0x30, 0xfd, 0x4e, 0x86, 0x6d, 0xde, - 0xcd, 0x77, 0x42, 0x5e, 0xb9, 0x1c, 0x45, 0xfd, 0xd5, 0x85, 0xcd, 0xf4, 0x46, 0xdc, 0xc6, 0x97, - 0xb5, 0xe9, 0x1a, 0xc8, 0x63, 0xcf, 0x4d, 0x66, 0x16, 0x63, 0xcf, 0x5d, 0xd4, 0xa5, 0x9e, 0x6f, - 0xc8, 0x69, 0xdd, 0xe5, 0x0d, 0x49, 0x14, 0x3b, 0xc3, 0x11, 0x4b, 0xb3, 0x05, 0x3c, 0x03, 0xcc, - 0x95, 0x21, 0xc5, 0xb9, 0x32, 0x84, 0x6e, 0xf7, 0xde, 0x38, 0xbe, 0x4f, 0x06, 0xb3, 0xa6, 0x44, - 0x11, 0x10, 0x93, 0x32, 0x90, 0x0f, 0x46, 0xac, 0x1f, 0xd9, 0x9c, 0x2b, 0xa4, 0x3a, 0x23, 0xf6, - 0x68, 0xe6, 0x83, 0x51, 0xb6, 0x77, 0x51, 0xb2, 0xbd, 0xcb, 0x39, 0x23, 0xc0, 0x5a, 0x46, 0xf8, - 0x7b, 0x1e, 0x14, 0xee, 0x6d, 0x6b, 0x29, 0x3f, 0x95, 0xb8, 0xb8, 0xea, 0x57, 0x4c, 0x5c, 0xe7, - 0xf4, 0x2d, 0x2f, 0xd0, 0xb7, 0x30, 0x53, 0x61, 0x66, 0xa6, 0x8b, 0x2d, 0x90, 0x51, 0x4f, 0xf1, - 0x12, 0xf5, 0x94, 0xd6, 0x6a, 0x28, 0x93, 0x51, 0x5c, 0x99, 0x85, 0x10, 0x1f, 0xc5, 0x89, 0x59, - 0x87, 0x32, 0x9d, 0x75, 0xe8, 0xef, 0x40, 0xb5, 0xbc, 0x21, 0xe9, 0x4e, 0xfc, 0x1e, 0xd5, 0xe2, - 0x4d, 0x28, 0x8d, 0x08, 0x09, 0x6d, 0xd3, 0x15, 0xc5, 0x5e, 0x91, 0xfe, 0x34, 0x99, 0x18, 0xd6, - 0x54, 0x8c, 0xfc, 0xbc, 0x18, 0x7b, 0xa0, 0x44, 0x13, 0xbf, 0x67, 0x2f, 0x2d, 0xa4, 0x28, 0x7d, - 0xe6, 0x13, 0xe5, 0x48, 0xac, 0xf4, 0x6f, 0x00, 0x9e, 0x93, 0xc9, 0x5e, 0x97, 0xf4, 0xe9, 0xc5, - 0x42, 0x71, 0xd2, 0x12, 0xc5, 0xe5, 0x2f, 0x76, 0x5d, 0x99, 0x55, 0x26, 0x33, 0xd7, 0x7d, 0xf8, - 0x97, 0x02, 0x28, 0xd3, 0xef, 0x1e, 0x48, 0x85, 0x52, 0xf7, 0xa4, 0xd1, 0x30, 0xba, 0x5d, 0x2d, - 0x87, 0x76, 0x40, 0x3b, 0x69, 0x1b, 0x5f, 0x1e, 0x1b, 0x0d, 0xcb, 0x68, 0xda, 0x06, 0xc6, 0x1d, - 0xac, 0x49, 0x08, 0xc1, 0x66, 0xa3, 0xd3, 0x6e, 0x1b, 0x0d, 0xcb, 0xde, 0xaf, 0x99, 0x2d, 0xa3, - 0xa9, 0xe5, 0xd1, 0x75, 0xd8, 0x3e, 0x36, 0xf0, 0x91, 0xd9, 0xed, 0x9a, 0x9d, 0xb6, 0xdd, 0x34, - 0xda, 0xa6, 0xd1, 0xd4, 0x64, 0x74, 0x0b, 0xae, 0x37, 0x3a, 0xad, 0x96, 0xd1, 0xb0, 0x28, 0xb8, - 0xdd, 0xb1, 0x6c, 0xe3, 0x4b, 0xb3, 0x6b, 0x75, 0xb5, 0x02, 0xa5, 0x6d, 0xb6, 0x5a, 0xc6, 0x41, - 0xad, 0x65, 0xd7, 0xf0, 0xc1, 0xc9, 0x91, 0xd1, 0xb6, 0xb4, 0x0d, 0x4a, 0x27, 0x81, 0x36, 0xcd, - 0x23, 0xa3, 0x4d, 0xc9, 0x69, 0x25, 0x74, 0x03, 0x50, 0x02, 0x36, 0xdb, 0x4d, 0xe3, 0x4b, 0xdb, - 0xfa, 0xea, 0xd8, 0xd0, 0xca, 0xe8, 0x0e, 0xdc, 0x4c, 0xe0, 0xe9, 0x7b, 0x6a, 0x47, 0x86, 0xa6, - 0x20, 0x0d, 0x2a, 0xc9, 0xa6, 0xd5, 0x39, 0x7e, 0xae, 0x41, 0x9a, 0x3a, 0xee, 0xbc, 0xc2, 0x46, - 0xa3, 0x83, 0x9b, 0x9a, 0x9a, 0x06, 0xbf, 0x34, 0x1a, 0x56, 0x07, 0xdb, 0x66, 0x53, 0xab, 0x50, - 0xe6, 0x13, 0x70, 0xd7, 0xa8, 0xe1, 0xc6, 0xa1, 0x8d, 0x8d, 0xee, 0x49, 0xcb, 0xd2, 0xaa, 0x54, - 0x05, 0xfb, 0x66, 0xcb, 0x60, 0x12, 0xed, 0x77, 0x4e, 0xda, 0x4d, 0x6d, 0x13, 0x6d, 0x81, 0x7a, - 0x64, 0x58, 0xb5, 0x44, 0x27, 0x5b, 0xf4, 0xfe, 0x46, 0xad, 0x71, 0x68, 0x24, 0x10, 0x0d, 0xed, - 0xc2, 0x4e, 0xa3, 0xd6, 0xa6, 0x48, 0x0d, 0x6c, 0xd4, 0x2c, 0xc3, 0xde, 0xef, 0xb4, 0x9a, 0x06, - 0xd6, 0xb6, 0xa9, 0x80, 0x73, 0x3b, 0x66, 0xcb, 0xd0, 0x50, 0x0a, 0xa3, 0x69, 0xb4, 0x8c, 0x19, - 0xc6, 0xb5, 0x14, 0x46, 0xb2, 0x43, 0x31, 0x76, 0xa8, 0x30, 0xf5, 0x13, 0xb3, 0xd5, 0x14, 0x8a, - 0xe2, 0x46, 0xbb, 0x8e, 0xb6, 0xa1, 0x9a, 0x08, 0xd3, 0x6e, 0x99, 0x5d, 0x4b, 0xbb, 0x81, 0x6e, - 0xc2, 0xb5, 0x04, 0x74, 0x64, 0x58, 0xd8, 0x6c, 0x70, 0xad, 0xde, 0xa4, 0x67, 0x3b, 0x27, 0x96, - 0xdd, 0xd9, 0xb7, 0x8f, 0x8c, 0xa3, 0x0e, 0xfe, 0x4a, 0xdb, 0x7d, 0xf8, 0x47, 0x09, 0xca, 0x49, - 0x85, 0x8f, 0xca, 0x50, 0x68, 0x77, 0xda, 0x86, 0x96, 0xa3, 0xab, 0x7a, 0xa7, 0xd3, 0xd2, 0x24, - 0xba, 0x32, 0xdb, 0xd6, 0x53, 0x2d, 0x8f, 0x14, 0xd8, 0x30, 0xdb, 0xd6, 0x47, 0x8f, 0x35, 0x59, - 0x2c, 0x3f, 0xde, 0xd3, 0x0a, 0x62, 0xf9, 0xf8, 0x13, 0x6d, 0x83, 0x2e, 0xf7, 0x5b, 0x9d, 0x9a, - 0xa5, 0x01, 0x02, 0x28, 0x36, 0x3b, 0x27, 0xf5, 0x96, 0xa1, 0xa9, 0x74, 0xdd, 0xb5, 0xb0, 0xd9, - 0x3e, 0xd0, 0x76, 0x28, 0x07, 0xc2, 0x12, 0x75, 0xb3, 0x5d, 0xc3, 0x5f, 0x69, 0x2e, 0xd5, 0xa6, - 0x00, 0x71, 0x64, 0xf2, 0xb0, 0x01, 0x5b, 0x73, 0x35, 0x29, 0x2a, 0x42, 0xbe, 0x65, 0x69, 0x39, - 0x54, 0x02, 0xb9, 0x65, 0x19, 0x9a, 0x44, 0x01, 0xc6, 0x0b, 0x2d, 0x4f, 0xff, 0x1e, 0x58, 0x9a, - 0x4c, 0x37, 0x0e, 0x2c, 0x43, 0x2b, 0x50, 0x40, 0xdb, 0xd0, 0x36, 0x1e, 0x3e, 0x85, 0x0d, 0x56, - 0xe7, 0x50, 0xc7, 0x37, 0xdb, 0x2f, 0x6b, 0x2d, 0xb3, 0xc9, 0xe5, 0x3a, 0x3a, 0xe9, 0x5a, 0x9a, - 0xc4, 0xb8, 0x3a, 0xec, 0x9c, 0xb4, 0xa8, 0x93, 0x57, 0xa0, 0x4c, 0xa1, 0xd4, 0xea, 0x9a, 0xfc, - 0xf0, 0x3e, 0x14, 0x79, 0xf2, 0xa6, 0x67, 0xcc, 0x76, 0xd7, 0xc0, 0xf4, 0x66, 0x2a, 0x11, 0xb3, - 0x87, 0x26, 0x3d, 0xbc, 0x07, 0xe5, 0x24, 0x98, 0x29, 0x45, 0x6c, 0xd4, 0x28, 0x6d, 0x05, 0x36, - 0x5e, 0x61, 0x93, 0x1e, 0xd8, 0xfb, 0xbe, 0x0a, 0xd5, 0x23, 0x16, 0xfa, 0x5d, 0x12, 0xbe, 0xf5, - 0x7a, 0x04, 0xfd, 0x02, 0xb4, 0x46, 0x48, 0x9c, 0x98, 0xcc, 0xba, 0x71, 0xb4, 0xf0, 0x93, 0xd0, - 0xed, 0x45, 0xfd, 0xb8, 0x9e, 0x43, 0xfb, 0x50, 0x3d, 0x74, 0xa2, 0x14, 0xf6, 0x9d, 0xb9, 0x1a, - 0x3a, 0x9d, 0xe0, 0x6f, 0xdf, 0x38, 0x57, 0x6d, 0xf1, 0x89, 0x53, 0x0e, 0x99, 0x80, 0x9a, 0x24, - 0xea, 0x85, 0xde, 0x29, 0x59, 0x95, 0xd8, 0x42, 0x3e, 0xf5, 0x1c, 0x7a, 0x41, 0xed, 0x34, 0xf6, - 0xe3, 0x55, 0xe9, 0xdc, 0x5b, 0xb2, 0x39, 0x1d, 0x4d, 0xe5, 0xd0, 0x2f, 0x61, 0xab, 0xfb, 0x86, - 0xfe, 0x4c, 0xf6, 0xa2, 0x39, 0x2d, 0x89, 0xd1, 0xd5, 0x52, 0x5a, 0xc9, 0xb7, 0x53, 0x3d, 0x87, - 0x8e, 0x01, 0x65, 0x69, 0xb1, 0xf1, 0xc7, 0x85, 0x1c, 0x2e, 0xdb, 0x64, 0xe3, 0x8e, 0x1c, 0x6a, - 0xc2, 0x66, 0x33, 0x0c, 0x46, 0xab, 0xca, 0xbb, 0xc4, 0x92, 0x9f, 0x81, 0xca, 0x5d, 0x81, 0x0d, - 0xda, 0x50, 0xb6, 0x3e, 0x9d, 0x0d, 0xdf, 0x96, 0xa1, 0x37, 0xa0, 0x9a, 0x18, 0xf0, 0x12, 0x02, - 0xcb, 0x36, 0xf4, 0x1c, 0x7a, 0x06, 0x0a, 0x95, 0xe4, 0x87, 0x71, 0x60, 0xc0, 0x16, 0x17, 0x60, - 0xfa, 0x81, 0x71, 0x4e, 0x0f, 0xd9, 0xaf, 0x98, 0xcb, 0xc9, 0x54, 0x0e, 0x9d, 0x68, 0x45, 0x1a, - 0xcb, 0x1d, 0xfa, 0x39, 0x6c, 0x52, 0x33, 0x4f, 0xcf, 0x47, 0x17, 0x1b, 0xe5, 0xf6, 0xe2, 0x5b, - 0x84, 0xcf, 0x50, 0xe5, 0x86, 0xc1, 0xe8, 0x6a, 0x82, 0x7d, 0x0a, 0x45, 0x5e, 0x18, 0xa3, 0xdd, - 0x39, 0xcd, 0x4e, 0xbf, 0x7d, 0xcd, 0xc9, 0x33, 0xfd, 0xd0, 0xc9, 0xd4, 0x52, 0x9d, 0x4e, 0xd5, - 0xea, 0x13, 0xb3, 0x39, 0xc7, 0x42, 0x76, 0x28, 0x76, 0x7b, 0xf1, 0x80, 0x5f, 0xcf, 0xa1, 0x43, - 0xda, 0x96, 0xcd, 0x86, 0x73, 0xe8, 0xff, 0xe6, 0xba, 0x82, 0xb9, 0xb9, 0xdd, 0x05, 0x0c, 0x7d, - 0x0e, 0x45, 0x5e, 0x62, 0xa2, 0xa5, 0xdf, 0x57, 0x6e, 0x67, 0x77, 0x52, 0x1f, 0x30, 0x58, 0x1c, - 0x6e, 0xcd, 0x7d, 0xe7, 0x41, 0xef, 0x2f, 0x20, 0x94, 0xfd, 0x0a, 0x74, 0x21, 0xc5, 0x27, 0x20, - 0x37, 0x86, 0xee, 0x92, 0xcc, 0x30, 0xc7, 0x64, 0x6a, 0x8e, 0x9f, 0x43, 0x35, 0x80, 0xd9, 0x90, - 0x15, 0x65, 0x8b, 0xde, 0xb9, 0xe9, 0xeb, 0x32, 0xe3, 0x1e, 0xc0, 0xf6, 0x71, 0x48, 0x06, 0x81, - 0xe3, 0x5e, 0x31, 0x0d, 0x3c, 0x81, 0x0d, 0x36, 0x89, 0x9e, 0x0b, 0xbf, 0xd9, 0x74, 0x7a, 0x19, - 0xe2, 0x33, 0x36, 0xc0, 0x1f, 0x39, 0xbd, 0x18, 0xdd, 0x3a, 0x3f, 0x47, 0x11, 0x63, 0xe9, 0x65, - 0xc8, 0x75, 0x28, 0x0b, 0xbb, 0xd5, 0xd1, 0xed, 0x65, 0xe6, 0x3c, 0xae, 0x5f, 0xa4, 0xfe, 0x7a, - 0xe9, 0xeb, 0x8d, 0x61, 0xd4, 0x1f, 0x9d, 0x9e, 0x16, 0xd9, 0x7f, 0xe5, 0x7c, 0xfc, 0x9f, 0x00, - 0x00, 0x00, 0xff, 0xff, 0x80, 0xe4, 0x76, 0xae, 0xa6, 0x23, 0x00, 0x00, +func init() { + proto.RegisterFile("pkg/master/grpc/message/message.proto", fileDescriptor_0802b3a25fb57244) +} + +var fileDescriptor_0802b3a25fb57244 = []byte{ + // 2900 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x3a, 0xdd, 0x72, 0xdb, 0xc6, + 0xd5, 0x04, 0x49, 0x91, 0xc4, 0x01, 0x25, 0x41, 0x6b, 0xd9, 0x96, 0xed, 0xf8, 0xb3, 0x83, 0x6f, + 0xda, 0x3a, 0xee, 0x8c, 0xed, 0x30, 0xa9, 0xed, 0xd6, 0x49, 0x1a, 0xfe, 0x40, 0x12, 0x6a, 0x8a, + 0x94, 0x97, 0x90, 0x9d, 0x9f, 0xe9, 0xa0, 0x10, 0xb1, 0xa6, 0xd1, 0x10, 0x00, 0x0b, 0x80, 0x92, + 0xd9, 0xcb, 0xde, 0xb7, 0x33, 0xbd, 0xec, 0x4c, 0x6f, 0xda, 0x47, 0x68, 0xdf, 0xa2, 0x2f, 0x90, + 0x8b, 0xcc, 0xf4, 0xb2, 0xd3, 0xc7, 0xe8, 0xec, 0x0f, 0x48, 0x80, 0x22, 0x65, 0x31, 0x6a, 0xaf, + 0xb8, 0x38, 0xbb, 0xe7, 0xec, 0xf9, 0xdf, 0x73, 0x76, 0x09, 0x3f, 0x18, 0x7d, 0x33, 0x78, 0xe8, + 0xd9, 0x51, 0x4c, 0xc2, 0x87, 0x83, 0x70, 0xd4, 0x7f, 0xe8, 0x91, 0x28, 0xb2, 0x07, 0x24, 0xf9, + 0x7d, 0x30, 0x0a, 0x83, 0x38, 0x40, 0x8a, 0xe7, 0x0e, 0x4f, 0xc6, 0xd1, 0x03, 0xba, 0x44, 0x7b, + 0x05, 0xa5, 0x5e, 0x6c, 0xc7, 0xe3, 0x08, 0xfd, 0x04, 0x80, 0x84, 0x61, 0x10, 0x5a, 0xfd, 0xc0, + 0x21, 0x3b, 0xd2, 0x5d, 0xe9, 0xde, 0x46, 0xed, 0xda, 0x83, 0xd4, 0xda, 0x07, 0x3a, 0x9d, 0x6e, + 0x06, 0x0e, 0xc1, 0x32, 0x49, 0x86, 0xe8, 0x1a, 0x94, 0x42, 0x62, 0x47, 0x81, 0xbf, 0x93, 0xbf, + 0x2b, 0xdd, 0x93, 0xb1, 0xf8, 0xd2, 0x1e, 0x43, 0xf5, 0x39, 0x99, 0xbc, 0xb4, 0x87, 0x63, 0x72, + 0x68, 0xbb, 0x21, 0x52, 0xa1, 0xf0, 0x0d, 0x99, 0x30, 0xba, 0x32, 0xa6, 0x43, 0xb4, 0x0d, 0x6b, + 0x27, 0x74, 0x5a, 0x20, 0xf2, 0x0f, 0xed, 0xa7, 0xb0, 0xd1, 0x0c, 0x86, 0x43, 0xd2, 0x8f, 0xdd, + 0xc0, 0xef, 0xd8, 0x1e, 0x41, 0x3f, 0x82, 0xcd, 0xfe, 0x14, 0x62, 0xf9, 0xb6, 0x47, 0x04, 0x95, + 0x8d, 0x7e, 0x66, 0xa1, 0x36, 0x04, 0x94, 0x45, 0x6d, 0xbb, 0x51, 0x8c, 0x7e, 0x0c, 0xa5, 0x88, + 0x49, 0xc8, 0xb0, 0x94, 0xda, 0x95, 0x8c, 0x4c, 0x5c, 0x78, 0x2c, 0x96, 0xa0, 0x0f, 0x40, 0x9d, + 0xdb, 0x2b, 0xda, 0xc9, 0xdf, 0x2d, 0xdc, 0x93, 0xf1, 0x66, 0x76, 0xb3, 0x48, 0xeb, 0x81, 0xbc, + 0xeb, 0x92, 0xa1, 0xb3, 0x12, 0x8f, 0xe8, 0x36, 0xc0, 0x6b, 0x8a, 0xc5, 0xd7, 0x70, 0xc9, 0xe5, + 0xd7, 0x09, 0x1d, 0xed, 0x1f, 0x12, 0x94, 0x0f, 0xec, 0xd1, 0xc8, 0xf5, 0x07, 0xab, 0x31, 0xbe, + 0x80, 0x81, 0xfc, 0x42, 0x06, 0x28, 0xd5, 0xfe, 0x1b, 0xe2, 0xd9, 0x3b, 0x85, 0x45, 0x54, 0xd9, + 0x14, 0x16, 0x4b, 0xd0, 0x27, 0x50, 0x25, 0x6f, 0xe3, 0xd0, 0xb6, 0x46, 0x76, 0x68, 0x7b, 0xd1, + 0x4e, 0xf1, 0x6e, 0xe1, 0x9e, 0x52, 0xbb, 0x91, 0x41, 0x49, 0x5b, 0x19, 0x2b, 0x6c, 0xf9, 0x21, + 0x5b, 0xad, 0x45, 0xa0, 0x08, 0x59, 0x56, 0x37, 0xc4, 0x13, 0xa8, 0x7a, 0x1c, 0xd7, 0x1a, 0xba, + 0x51, 0xcc, 0x8c, 0xa0, 0xd4, 0xb6, 0x33, 0x28, 0x82, 0x38, 0x56, 0xbc, 0xd9, 0x2e, 0xda, 0x73, + 0xd8, 0x38, 0xb4, 0xc3, 0xd8, 0xa5, 0x02, 0x33, 0x3e, 0x2e, 0x6e, 0x1b, 0x15, 0x0a, 0xb1, 0x3d, + 0x10, 0x7a, 0xa3, 0x43, 0x6d, 0x08, 0xeb, 0x53, 0x62, 0xab, 0xcb, 0xf0, 0x00, 0xae, 0x8c, 0x12, + 0x6c, 0x2b, 0xb6, 0x07, 0x96, 0x1d, 0x86, 0xf6, 0x44, 0xf8, 0xd3, 0xd6, 0x74, 0xca, 0xb4, 0x07, + 0x75, 0x3a, 0xa1, 0xbd, 0x80, 0xcd, 0x97, 0xa4, 0x1f, 0x07, 0x21, 0x0e, 0x4e, 0x31, 0xe9, 0x07, + 0xa1, 0xc3, 0xdc, 0x65, 0x18, 0xd8, 0xb1, 0xe5, 0xd8, 0xb1, 0xbd, 0x23, 0xdd, 0x2d, 0xdc, 0xcb, + 0x63, 0x99, 0x41, 0x5a, 0x76, 0x6c, 0xa3, 0x3b, 0xa0, 0x1c, 0xbb, 0xbe, 0x1d, 0x4e, 0xf8, 0x3c, + 0xe5, 0xbc, 0x8a, 0x81, 0x83, 0xe8, 0x02, 0xed, 0x57, 0x20, 0xeb, 0x7e, 0xec, 0xc6, 0x13, 0xc3, + 0x89, 0x56, 0x63, 0xfe, 0x87, 0xb0, 0x49, 0x18, 0xa6, 0xe5, 0x3a, 0x29, 0xc6, 0x0b, 0x78, 0x9d, + 0x08, 0x82, 0x9c, 0xe9, 0x5d, 0xa8, 0x0a, 0xa6, 0x39, 0xc7, 0x8f, 0xa1, 0x1c, 0xb2, 0x51, 0xc4, + 0xd8, 0x55, 0x6a, 0xef, 0x65, 0x76, 0x99, 0x13, 0x10, 0x27, 0x8b, 0xb5, 0xaf, 0x41, 0xe1, 0x73, + 0xdc, 0x68, 0x08, 0x8a, 0xbf, 0xa6, 0x49, 0x85, 0x5b, 0x8a, 0x8d, 0xd1, 0x53, 0x80, 0x30, 0x38, + 0xb5, 0x38, 0x06, 0x13, 0x76, 0xde, 0x17, 0xd3, 0x9c, 0x60, 0x39, 0x4c, 0x76, 0xd1, 0x06, 0x22, + 0x56, 0x0f, 0x48, 0x6c, 0xcf, 0x85, 0xa0, 0x34, 0x17, 0x82, 0xe8, 0x03, 0x28, 0xc6, 0x93, 0x11, + 0x0f, 0x9f, 0x8d, 0xda, 0xd5, 0x0c, 0x7d, 0xaa, 0x53, 0x73, 0x32, 0x22, 0x98, 0x2d, 0xa1, 0x0e, + 0xe3, 0xb8, 0x1e, 0x0b, 0xa4, 0x02, 0xa6, 0x43, 0xad, 0x0e, 0x25, 0x1e, 0x42, 0xe8, 0x09, 0x28, + 0x7c, 0x17, 0x8f, 0xc4, 0x76, 0xa2, 0x8b, 0x6c, 0x3e, 0x9d, 0xb2, 0x84, 0x39, 0x43, 0x74, 0x18, + 0x69, 0xb7, 0xa1, 0x8c, 0x83, 0x53, 0x66, 0x5e, 0x04, 0xc5, 0xe3, 0x61, 0x70, 0xcc, 0x78, 0xac, + 0x62, 0x36, 0xd6, 0xfe, 0x92, 0x07, 0xc5, 0xf0, 0x23, 0x12, 0xc6, 0x2b, 0x7a, 0xf7, 0x2c, 0xf0, + 0xf3, 0xef, 0x0e, 0xfc, 0x0f, 0x81, 0x6a, 0x2f, 0xe2, 0x6e, 0x55, 0x58, 0x10, 0x7b, 0x82, 0x45, + 0x5c, 0xa1, 0xcb, 0x18, 0xb3, 0x0b, 0x1c, 0xa6, 0xb8, 0xc0, 0x61, 0xd0, 0xff, 0xc3, 0x7a, 0x26, + 0x2a, 0x76, 0xd6, 0x18, 0xbb, 0xd5, 0x74, 0x3c, 0x9c, 0x49, 0x3c, 0xa5, 0x95, 0x12, 0xcf, 0xbf, + 0x25, 0x50, 0x7a, 0xc4, 0x0e, 0xfb, 0x6f, 0x56, 0xd4, 0xd1, 0x33, 0xa8, 0x9e, 0x30, 0x17, 0xe2, + 0xfb, 0x8a, 0xac, 0xb3, 0xb3, 0xc0, 0xc7, 0x18, 0x61, 0xac, 0x9c, 0xa4, 0x5c, 0x96, 0x7a, 0x43, + 0x34, 0x64, 0xde, 0x20, 0x63, 0x3a, 0x3c, 0x2b, 0x6a, 0x91, 0x85, 0xfe, 0xf9, 0xa2, 0xae, 0xad, + 0x24, 0xea, 0x29, 0x6c, 0x73, 0x49, 0x0d, 0xbf, 0x47, 0x06, 0x1e, 0xf1, 0x85, 0x5b, 0x68, 0xb0, + 0xfe, 0xda, 0x1d, 0x92, 0x99, 0x2d, 0x24, 0xb6, 0xb5, 0x42, 0x81, 0x89, 0x25, 0x9e, 0x41, 0x35, + 0x62, 0xb8, 0x53, 0x69, 0xa5, 0x33, 0xd2, 0xa6, 0xd4, 0x88, 0x95, 0x68, 0xf6, 0xa1, 0xfd, 0x49, + 0x82, 0x0a, 0x4b, 0x2d, 0x2e, 0x59, 0x31, 0xb3, 0xa8, 0x50, 0x70, 0x9d, 0x48, 0x64, 0x13, 0x3a, + 0x44, 0xb7, 0x40, 0x3e, 0xb1, 0x87, 0xae, 0x63, 0x85, 0xc1, 0x29, 0xf3, 0xb6, 0x0a, 0xae, 0x30, + 0x00, 0x0e, 0x4e, 0xb3, 0xae, 0x58, 0xbc, 0x88, 0x2b, 0x6a, 0x7f, 0xcb, 0x83, 0xf2, 0x62, 0x4c, + 0xc2, 0x09, 0x26, 0xd1, 0x78, 0xb8, 0x62, 0xd6, 0xfe, 0x10, 0x2a, 0x44, 0xc8, 0x25, 0x34, 0x92, + 0xcd, 0x01, 0x89, 0xd0, 0x78, 0xba, 0x0c, 0x5d, 0x87, 0x32, 0x4d, 0x4c, 0xfe, 0x38, 0xc9, 0x05, + 0xa5, 0x30, 0x38, 0xed, 0x8c, 0x3d, 0x5a, 0x1c, 0x45, 0xfd, 0x20, 0x24, 0xfc, 0xe4, 0xcc, 0x63, + 0xf1, 0x85, 0xde, 0x03, 0xd9, 0x71, 0xa3, 0xd8, 0xf6, 0xfb, 0x84, 0x1b, 0x3c, 0x8f, 0x67, 0x80, + 0xcb, 0x39, 0x3f, 0xba, 0x01, 0x95, 0xdf, 0x50, 0xd9, 0x2d, 0xd7, 0xd9, 0x29, 0x33, 0x6e, 0xca, + 0xec, 0xdb, 0x70, 0xa8, 0x9e, 0xfb, 0x43, 0x97, 0xf8, 0x31, 0x9d, 0xab, 0xb0, 0xb9, 0x0a, 0x07, + 0x18, 0x8e, 0xf6, 0x4b, 0x50, 0x7a, 0x71, 0x48, 0xcf, 0x53, 0x32, 0x1a, 0x4e, 0x56, 0xd3, 0xd9, + 0xfb, 0x50, 0x8d, 0x18, 0xae, 0x15, 0x52, 0x64, 0x71, 0x84, 0x2a, 0xd1, 0x8c, 0x9e, 0xf6, 0x0a, + 0xe4, 0x46, 0x10, 0x0c, 0xbf, 0x07, 0xf1, 0xdb, 0x00, 0xc7, 0x41, 0x30, 0x4c, 0x91, 0xae, 0x60, + 0xf9, 0x38, 0xa1, 0xa5, 0x45, 0xe9, 0xaa, 0x0f, 0x07, 0xa7, 0xcd, 0x60, 0xec, 0xaf, 0x68, 0xf2, + 0x47, 0xb0, 0x9d, 0xca, 0x0f, 0xd4, 0x94, 0x7d, 0x4a, 0x84, 0xed, 0x55, 0xc0, 0xa8, 0x7f, 0x86, + 0xbc, 0x76, 0x0b, 0xca, 0xcd, 0xc0, 0xf3, 0x6c, 0xdf, 0xa1, 0xee, 0xdc, 0xf7, 0x9c, 0xa4, 0xb0, + 0xed, 0x7b, 0x8e, 0xf6, 0x4f, 0x09, 0xc0, 0xf0, 0x1d, 0xf2, 0x96, 0x87, 0xe2, 0xff, 0xa6, 0x8e, + 0xcb, 0x9e, 0x62, 0x85, 0xf9, 0x53, 0xec, 0x36, 0x80, 0x4b, 0x59, 0xe0, 0xd3, 0x45, 0x3e, 0xcd, + 0x20, 0x6c, 0xfa, 0x72, 0x49, 0xe7, 0x73, 0x80, 0xdd, 0xe1, 0x38, 0x12, 0xd9, 0xb5, 0x06, 0x57, + 0xe7, 0x58, 0xce, 0xa4, 0x9c, 0x2b, 0x59, 0xc6, 0x79, 0xd5, 0x70, 0x04, 0xd5, 0x66, 0xe0, 0x8d, + 0xec, 0xfe, 0xaa, 0xa7, 0xd8, 0x7b, 0x20, 0xc7, 0x6f, 0x42, 0x12, 0xbd, 0x09, 0x86, 0xbc, 0x04, + 0x90, 0xf0, 0x0c, 0xa0, 0x1d, 0xc1, 0x66, 0x8b, 0x0c, 0x49, 0x4c, 0x1a, 0x13, 0xa3, 0xb5, 0x22, + 0xe5, 0x1b, 0x50, 0x99, 0xab, 0x74, 0xca, 0xae, 0xa8, 0x71, 0xbe, 0x4a, 0xf7, 0x24, 0x86, 0xff, + 0x3a, 0x58, 0xcd, 0xa6, 0xb7, 0x40, 0xa6, 0xf5, 0x8b, 0xe5, 0xfa, 0xaf, 0x03, 0x61, 0xcd, 0x0a, + 0x05, 0x50, 0x4a, 0xda, 0xd7, 0xb0, 0xb5, 0x47, 0x62, 0x51, 0xa4, 0xb5, 0xa2, 0x15, 0x99, 0xbe, + 0x0d, 0x10, 0xf1, 0xb4, 0x4f, 0x43, 0x9a, 0xfb, 0xab, 0x2c, 0x20, 0x86, 0xa3, 0x8d, 0x61, 0x23, + 0x29, 0xff, 0xf8, 0x21, 0xfc, 0xdf, 0x50, 0x07, 0xad, 0x3a, 0x67, 0xae, 0x17, 0xb1, 0x84, 0x2d, + 0x8b, 0x12, 0x86, 0xb7, 0x46, 0x8f, 0x40, 0xe5, 0xa7, 0x24, 0xab, 0x70, 0xb8, 0x48, 0x2c, 0xe5, + 0x79, 0xc4, 0x8f, 0x5c, 0x51, 0xd5, 0x15, 0xf0, 0x0c, 0xa0, 0xfd, 0x41, 0x12, 0x15, 0x1a, 0xad, + 0xae, 0xd0, 0xc7, 0x20, 0xd3, 0x6c, 0x6f, 0xb1, 0x3a, 0x4c, 0x3a, 0xa7, 0x0e, 0xdb, 0xcf, 0xe1, + 0x8a, 0x23, 0xc6, 0xa8, 0x71, 0xe6, 0xf0, 0xa6, 0x96, 0xb9, 0xbd, 0xe0, 0xf0, 0x9e, 0xb1, 0xb5, + 0x9f, 0xcb, 0x9c, 0xe1, 0x8d, 0xb2, 0xe8, 0x49, 0xb5, 0x6f, 0x25, 0x80, 0x14, 0xf7, 0x1b, 0x90, + 0x77, 0x79, 0x8c, 0x17, 0x71, 0xde, 0x75, 0x68, 0x65, 0x96, 0x8a, 0x4d, 0x36, 0x9e, 0x16, 0x8e, + 0x85, 0x77, 0x17, 0x8e, 0x9f, 0x40, 0x95, 0x47, 0xe7, 0x85, 0xfb, 0x2a, 0x77, 0x9a, 0x4f, 0xa2, + 0x4b, 0x06, 0xef, 0x1e, 0x6c, 0xa5, 0xb4, 0x20, 0xaa, 0xf6, 0x5a, 0xd2, 0x8b, 0x5f, 0xa4, 0x66, + 0x17, 0x2a, 0xfa, 0x4e, 0x02, 0xd9, 0x24, 0xa1, 0xc7, 0x4e, 0xda, 0x77, 0x55, 0xd5, 0xb7, 0x40, + 0x76, 0xfd, 0xd8, 0x4a, 0x1a, 0x7e, 0xea, 0x4f, 0x15, 0xd7, 0x8f, 0x19, 0x8f, 0xf4, 0xf8, 0x70, + 0x82, 0xf1, 0xf1, 0x90, 0x88, 0x79, 0xea, 0x51, 0x12, 0x56, 0x38, 0x8c, 0x2f, 0xe1, 0x25, 0xc2, + 0x98, 0xb0, 0x43, 0xb6, 0xc8, 0x8f, 0x2e, 0x06, 0xa0, 0xc7, 0xec, 0x36, 0xac, 0x1d, 0x07, 0x41, + 0x14, 0xb3, 0x52, 0x32, 0x8f, 0xf9, 0xc7, 0x25, 0x6b, 0x48, 0x1b, 0x14, 0x96, 0xa1, 0x42, 0xa2, + 0xbf, 0x1d, 0x85, 0xe8, 0x29, 0x54, 0x82, 0x11, 0x09, 0xed, 0x38, 0x08, 0x85, 0x47, 0x66, 0x75, + 0x24, 0xd6, 0x76, 0xc5, 0x1a, 0x3c, 0x5d, 0x8d, 0x76, 0xa0, 0xcc, 0xc6, 0xbe, 0x23, 0xbc, 0x25, + 0xf9, 0xd4, 0xfe, 0x2e, 0x01, 0x60, 0xdb, 0x1f, 0x90, 0x0b, 0x69, 0xb0, 0x96, 0xa6, 0x73, 0xb6, + 0x2c, 0x4d, 0x31, 0x3b, 0xdd, 0x61, 0xa6, 0x98, 0xc2, 0x79, 0x8a, 0x59, 0xad, 0xab, 0xff, 0x56, + 0x4a, 0x3a, 0xb5, 0x0b, 0xb1, 0x7d, 0x07, 0x14, 0x5e, 0x8e, 0x70, 0x46, 0xf2, 0x8c, 0x11, 0x60, + 0xa0, 0x06, 0xe3, 0x26, 0xd5, 0x30, 0x16, 0x56, 0x68, 0x18, 0x69, 0x08, 0xc6, 0xc1, 0xe8, 0x1b, + 0xe1, 0x0c, 0x6c, 0x7c, 0xc9, 0xc8, 0x78, 0x0b, 0x55, 0x5a, 0xa2, 0x10, 0xdb, 0xe7, 0x92, 0xdd, + 0x83, 0xb5, 0xa0, 0xdf, 0x1f, 0x27, 0x06, 0x47, 0x19, 0x32, 0x5d, 0x3a, 0x83, 0xf9, 0x02, 0xf4, + 0x19, 0xac, 0x0f, 0x88, 0x4f, 0x42, 0x7b, 0x68, 0x31, 0xc9, 0x84, 0x85, 0xb2, 0x1b, 0xef, 0xf1, + 0x15, 0xbc, 0x30, 0xad, 0x0e, 0x52, 0x5f, 0xda, 0xef, 0xf3, 0x50, 0x4d, 0x4f, 0xa3, 0xcf, 0x61, + 0xfd, 0x98, 0xb3, 0x22, 0x08, 0x4a, 0x0b, 0xba, 0xdd, 0x34, 0xb3, 0xfb, 0x39, 0x5c, 0x3d, 0x4e, + 0x33, 0xff, 0x04, 0x20, 0x26, 0xa1, 0x37, 0xe5, 0x47, 0x3a, 0xd3, 0x7e, 0x4e, 0x63, 0x77, 0x3f, + 0x87, 0xe5, 0x78, 0x1a, 0xc8, 0x3f, 0x03, 0x25, 0xa4, 0x4e, 0x29, 0x30, 0xf9, 0x2d, 0xd1, 0xf5, + 0x6c, 0xc5, 0x3d, 0x75, 0xda, 0xfd, 0x1c, 0x86, 0x70, 0xe6, 0xc2, 0x9f, 0x4e, 0x53, 0x30, 0x47, + 0x2e, 0x2e, 0xe8, 0x28, 0x52, 0xbe, 0x33, 0xcb, 0xbe, 0xec, 0x93, 0x66, 0x5f, 0x86, 0xa7, 0xfd, + 0x4b, 0x82, 0xf5, 0x54, 0xe7, 0x71, 0xd8, 0xb8, 0xf8, 0xb9, 0xb5, 0xe2, 0xa5, 0xcb, 0x59, 0xd3, + 0x15, 0x16, 0x68, 0x7a, 0xb9, 0xe9, 0x2e, 0x19, 0x4c, 0xbf, 0x2b, 0xc0, 0x16, 0xef, 0xe6, 0xbb, + 0x21, 0xaf, 0x5c, 0x0e, 0xa2, 0xc1, 0xc5, 0x85, 0xcd, 0xf4, 0x46, 0xdc, 0xc6, 0xef, 0x6a, 0xd3, + 0x55, 0x28, 0x8c, 0x5d, 0x27, 0xb9, 0xb3, 0x18, 0xbb, 0xce, 0xa2, 0x2e, 0xf5, 0x6c, 0x43, 0x4e, + 0xeb, 0x2e, 0xd7, 0x23, 0x51, 0x6c, 0x7b, 0x23, 0x96, 0x66, 0x8b, 0x78, 0x06, 0x98, 0x2b, 0x43, + 0x4a, 0x73, 0x65, 0x08, 0x9d, 0xee, 0xbf, 0xb1, 0x7d, 0x9f, 0x0c, 0x67, 0x4d, 0x89, 0x2c, 0x20, + 0x06, 0x65, 0x20, 0x1f, 0x8c, 0x58, 0x3f, 0xb2, 0x31, 0x57, 0x48, 0x75, 0x47, 0xec, 0xd0, 0xcc, + 0x07, 0xa3, 0x6c, 0xef, 0x22, 0x67, 0x7b, 0x97, 0x33, 0x46, 0x80, 0x95, 0x8c, 0xf0, 0xe7, 0x3c, + 0xc8, 0xdc, 0xdb, 0x56, 0x52, 0x7e, 0x2a, 0x71, 0x71, 0xd5, 0x5f, 0x30, 0x71, 0x9d, 0xd1, 0x77, + 0x61, 0x81, 0xbe, 0x85, 0x99, 0x8a, 0x33, 0x33, 0x9d, 0x6f, 0x81, 0x8c, 0x7a, 0x4a, 0xef, 0x50, + 0x4f, 0x79, 0xc5, 0xb4, 0xa8, 0x98, 0xae, 0x47, 0x7a, 0x13, 0xbf, 0x4f, 0xf5, 0x73, 0x1d, 0xca, + 0x23, 0x42, 0x42, 0xcb, 0x70, 0x44, 0x19, 0x57, 0xa2, 0x9f, 0x06, 0x63, 0xd0, 0x9c, 0x32, 0x98, + 0xe7, 0x0c, 0x4e, 0x01, 0xa8, 0x06, 0x72, 0x34, 0xf1, 0xfb, 0xd6, 0xd2, 0x12, 0x89, 0xd2, 0x67, + 0xd6, 0xae, 0x44, 0x62, 0xa4, 0x7d, 0x0d, 0xf0, 0x9c, 0x4c, 0x6a, 0x3d, 0x32, 0xa0, 0x1b, 0x0b, + 0x95, 0x48, 0x4b, 0x54, 0x92, 0x3f, 0xdf, 0x29, 0x0b, 0xac, 0xe6, 0x98, 0x39, 0xe5, 0xfd, 0xbf, + 0x16, 0x41, 0x9e, 0xbe, 0x68, 0x20, 0x05, 0xca, 0xbd, 0xa3, 0x66, 0x53, 0xef, 0xf5, 0xd4, 0x1c, + 0xda, 0x06, 0xf5, 0xa8, 0xa3, 0x7f, 0x71, 0xa8, 0x37, 0x4d, 0xbd, 0x65, 0xe9, 0x18, 0x77, 0xb1, + 0x2a, 0x21, 0x04, 0x1b, 0xcd, 0x6e, 0xa7, 0xa3, 0x37, 0x4d, 0x6b, 0xb7, 0x6e, 0xb4, 0xf5, 0x96, + 0x9a, 0x47, 0x57, 0x61, 0xeb, 0x50, 0xc7, 0x07, 0x46, 0xaf, 0x67, 0x74, 0x3b, 0x56, 0x4b, 0xef, + 0x18, 0x7a, 0x4b, 0x2d, 0xa0, 0x1b, 0x70, 0xb5, 0xd9, 0x6d, 0xb7, 0xf5, 0xa6, 0x49, 0xc1, 0x9d, + 0xae, 0x69, 0xe9, 0x5f, 0x18, 0x3d, 0xb3, 0xa7, 0x16, 0x29, 0x6d, 0xa3, 0xdd, 0xd6, 0xf7, 0xea, + 0x6d, 0xab, 0x8e, 0xf7, 0x8e, 0x0e, 0xf4, 0x8e, 0xa9, 0xae, 0x51, 0x3a, 0x09, 0xb4, 0x65, 0x1c, + 0xe8, 0x1d, 0x4a, 0x4e, 0x2d, 0xa3, 0x6b, 0x80, 0x12, 0xb0, 0xd1, 0x69, 0xe9, 0x5f, 0x58, 0xe6, + 0x97, 0x87, 0xba, 0x5a, 0x41, 0xb7, 0xe0, 0x7a, 0x02, 0x4f, 0xef, 0x53, 0x3f, 0xd0, 0x55, 0x19, + 0xa9, 0x50, 0x4d, 0x26, 0xcd, 0xee, 0xe1, 0x73, 0x15, 0xd2, 0xd4, 0x71, 0xf7, 0x15, 0xd6, 0x9b, + 0x5d, 0xdc, 0x52, 0x95, 0x34, 0xf8, 0xa5, 0xde, 0x34, 0xbb, 0xd8, 0x32, 0x5a, 0x6a, 0x95, 0x32, + 0x9f, 0x80, 0x7b, 0x7a, 0x1d, 0x37, 0xf7, 0x2d, 0xac, 0xf7, 0x8e, 0xda, 0xa6, 0xba, 0x4e, 0x55, + 0xb0, 0x6b, 0xb4, 0x75, 0x26, 0xd1, 0x6e, 0xf7, 0xa8, 0xd3, 0x52, 0x37, 0xd0, 0x26, 0x28, 0x07, + 0xba, 0x59, 0x4f, 0x74, 0xb2, 0x49, 0xf7, 0x6f, 0xd6, 0x9b, 0xfb, 0x7a, 0x02, 0x51, 0xd1, 0x0e, + 0x6c, 0x37, 0xeb, 0x1d, 0x8a, 0xd4, 0xc4, 0x7a, 0xdd, 0xd4, 0xad, 0xdd, 0x6e, 0xbb, 0xa5, 0x63, + 0x75, 0x8b, 0x0a, 0x38, 0x37, 0x63, 0xb4, 0x75, 0x15, 0xa5, 0x30, 0x5a, 0x7a, 0x5b, 0x9f, 0x61, + 0x5c, 0x49, 0x61, 0x24, 0x33, 0x14, 0x63, 0x9b, 0x0a, 0xd3, 0x38, 0x32, 0xda, 0x2d, 0xa1, 0x28, + 0x6e, 0xb4, 0xab, 0x68, 0x0b, 0xd6, 0x13, 0x61, 0x3a, 0x6d, 0xa3, 0x67, 0xaa, 0xd7, 0xd0, 0x75, + 0xb8, 0x92, 0x80, 0x0e, 0x74, 0x13, 0x1b, 0x4d, 0xae, 0xd5, 0xeb, 0x74, 0x6d, 0xf7, 0xc8, 0xb4, + 0xba, 0xbb, 0xd6, 0x81, 0x7e, 0xd0, 0xc5, 0x5f, 0xaa, 0x3b, 0xf7, 0xff, 0x28, 0x41, 0x25, 0xa9, + 0xdd, 0x51, 0x05, 0x8a, 0x9d, 0x6e, 0x47, 0x57, 0x73, 0x74, 0xd4, 0xe8, 0x76, 0xdb, 0xaa, 0x44, + 0x47, 0x46, 0xc7, 0x7c, 0xaa, 0xe6, 0x91, 0x0c, 0x6b, 0x46, 0xc7, 0xfc, 0xf0, 0xb1, 0x5a, 0x10, + 0xc3, 0x8f, 0x6a, 0x6a, 0x51, 0x0c, 0x1f, 0x7f, 0xac, 0xae, 0xd1, 0xe1, 0x6e, 0xbb, 0x5b, 0x37, + 0x55, 0x40, 0x00, 0xa5, 0x56, 0xf7, 0xa8, 0xd1, 0xd6, 0x55, 0x85, 0x8e, 0x7b, 0x26, 0x36, 0x3a, + 0x7b, 0xea, 0x36, 0xe5, 0x40, 0x58, 0xa2, 0x61, 0x74, 0xea, 0xf8, 0x4b, 0xd5, 0xa1, 0xda, 0x14, + 0x20, 0x8e, 0x4c, 0xee, 0x37, 0x61, 0x73, 0xae, 0xda, 0x44, 0x25, 0xc8, 0xb7, 0x4d, 0x35, 0x87, + 0xca, 0x50, 0x68, 0x9b, 0xba, 0x2a, 0x51, 0x80, 0xfe, 0x42, 0xcd, 0xd3, 0xdf, 0x3d, 0x53, 0x2d, + 0xd0, 0x89, 0x3d, 0x53, 0x57, 0x8b, 0x14, 0xd0, 0xd1, 0xd5, 0xb5, 0xfb, 0x4f, 0x61, 0x8d, 0x55, + 0x30, 0xd4, 0xf1, 0x8d, 0xce, 0xcb, 0x7a, 0xdb, 0x68, 0x71, 0xb9, 0x0e, 0x8e, 0x7a, 0xa6, 0x2a, + 0x31, 0xae, 0xf6, 0xbb, 0x47, 0x6d, 0xea, 0xe4, 0x55, 0xa8, 0x50, 0x28, 0xb5, 0xba, 0x5a, 0xb8, + 0x7f, 0x17, 0x4a, 0x3c, 0x2d, 0xd3, 0x35, 0x46, 0xa7, 0xa7, 0x63, 0xba, 0x33, 0x95, 0x88, 0xd9, + 0x43, 0x95, 0xee, 0xdf, 0x81, 0x4a, 0x12, 0xcc, 0x94, 0x22, 0xd6, 0xeb, 0x94, 0xb6, 0x0c, 0x6b, + 0xaf, 0xb0, 0x41, 0x17, 0xd4, 0xbe, 0x5b, 0x87, 0xf5, 0x03, 0x16, 0xfa, 0x3d, 0x12, 0x9e, 0xb8, + 0x7d, 0x82, 0x7e, 0x0e, 0x6a, 0x33, 0x24, 0x76, 0x4c, 0x66, 0x7d, 0x36, 0x5a, 0xf8, 0xd8, 0x73, + 0x73, 0x51, 0xa7, 0xad, 0xe5, 0xd0, 0x2e, 0xac, 0xef, 0xdb, 0x51, 0x0a, 0xfb, 0xd6, 0x5c, 0x75, + 0x9c, 0x4e, 0xdd, 0x37, 0xaf, 0x9d, 0xa9, 0xa3, 0xf8, 0x5d, 0x52, 0x0e, 0x19, 0x80, 0x5a, 0x24, + 0xea, 0x87, 0xee, 0x31, 0xb9, 0x28, 0xb1, 0x85, 0x7c, 0x6a, 0x39, 0xf4, 0x82, 0xda, 0x69, 0xec, + 0xc7, 0x17, 0xa5, 0x73, 0x67, 0xc9, 0xe4, 0xf4, 0xd2, 0x29, 0x87, 0x7e, 0x01, 0x9b, 0xbd, 0x37, + 0xf4, 0x33, 0x99, 0x8b, 0xe6, 0xb4, 0x24, 0x2e, 0xa5, 0x96, 0xd2, 0x4a, 0x5e, 0x45, 0xb5, 0x1c, + 0x3a, 0x04, 0x94, 0xa5, 0xc5, 0x2e, 0x36, 0xce, 0xe5, 0x70, 0xd9, 0x24, 0xbb, 0xc8, 0xc8, 0xa1, + 0x16, 0x6c, 0xb4, 0xc2, 0x60, 0x74, 0x51, 0x79, 0x97, 0x58, 0xf2, 0x53, 0x50, 0xb8, 0x2b, 0xb0, + 0x2b, 0x34, 0x94, 0xad, 0x3c, 0x67, 0xd7, 0x6a, 0xcb, 0xd0, 0x9b, 0xb0, 0x9e, 0x18, 0xf0, 0x1d, + 0x04, 0x96, 0x4d, 0x68, 0x39, 0xf4, 0x0c, 0x64, 0x2a, 0xc9, 0xf7, 0xe3, 0x40, 0x87, 0x4d, 0x2e, + 0xc0, 0xf4, 0xe9, 0x70, 0x4e, 0x0f, 0xd9, 0xf7, 0xc9, 0xe5, 0x64, 0xaa, 0xfb, 0x76, 0x74, 0x41, + 0x1a, 0xcb, 0x1d, 0xfa, 0x39, 0x6c, 0x50, 0x33, 0x4f, 0xd7, 0x47, 0xe7, 0x1b, 0xe5, 0xe6, 0xe2, + 0x5d, 0x84, 0xcf, 0x50, 0xe5, 0x86, 0xc1, 0xe8, 0x72, 0x82, 0x7d, 0x02, 0x25, 0x5e, 0xf2, 0xa2, + 0x9d, 0x39, 0xcd, 0x4e, 0x5f, 0xb5, 0xe6, 0xe4, 0x99, 0x3e, 0x61, 0x32, 0xb5, 0xac, 0x4f, 0xef, + 0xcb, 0x1a, 0x13, 0xa3, 0x35, 0xc7, 0x42, 0xf6, 0xba, 0xeb, 0xe6, 0xe2, 0xab, 0x7b, 0x2d, 0x87, + 0xf6, 0x69, 0xc3, 0x35, 0xbb, 0x76, 0x43, 0xff, 0x37, 0x57, 0xef, 0xcf, 0xdd, 0xc8, 0x9d, 0xc3, + 0xd0, 0x67, 0x50, 0xe2, 0xc5, 0x23, 0x5a, 0xfa, 0x72, 0x72, 0x33, 0x3b, 0x93, 0x7a, 0x9a, 0x60, + 0x71, 0xb8, 0x39, 0xf7, 0x82, 0x83, 0xde, 0x5f, 0x40, 0x28, 0xfb, 0xbe, 0x73, 0x2e, 0xc5, 0x27, + 0x50, 0x68, 0x7a, 0xce, 0x92, 0xcc, 0x30, 0xc7, 0x64, 0xea, 0x86, 0x3e, 0x87, 0xea, 0x00, 0xb3, + 0xeb, 0x53, 0x94, 0x2d, 0x67, 0xe7, 0xee, 0x55, 0x97, 0x19, 0x77, 0x0f, 0xb6, 0x0e, 0x43, 0x32, + 0x0c, 0x6c, 0xe7, 0x92, 0x69, 0xe0, 0x09, 0xac, 0xb1, 0x3b, 0xe6, 0xb9, 0xf0, 0x9b, 0xdd, 0x3b, + 0x2f, 0x43, 0x7c, 0xc6, 0xae, 0xe6, 0x47, 0x76, 0x3f, 0x46, 0x37, 0xce, 0xde, 0x90, 0x88, 0x0b, + 0xe7, 0x65, 0xc8, 0x0d, 0xa8, 0x08, 0xbb, 0x35, 0xd0, 0xcd, 0x65, 0xe6, 0x3c, 0x6c, 0x9c, 0xa7, + 0xfe, 0x46, 0xed, 0xab, 0x47, 0x03, 0x37, 0x7e, 0x33, 0x3e, 0x7e, 0xd0, 0x0f, 0xbc, 0x87, 0xfd, + 0xdf, 0x46, 0x8f, 0x1e, 0x3d, 0x79, 0x18, 0x8d, 0x4f, 0x86, 0xae, 0xf7, 0x70, 0xc9, 0x3f, 0x74, + 0x8e, 0x4b, 0xec, 0xaf, 0x39, 0x1f, 0xfd, 0x27, 0x00, 0x00, 0xff, 0xff, 0x1a, 0x56, 0x8b, 0xe9, + 0xc3, 0x23, 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// MilvusServiceClient is the client API for MilvusService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type MilvusServiceClient interface { + //* + // @brief This method is used to create collection + // + // @param CollectionSchema, use to provide collection information to be created. + // + // @return Status + CreateCollection(ctx context.Context, in *Mapping, opts ...grpc.CallOption) (*Status, error) + //* + // @brief This method is used to test collection existence. + // + // @param CollectionName, collection name is going to be tested. + // + // @return BoolReply + HasCollection(ctx context.Context, in *CollectionName, opts ...grpc.CallOption) (*BoolReply, error) + //* + // @brief This method is used to get collection schema. + // + // @param CollectionName, target collection name. + // + // @return CollectionSchema + DescribeCollection(ctx context.Context, in *CollectionName, opts ...grpc.CallOption) (*Mapping, error) + //* + // @brief This method is used to get collection schema. + // + // @param CollectionName, target collection name. + // + // @return CollectionRowCount + CountCollection(ctx context.Context, in *CollectionName, opts ...grpc.CallOption) (*CollectionRowCount, error) + //* + // @brief This method is used to list all collections. + // + // @param Command, dummy parameter. + // + // @return CollectionNameList + ShowCollections(ctx context.Context, in *Command, opts ...grpc.CallOption) (*CollectionNameList, error) + //* + // @brief This method is used to get collection detail information. + // + // @param CollectionName, target collection name. + // + // @return CollectionInfo + ShowCollectionInfo(ctx context.Context, in *CollectionName, opts ...grpc.CallOption) (*CollectionInfo, error) + //* + // @brief This method is used to delete collection. + // + // @param CollectionName, collection name is going to be deleted. + // + // @return Status + DropCollection(ctx context.Context, in *CollectionName, opts ...grpc.CallOption) (*Status, error) + //* + // @brief This method is used to build index by collection in sync mode. + // + // @param IndexParam, index paramters. + // + // @return Status + CreateIndex(ctx context.Context, in *IndexParam, opts ...grpc.CallOption) (*Status, error) + //* + // @brief This method is used to describe index + // + // @param IndexParam, target index. + // + // @return IndexParam + DescribeIndex(ctx context.Context, in *IndexParam, opts ...grpc.CallOption) (*IndexParam, error) + //* + // @brief This method is used to drop index + // + // @param IndexParam, target field. if the IndexParam.field_name is empty, will drop all index of the collection + // + // @return Status + DropIndex(ctx context.Context, in *IndexParam, opts ...grpc.CallOption) (*Status, error) + //* + // @brief This method is used to create partition + // + // @param PartitionParam, partition parameters. + // + // @return Status + CreatePartition(ctx context.Context, in *PartitionParam, opts ...grpc.CallOption) (*Status, error) + //* + // @brief This method is used to test partition existence. + // + // @param PartitionParam, target partition. + // + // @return BoolReply + HasPartition(ctx context.Context, in *PartitionParam, opts ...grpc.CallOption) (*BoolReply, error) + //* + // @brief This method is used to show partition information + // + // @param CollectionName, target collection name. + // + // @return PartitionList + ShowPartitions(ctx context.Context, in *CollectionName, opts ...grpc.CallOption) (*PartitionList, error) + //* + // @brief This method is used to drop partition + // + // @param PartitionParam, target partition. + // + // @return Status + DropPartition(ctx context.Context, in *PartitionParam, opts ...grpc.CallOption) (*Status, error) + //* + // @brief This method is used to add vector array to collection. + // + // @param InsertParam, insert parameters. + // + // @return VectorIds + Insert(ctx context.Context, in *InsertParam, opts ...grpc.CallOption) (*EntityIds, error) + //* + // @brief This method is used to get entities data by id array. + // + // @param EntitiesIdentity, target entity id array. + // + // @return EntitiesData + GetEntityByID(ctx context.Context, in *EntityIdentity, opts ...grpc.CallOption) (*Entities, error) + //* + // @brief This method is used to get vector ids from a segment + // + // @param GetVectorIDsParam, target collection and segment + // + // @return VectorIds + GetEntityIDs(ctx context.Context, in *GetEntityIDsParam, opts ...grpc.CallOption) (*EntityIds, error) + //* + // @brief This method is used to query vector in collection. + // + // @param SearchParam, search parameters. + // + // @return KQueryResult + Search(ctx context.Context, in *SearchParam, opts ...grpc.CallOption) (*QueryResult, error) + //* + // @brief This method is used to query vector in specified files. + // + // @param SearchInSegmentParam, target segments to search. + // + // @return TopKQueryResult + SearchInSegment(ctx context.Context, in *SearchInSegmentParam, opts ...grpc.CallOption) (*QueryResult, error) + //* + // @brief This method is used to give the server status. + // + // @param Command, command string + // + // @return StringReply + Cmd(ctx context.Context, in *Command, opts ...grpc.CallOption) (*StringReply, error) + //* + // @brief This method is used to delete vector by id + // + // @param DeleteByIDParam, delete parameters. + // + // @return status + DeleteByID(ctx context.Context, in *DeleteByIDParam, opts ...grpc.CallOption) (*Status, error) + //* + // @brief This method is used to preload collection + // + // @param CollectionName, target collection name. + // + // @return Status + PreloadCollection(ctx context.Context, in *CollectionName, opts ...grpc.CallOption) (*Status, error) + //* + // @brief This method is used to flush buffer into storage. + // + // @param FlushParam, flush parameters + // + // @return Status + Flush(ctx context.Context, in *FlushParam, opts ...grpc.CallOption) (*Status, error) + //* + // @brief This method is used to compact collection + // + // @param CompactParam, compact parameters + // + // @return Status + Compact(ctx context.Context, in *CompactParam, opts ...grpc.CallOption) (*Status, error) + SearchPB(ctx context.Context, in *SearchParamPB, opts ...grpc.CallOption) (*QueryResult, error) +} + +type milvusServiceClient struct { + cc *grpc.ClientConn +} + +func NewMilvusServiceClient(cc *grpc.ClientConn) MilvusServiceClient { + return &milvusServiceClient{cc} +} + +func (c *milvusServiceClient) CreateCollection(ctx context.Context, in *Mapping, opts ...grpc.CallOption) (*Status, error) { + out := new(Status) + err := c.cc.Invoke(ctx, "/milvus.grpc.MilvusService/CreateCollection", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *milvusServiceClient) HasCollection(ctx context.Context, in *CollectionName, opts ...grpc.CallOption) (*BoolReply, error) { + out := new(BoolReply) + err := c.cc.Invoke(ctx, "/milvus.grpc.MilvusService/HasCollection", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *milvusServiceClient) DescribeCollection(ctx context.Context, in *CollectionName, opts ...grpc.CallOption) (*Mapping, error) { + out := new(Mapping) + err := c.cc.Invoke(ctx, "/milvus.grpc.MilvusService/DescribeCollection", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *milvusServiceClient) CountCollection(ctx context.Context, in *CollectionName, opts ...grpc.CallOption) (*CollectionRowCount, error) { + out := new(CollectionRowCount) + err := c.cc.Invoke(ctx, "/milvus.grpc.MilvusService/CountCollection", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *milvusServiceClient) ShowCollections(ctx context.Context, in *Command, opts ...grpc.CallOption) (*CollectionNameList, error) { + out := new(CollectionNameList) + err := c.cc.Invoke(ctx, "/milvus.grpc.MilvusService/ShowCollections", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *milvusServiceClient) ShowCollectionInfo(ctx context.Context, in *CollectionName, opts ...grpc.CallOption) (*CollectionInfo, error) { + out := new(CollectionInfo) + err := c.cc.Invoke(ctx, "/milvus.grpc.MilvusService/ShowCollectionInfo", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *milvusServiceClient) DropCollection(ctx context.Context, in *CollectionName, opts ...grpc.CallOption) (*Status, error) { + out := new(Status) + err := c.cc.Invoke(ctx, "/milvus.grpc.MilvusService/DropCollection", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *milvusServiceClient) CreateIndex(ctx context.Context, in *IndexParam, opts ...grpc.CallOption) (*Status, error) { + out := new(Status) + err := c.cc.Invoke(ctx, "/milvus.grpc.MilvusService/CreateIndex", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *milvusServiceClient) DescribeIndex(ctx context.Context, in *IndexParam, opts ...grpc.CallOption) (*IndexParam, error) { + out := new(IndexParam) + err := c.cc.Invoke(ctx, "/milvus.grpc.MilvusService/DescribeIndex", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *milvusServiceClient) DropIndex(ctx context.Context, in *IndexParam, opts ...grpc.CallOption) (*Status, error) { + out := new(Status) + err := c.cc.Invoke(ctx, "/milvus.grpc.MilvusService/DropIndex", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *milvusServiceClient) CreatePartition(ctx context.Context, in *PartitionParam, opts ...grpc.CallOption) (*Status, error) { + out := new(Status) + err := c.cc.Invoke(ctx, "/milvus.grpc.MilvusService/CreatePartition", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *milvusServiceClient) HasPartition(ctx context.Context, in *PartitionParam, opts ...grpc.CallOption) (*BoolReply, error) { + out := new(BoolReply) + err := c.cc.Invoke(ctx, "/milvus.grpc.MilvusService/HasPartition", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *milvusServiceClient) ShowPartitions(ctx context.Context, in *CollectionName, opts ...grpc.CallOption) (*PartitionList, error) { + out := new(PartitionList) + err := c.cc.Invoke(ctx, "/milvus.grpc.MilvusService/ShowPartitions", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *milvusServiceClient) DropPartition(ctx context.Context, in *PartitionParam, opts ...grpc.CallOption) (*Status, error) { + out := new(Status) + err := c.cc.Invoke(ctx, "/milvus.grpc.MilvusService/DropPartition", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *milvusServiceClient) Insert(ctx context.Context, in *InsertParam, opts ...grpc.CallOption) (*EntityIds, error) { + out := new(EntityIds) + err := c.cc.Invoke(ctx, "/milvus.grpc.MilvusService/Insert", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *milvusServiceClient) GetEntityByID(ctx context.Context, in *EntityIdentity, opts ...grpc.CallOption) (*Entities, error) { + out := new(Entities) + err := c.cc.Invoke(ctx, "/milvus.grpc.MilvusService/GetEntityByID", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *milvusServiceClient) GetEntityIDs(ctx context.Context, in *GetEntityIDsParam, opts ...grpc.CallOption) (*EntityIds, error) { + out := new(EntityIds) + err := c.cc.Invoke(ctx, "/milvus.grpc.MilvusService/GetEntityIDs", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *milvusServiceClient) Search(ctx context.Context, in *SearchParam, opts ...grpc.CallOption) (*QueryResult, error) { + out := new(QueryResult) + err := c.cc.Invoke(ctx, "/milvus.grpc.MilvusService/Search", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *milvusServiceClient) SearchInSegment(ctx context.Context, in *SearchInSegmentParam, opts ...grpc.CallOption) (*QueryResult, error) { + out := new(QueryResult) + err := c.cc.Invoke(ctx, "/milvus.grpc.MilvusService/SearchInSegment", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *milvusServiceClient) Cmd(ctx context.Context, in *Command, opts ...grpc.CallOption) (*StringReply, error) { + out := new(StringReply) + err := c.cc.Invoke(ctx, "/milvus.grpc.MilvusService/Cmd", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *milvusServiceClient) DeleteByID(ctx context.Context, in *DeleteByIDParam, opts ...grpc.CallOption) (*Status, error) { + out := new(Status) + err := c.cc.Invoke(ctx, "/milvus.grpc.MilvusService/DeleteByID", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *milvusServiceClient) PreloadCollection(ctx context.Context, in *CollectionName, opts ...grpc.CallOption) (*Status, error) { + out := new(Status) + err := c.cc.Invoke(ctx, "/milvus.grpc.MilvusService/PreloadCollection", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *milvusServiceClient) Flush(ctx context.Context, in *FlushParam, opts ...grpc.CallOption) (*Status, error) { + out := new(Status) + err := c.cc.Invoke(ctx, "/milvus.grpc.MilvusService/Flush", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *milvusServiceClient) Compact(ctx context.Context, in *CompactParam, opts ...grpc.CallOption) (*Status, error) { + out := new(Status) + err := c.cc.Invoke(ctx, "/milvus.grpc.MilvusService/Compact", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *milvusServiceClient) SearchPB(ctx context.Context, in *SearchParamPB, opts ...grpc.CallOption) (*QueryResult, error) { + out := new(QueryResult) + err := c.cc.Invoke(ctx, "/milvus.grpc.MilvusService/SearchPB", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// MilvusServiceServer is the server API for MilvusService service. +type MilvusServiceServer interface { + //* + // @brief This method is used to create collection + // + // @param CollectionSchema, use to provide collection information to be created. + // + // @return Status + CreateCollection(context.Context, *Mapping) (*Status, error) + //* + // @brief This method is used to test collection existence. + // + // @param CollectionName, collection name is going to be tested. + // + // @return BoolReply + HasCollection(context.Context, *CollectionName) (*BoolReply, error) + //* + // @brief This method is used to get collection schema. + // + // @param CollectionName, target collection name. + // + // @return CollectionSchema + DescribeCollection(context.Context, *CollectionName) (*Mapping, error) + //* + // @brief This method is used to get collection schema. + // + // @param CollectionName, target collection name. + // + // @return CollectionRowCount + CountCollection(context.Context, *CollectionName) (*CollectionRowCount, error) + //* + // @brief This method is used to list all collections. + // + // @param Command, dummy parameter. + // + // @return CollectionNameList + ShowCollections(context.Context, *Command) (*CollectionNameList, error) + //* + // @brief This method is used to get collection detail information. + // + // @param CollectionName, target collection name. + // + // @return CollectionInfo + ShowCollectionInfo(context.Context, *CollectionName) (*CollectionInfo, error) + //* + // @brief This method is used to delete collection. + // + // @param CollectionName, collection name is going to be deleted. + // + // @return Status + DropCollection(context.Context, *CollectionName) (*Status, error) + //* + // @brief This method is used to build index by collection in sync mode. + // + // @param IndexParam, index paramters. + // + // @return Status + CreateIndex(context.Context, *IndexParam) (*Status, error) + //* + // @brief This method is used to describe index + // + // @param IndexParam, target index. + // + // @return IndexParam + DescribeIndex(context.Context, *IndexParam) (*IndexParam, error) + //* + // @brief This method is used to drop index + // + // @param IndexParam, target field. if the IndexParam.field_name is empty, will drop all index of the collection + // + // @return Status + DropIndex(context.Context, *IndexParam) (*Status, error) + //* + // @brief This method is used to create partition + // + // @param PartitionParam, partition parameters. + // + // @return Status + CreatePartition(context.Context, *PartitionParam) (*Status, error) + //* + // @brief This method is used to test partition existence. + // + // @param PartitionParam, target partition. + // + // @return BoolReply + HasPartition(context.Context, *PartitionParam) (*BoolReply, error) + //* + // @brief This method is used to show partition information + // + // @param CollectionName, target collection name. + // + // @return PartitionList + ShowPartitions(context.Context, *CollectionName) (*PartitionList, error) + //* + // @brief This method is used to drop partition + // + // @param PartitionParam, target partition. + // + // @return Status + DropPartition(context.Context, *PartitionParam) (*Status, error) + //* + // @brief This method is used to add vector array to collection. + // + // @param InsertParam, insert parameters. + // + // @return VectorIds + Insert(context.Context, *InsertParam) (*EntityIds, error) + //* + // @brief This method is used to get entities data by id array. + // + // @param EntitiesIdentity, target entity id array. + // + // @return EntitiesData + GetEntityByID(context.Context, *EntityIdentity) (*Entities, error) + //* + // @brief This method is used to get vector ids from a segment + // + // @param GetVectorIDsParam, target collection and segment + // + // @return VectorIds + GetEntityIDs(context.Context, *GetEntityIDsParam) (*EntityIds, error) + //* + // @brief This method is used to query vector in collection. + // + // @param SearchParam, search parameters. + // + // @return KQueryResult + Search(context.Context, *SearchParam) (*QueryResult, error) + //* + // @brief This method is used to query vector in specified files. + // + // @param SearchInSegmentParam, target segments to search. + // + // @return TopKQueryResult + SearchInSegment(context.Context, *SearchInSegmentParam) (*QueryResult, error) + //* + // @brief This method is used to give the server status. + // + // @param Command, command string + // + // @return StringReply + Cmd(context.Context, *Command) (*StringReply, error) + //* + // @brief This method is used to delete vector by id + // + // @param DeleteByIDParam, delete parameters. + // + // @return status + DeleteByID(context.Context, *DeleteByIDParam) (*Status, error) + //* + // @brief This method is used to preload collection + // + // @param CollectionName, target collection name. + // + // @return Status + PreloadCollection(context.Context, *CollectionName) (*Status, error) + //* + // @brief This method is used to flush buffer into storage. + // + // @param FlushParam, flush parameters + // + // @return Status + Flush(context.Context, *FlushParam) (*Status, error) + //* + // @brief This method is used to compact collection + // + // @param CompactParam, compact parameters + // + // @return Status + Compact(context.Context, *CompactParam) (*Status, error) + SearchPB(context.Context, *SearchParamPB) (*QueryResult, error) +} + +// UnimplementedMilvusServiceServer can be embedded to have forward compatible implementations. +type UnimplementedMilvusServiceServer struct { +} + +func (*UnimplementedMilvusServiceServer) CreateCollection(ctx context.Context, req *Mapping) (*Status, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateCollection not implemented") +} +func (*UnimplementedMilvusServiceServer) HasCollection(ctx context.Context, req *CollectionName) (*BoolReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method HasCollection not implemented") +} +func (*UnimplementedMilvusServiceServer) DescribeCollection(ctx context.Context, req *CollectionName) (*Mapping, error) { + return nil, status.Errorf(codes.Unimplemented, "method DescribeCollection not implemented") +} +func (*UnimplementedMilvusServiceServer) CountCollection(ctx context.Context, req *CollectionName) (*CollectionRowCount, error) { + return nil, status.Errorf(codes.Unimplemented, "method CountCollection not implemented") +} +func (*UnimplementedMilvusServiceServer) ShowCollections(ctx context.Context, req *Command) (*CollectionNameList, error) { + return nil, status.Errorf(codes.Unimplemented, "method ShowCollections not implemented") +} +func (*UnimplementedMilvusServiceServer) ShowCollectionInfo(ctx context.Context, req *CollectionName) (*CollectionInfo, error) { + return nil, status.Errorf(codes.Unimplemented, "method ShowCollectionInfo not implemented") +} +func (*UnimplementedMilvusServiceServer) DropCollection(ctx context.Context, req *CollectionName) (*Status, error) { + return nil, status.Errorf(codes.Unimplemented, "method DropCollection not implemented") +} +func (*UnimplementedMilvusServiceServer) CreateIndex(ctx context.Context, req *IndexParam) (*Status, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateIndex not implemented") +} +func (*UnimplementedMilvusServiceServer) DescribeIndex(ctx context.Context, req *IndexParam) (*IndexParam, error) { + return nil, status.Errorf(codes.Unimplemented, "method DescribeIndex not implemented") +} +func (*UnimplementedMilvusServiceServer) DropIndex(ctx context.Context, req *IndexParam) (*Status, error) { + return nil, status.Errorf(codes.Unimplemented, "method DropIndex not implemented") +} +func (*UnimplementedMilvusServiceServer) CreatePartition(ctx context.Context, req *PartitionParam) (*Status, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreatePartition not implemented") +} +func (*UnimplementedMilvusServiceServer) HasPartition(ctx context.Context, req *PartitionParam) (*BoolReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method HasPartition not implemented") +} +func (*UnimplementedMilvusServiceServer) ShowPartitions(ctx context.Context, req *CollectionName) (*PartitionList, error) { + return nil, status.Errorf(codes.Unimplemented, "method ShowPartitions not implemented") +} +func (*UnimplementedMilvusServiceServer) DropPartition(ctx context.Context, req *PartitionParam) (*Status, error) { + return nil, status.Errorf(codes.Unimplemented, "method DropPartition not implemented") +} +func (*UnimplementedMilvusServiceServer) Insert(ctx context.Context, req *InsertParam) (*EntityIds, error) { + return nil, status.Errorf(codes.Unimplemented, "method Insert not implemented") +} +func (*UnimplementedMilvusServiceServer) GetEntityByID(ctx context.Context, req *EntityIdentity) (*Entities, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetEntityByID not implemented") +} +func (*UnimplementedMilvusServiceServer) GetEntityIDs(ctx context.Context, req *GetEntityIDsParam) (*EntityIds, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetEntityIDs not implemented") +} +func (*UnimplementedMilvusServiceServer) Search(ctx context.Context, req *SearchParam) (*QueryResult, error) { + return nil, status.Errorf(codes.Unimplemented, "method Search not implemented") +} +func (*UnimplementedMilvusServiceServer) SearchInSegment(ctx context.Context, req *SearchInSegmentParam) (*QueryResult, error) { + return nil, status.Errorf(codes.Unimplemented, "method SearchInSegment not implemented") +} +func (*UnimplementedMilvusServiceServer) Cmd(ctx context.Context, req *Command) (*StringReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method Cmd not implemented") +} +func (*UnimplementedMilvusServiceServer) DeleteByID(ctx context.Context, req *DeleteByIDParam) (*Status, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteByID not implemented") +} +func (*UnimplementedMilvusServiceServer) PreloadCollection(ctx context.Context, req *CollectionName) (*Status, error) { + return nil, status.Errorf(codes.Unimplemented, "method PreloadCollection not implemented") +} +func (*UnimplementedMilvusServiceServer) Flush(ctx context.Context, req *FlushParam) (*Status, error) { + return nil, status.Errorf(codes.Unimplemented, "method Flush not implemented") +} +func (*UnimplementedMilvusServiceServer) Compact(ctx context.Context, req *CompactParam) (*Status, error) { + return nil, status.Errorf(codes.Unimplemented, "method Compact not implemented") +} +func (*UnimplementedMilvusServiceServer) SearchPB(ctx context.Context, req *SearchParamPB) (*QueryResult, error) { + return nil, status.Errorf(codes.Unimplemented, "method SearchPB not implemented") +} + +func RegisterMilvusServiceServer(s *grpc.Server, srv MilvusServiceServer) { + s.RegisterService(&_MilvusService_serviceDesc, srv) +} + +func _MilvusService_CreateCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(Mapping) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MilvusServiceServer).CreateCollection(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.grpc.MilvusService/CreateCollection", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MilvusServiceServer).CreateCollection(ctx, req.(*Mapping)) + } + return interceptor(ctx, in, info, handler) +} + +func _MilvusService_HasCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CollectionName) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MilvusServiceServer).HasCollection(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.grpc.MilvusService/HasCollection", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MilvusServiceServer).HasCollection(ctx, req.(*CollectionName)) + } + return interceptor(ctx, in, info, handler) +} + +func _MilvusService_DescribeCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CollectionName) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MilvusServiceServer).DescribeCollection(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.grpc.MilvusService/DescribeCollection", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MilvusServiceServer).DescribeCollection(ctx, req.(*CollectionName)) + } + return interceptor(ctx, in, info, handler) +} + +func _MilvusService_CountCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CollectionName) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MilvusServiceServer).CountCollection(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.grpc.MilvusService/CountCollection", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MilvusServiceServer).CountCollection(ctx, req.(*CollectionName)) + } + return interceptor(ctx, in, info, handler) +} + +func _MilvusService_ShowCollections_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(Command) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MilvusServiceServer).ShowCollections(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.grpc.MilvusService/ShowCollections", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MilvusServiceServer).ShowCollections(ctx, req.(*Command)) + } + return interceptor(ctx, in, info, handler) +} + +func _MilvusService_ShowCollectionInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CollectionName) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MilvusServiceServer).ShowCollectionInfo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.grpc.MilvusService/ShowCollectionInfo", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MilvusServiceServer).ShowCollectionInfo(ctx, req.(*CollectionName)) + } + return interceptor(ctx, in, info, handler) +} + +func _MilvusService_DropCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CollectionName) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MilvusServiceServer).DropCollection(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.grpc.MilvusService/DropCollection", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MilvusServiceServer).DropCollection(ctx, req.(*CollectionName)) + } + return interceptor(ctx, in, info, handler) +} + +func _MilvusService_CreateIndex_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(IndexParam) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MilvusServiceServer).CreateIndex(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.grpc.MilvusService/CreateIndex", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MilvusServiceServer).CreateIndex(ctx, req.(*IndexParam)) + } + return interceptor(ctx, in, info, handler) +} + +func _MilvusService_DescribeIndex_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(IndexParam) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MilvusServiceServer).DescribeIndex(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.grpc.MilvusService/DescribeIndex", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MilvusServiceServer).DescribeIndex(ctx, req.(*IndexParam)) + } + return interceptor(ctx, in, info, handler) +} + +func _MilvusService_DropIndex_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(IndexParam) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MilvusServiceServer).DropIndex(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.grpc.MilvusService/DropIndex", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MilvusServiceServer).DropIndex(ctx, req.(*IndexParam)) + } + return interceptor(ctx, in, info, handler) +} + +func _MilvusService_CreatePartition_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PartitionParam) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MilvusServiceServer).CreatePartition(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.grpc.MilvusService/CreatePartition", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MilvusServiceServer).CreatePartition(ctx, req.(*PartitionParam)) + } + return interceptor(ctx, in, info, handler) +} + +func _MilvusService_HasPartition_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PartitionParam) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MilvusServiceServer).HasPartition(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.grpc.MilvusService/HasPartition", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MilvusServiceServer).HasPartition(ctx, req.(*PartitionParam)) + } + return interceptor(ctx, in, info, handler) +} + +func _MilvusService_ShowPartitions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CollectionName) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MilvusServiceServer).ShowPartitions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.grpc.MilvusService/ShowPartitions", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MilvusServiceServer).ShowPartitions(ctx, req.(*CollectionName)) + } + return interceptor(ctx, in, info, handler) +} + +func _MilvusService_DropPartition_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PartitionParam) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MilvusServiceServer).DropPartition(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.grpc.MilvusService/DropPartition", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MilvusServiceServer).DropPartition(ctx, req.(*PartitionParam)) + } + return interceptor(ctx, in, info, handler) +} + +func _MilvusService_Insert_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(InsertParam) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MilvusServiceServer).Insert(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.grpc.MilvusService/Insert", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MilvusServiceServer).Insert(ctx, req.(*InsertParam)) + } + return interceptor(ctx, in, info, handler) +} + +func _MilvusService_GetEntityByID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EntityIdentity) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MilvusServiceServer).GetEntityByID(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.grpc.MilvusService/GetEntityByID", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MilvusServiceServer).GetEntityByID(ctx, req.(*EntityIdentity)) + } + return interceptor(ctx, in, info, handler) +} + +func _MilvusService_GetEntityIDs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetEntityIDsParam) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MilvusServiceServer).GetEntityIDs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.grpc.MilvusService/GetEntityIDs", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MilvusServiceServer).GetEntityIDs(ctx, req.(*GetEntityIDsParam)) + } + return interceptor(ctx, in, info, handler) +} + +func _MilvusService_Search_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SearchParam) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MilvusServiceServer).Search(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.grpc.MilvusService/Search", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MilvusServiceServer).Search(ctx, req.(*SearchParam)) + } + return interceptor(ctx, in, info, handler) +} + +func _MilvusService_SearchInSegment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SearchInSegmentParam) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MilvusServiceServer).SearchInSegment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.grpc.MilvusService/SearchInSegment", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MilvusServiceServer).SearchInSegment(ctx, req.(*SearchInSegmentParam)) + } + return interceptor(ctx, in, info, handler) +} + +func _MilvusService_Cmd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(Command) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MilvusServiceServer).Cmd(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.grpc.MilvusService/Cmd", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MilvusServiceServer).Cmd(ctx, req.(*Command)) + } + return interceptor(ctx, in, info, handler) +} + +func _MilvusService_DeleteByID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteByIDParam) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MilvusServiceServer).DeleteByID(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.grpc.MilvusService/DeleteByID", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MilvusServiceServer).DeleteByID(ctx, req.(*DeleteByIDParam)) + } + return interceptor(ctx, in, info, handler) +} + +func _MilvusService_PreloadCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CollectionName) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MilvusServiceServer).PreloadCollection(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.grpc.MilvusService/PreloadCollection", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MilvusServiceServer).PreloadCollection(ctx, req.(*CollectionName)) + } + return interceptor(ctx, in, info, handler) +} + +func _MilvusService_Flush_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(FlushParam) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MilvusServiceServer).Flush(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.grpc.MilvusService/Flush", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MilvusServiceServer).Flush(ctx, req.(*FlushParam)) + } + return interceptor(ctx, in, info, handler) +} + +func _MilvusService_Compact_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CompactParam) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MilvusServiceServer).Compact(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.grpc.MilvusService/Compact", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MilvusServiceServer).Compact(ctx, req.(*CompactParam)) + } + return interceptor(ctx, in, info, handler) +} + +func _MilvusService_SearchPB_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SearchParamPB) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MilvusServiceServer).SearchPB(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.grpc.MilvusService/SearchPB", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MilvusServiceServer).SearchPB(ctx, req.(*SearchParamPB)) + } + return interceptor(ctx, in, info, handler) +} + +var _MilvusService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "milvus.grpc.MilvusService", + HandlerType: (*MilvusServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateCollection", + Handler: _MilvusService_CreateCollection_Handler, + }, + { + MethodName: "HasCollection", + Handler: _MilvusService_HasCollection_Handler, + }, + { + MethodName: "DescribeCollection", + Handler: _MilvusService_DescribeCollection_Handler, + }, + { + MethodName: "CountCollection", + Handler: _MilvusService_CountCollection_Handler, + }, + { + MethodName: "ShowCollections", + Handler: _MilvusService_ShowCollections_Handler, + }, + { + MethodName: "ShowCollectionInfo", + Handler: _MilvusService_ShowCollectionInfo_Handler, + }, + { + MethodName: "DropCollection", + Handler: _MilvusService_DropCollection_Handler, + }, + { + MethodName: "CreateIndex", + Handler: _MilvusService_CreateIndex_Handler, + }, + { + MethodName: "DescribeIndex", + Handler: _MilvusService_DescribeIndex_Handler, + }, + { + MethodName: "DropIndex", + Handler: _MilvusService_DropIndex_Handler, + }, + { + MethodName: "CreatePartition", + Handler: _MilvusService_CreatePartition_Handler, + }, + { + MethodName: "HasPartition", + Handler: _MilvusService_HasPartition_Handler, + }, + { + MethodName: "ShowPartitions", + Handler: _MilvusService_ShowPartitions_Handler, + }, + { + MethodName: "DropPartition", + Handler: _MilvusService_DropPartition_Handler, + }, + { + MethodName: "Insert", + Handler: _MilvusService_Insert_Handler, + }, + { + MethodName: "GetEntityByID", + Handler: _MilvusService_GetEntityByID_Handler, + }, + { + MethodName: "GetEntityIDs", + Handler: _MilvusService_GetEntityIDs_Handler, + }, + { + MethodName: "Search", + Handler: _MilvusService_Search_Handler, + }, + { + MethodName: "SearchInSegment", + Handler: _MilvusService_SearchInSegment_Handler, + }, + { + MethodName: "Cmd", + Handler: _MilvusService_Cmd_Handler, + }, + { + MethodName: "DeleteByID", + Handler: _MilvusService_DeleteByID_Handler, + }, + { + MethodName: "PreloadCollection", + Handler: _MilvusService_PreloadCollection_Handler, + }, + { + MethodName: "Flush", + Handler: _MilvusService_Flush_Handler, + }, + { + MethodName: "Compact", + Handler: _MilvusService_Compact_Handler, + }, + { + MethodName: "SearchPB", + Handler: _MilvusService_SearchPB_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "pkg/master/grpc/message/message.proto", } diff --git a/pkg/master/grpc/message/message.proto b/pkg/master/grpc/message/message.proto new file mode 100644 index 0000000000..4bea26acc5 --- /dev/null +++ b/pkg/master/grpc/message/message.proto @@ -0,0 +1,715 @@ +syntax = "proto3"; + +package milvus.grpc; +option go_package="github.com/czs007/suvlim/pkg/master/grpc/message"; + +enum ErrorCode { + SUCCESS = 0; + UNEXPECTED_ERROR = 1; + CONNECT_FAILED = 2; + PERMISSION_DENIED = 3; + COLLECTION_NOT_EXISTS = 4; + ILLEGAL_ARGUMENT = 5; + ILLEGAL_DIMENSION = 7; + ILLEGAL_INDEX_TYPE = 8; + ILLEGAL_COLLECTION_NAME = 9; + ILLEGAL_TOPK = 10; + ILLEGAL_ROWRECORD = 11; + ILLEGAL_VECTOR_ID = 12; + ILLEGAL_SEARCH_RESULT = 13; + FILE_NOT_FOUND = 14; + META_FAILED = 15; + CACHE_FAILED = 16; + CANNOT_CREATE_FOLDER = 17; + CANNOT_CREATE_FILE = 18; + CANNOT_DELETE_FOLDER = 19; + CANNOT_DELETE_FILE = 20; + BUILD_INDEX_ERROR = 21; + ILLEGAL_NLIST = 22; + ILLEGAL_METRIC_TYPE = 23; + OUT_OF_MEMORY = 24; +} + +message Status { + ErrorCode error_code = 1; + string reason = 2; +} + +/** + * @brief Field data type + */ +enum DataType { + NONE = 0; + BOOL = 1; + INT8 = 2; + INT16 = 3; + INT32 = 4; + INT64 = 5; + + FLOAT = 10; + DOUBLE = 11; + + STRING = 20; + + VECTOR_BINARY = 100; + VECTOR_FLOAT = 101; +} + +/** + * @brief General usage + */ +message KeyValuePair { + string key = 1; + string value = 2; +} + +/** + * @brief Collection name + */ +message CollectionName { + string collection_name = 1; +} + +/** + * @brief Collection name list + */ +message CollectionNameList { + Status status = 1; + repeated string collection_names = 2; +} + +/** + * @brief Field name + */ +message FieldName { + string collection_name = 1; + string field_name = 2; +} + +/** + * @brief Collection mapping + * @extra_params: key-value pair for extra parameters of the collection + * typically usage: + * extra_params["params"] = {segment_row_count: 1000000, auto_id: true} + * Note: + * the segment_row_count specify segment row count limit for merging + * the auto_id = true means entity id is auto-generated by milvus + */ +message Mapping { + Status status = 1; + string collection_name = 2; + Schema schema = 3; + repeated KeyValuePair extra_params = 4; +} + +/** + * @brief Collection mapping list + */ +message MappingList { + Status status = 1; + repeated Mapping mapping_list = 2; +} + +/** + * @brief Parameters of partition + */ +message PartitionParam { + string collection_name = 1; + string tag = 2; +} + +/** + * @brief Partition list + */ +message PartitionList { + Status status = 1; + repeated string partition_tag_array = 2; +} + +/** + * @brief Vector row record + */ +message VectorRowRecord { + repeated float float_data = 1; //float vector data + bytes binary_data = 2; //binary vector data +} + +message EntityIds { + Status status = 1; + repeated int64 entity_id_array = 2; +} + +message VectorRecord { + repeated VectorRowRecord records = 1; +} + +message VectorParam { + string json = 1; + VectorRecord row_record = 2; +} + +//////////////////////////row schema and data/////////////////////////////////// +/** + * @brief schema + */ +message FieldMeta { + string field_name = 1; + DataType type = 2; + int64 dim = 3; +} + +message Schema { + repeated FieldMeta field_metas = 1; +} + +message RowData { + bytes blob = 1; +} + +//////////////////////suvlim-proxy/////////////////////////////////// +message InsertParam { + string collection_name = 1; + Schema schema = 2; + repeated RowData rows_data = 3; + repeated int64 entity_id_array = 4; //optional + string partition_tag = 5; + repeated KeyValuePair extra_params = 6; +} + +message SearchParam { + string collection_name = 1; + repeated VectorParam vector_param = 2; + string dsl = 3; //optional + repeated string partition_tag = 4; //why + repeated KeyValuePair extra_params = 5; +} + +message SearchInSegmentParam { + repeated string file_id_array = 1; + SearchParam search_param = 2; +} + +message Entities { + Status status = 1; + repeated int64 ids = 2; + repeated bool valid_row = 3; + repeated RowData rows_data = 4; +} + + +///////////////////////////milvus-server/////////////////////////// +/** + * @brief Query result + */ +message QueryResult { + Status status = 1; + Entities entities = 2; + int64 row_num = 3; + repeated float scores = 4; + repeated float distances = 5; + repeated KeyValuePair extra_params = 6; + int64 query_id = 7; + int64 client_id = 8; +} + +/** + * @brief Server string Reply + */ +message StringReply { + Status status = 1; + string string_reply = 2; +} + +/** + * @brief Server bool Reply + */ +message BoolReply { + Status status = 1; + bool bool_reply = 2; +} + +/** + * @brief Return collection row count + */ +message CollectionRowCount { + Status status = 1; + int64 collection_row_count = 2; +} + +/** + * @brief Server command parameters + */ +message Command { + string cmd = 1; +} + +/** + * @brief Index params + * @collection_name: target collection + * @field_name: target field + * @index_name: a name for index provided by user, unique within this field + * @extra_params: index parameters in json format + * for vector field: + * extra_params["index_type"] = one of the values: FLAT, IVF_LAT, IVF_SQ8, NSGMIX, IVFSQ8H, + * PQ, HNSW, HNSW_SQ8NM, ANNOY + * extra_params["metric_type"] = one of the values: L2, IP, HAMMING, JACCARD, TANIMOTO + * SUBSTRUCTURE, SUPERSTRUCTURE + * extra_params["params"] = extra parameters for index, for example ivflat: {nlist: 2048} + * for structured field: + * extra_params["index_type"] = one of the values: SORTED + */ +message IndexParam { + Status status = 1; + string collection_name = 2; + string field_name = 3; + string index_name = 4; + repeated KeyValuePair extra_params = 5; +} + +/** + * @brief Parameters for flush action + */ +message FlushParam { + repeated string collection_name_array = 1; +} + +/** + * @brief Parameters for flush action + */ +message CompactParam { + string collection_name = 1; + double threshold = 2; +} + +/** + * @brief Parameters for deleting entities by id + */ +message DeleteByIDParam { + string collection_name = 1; + repeated int64 id_array = 2; +} + +/** + * @brief Return collection stats + * @json_info: collection stats in json format, typically, the format is like: + * { + * row_count: xxx, + * data_size: xxx, + * partitions: [ + * { + * tag: xxx, + * id: xxx, + * row_count: xxx, + * data_size: xxx, + * segments: [ + * { + * id: xxx, + * row_count: xxx, + * data_size: xxx, + * files: [ + * { + * field: xxx, + * name: xxx, + * index_type: xxx, + * path: xxx, + * data_size: xxx, + * } + * ] + * } + * ] + * } + * ] + * } + */ +message CollectionInfo { + Status status = 1; + string json_info = 2; +} + +/** + * @brief Parameters for returning entities id of a segment + */ +message GetEntityIDsParam { + string collection_name = 1; + int64 segment_id = 2; +} + +/** + * @brief Entities identity + */ +message EntityIdentity { + string collection_name = 1; + repeated int64 id_array = 2; + repeated string field_names = 3; +} + +/********************************************SearchPB interface***************************************************/ +/** + * @brief Vector field parameters + */ +message VectorFieldParam { + int64 dimension = 1; +} + +/** + * @brief Field type + */ +message FieldType { + oneof value { + DataType data_type = 1; + VectorFieldParam vector_param = 2; + } +} + +/** + * @brief Field parameters + */ +message FieldParam { + uint64 id = 1; + string name = 2; + DataType type = 3; + repeated KeyValuePair index_params = 4; + repeated KeyValuePair extra_params = 5; +} + +/** + * @brief Vector field record + */ +message VectorFieldRecord { + repeated VectorRowRecord value = 1; +} + +/////////////////////////////////////////////////////////////////// + +message TermQuery { + string field_name = 1; + repeated int64 int_value = 2; + repeated double double_value = 3; + int64 value_num = 4; + float boost = 5; + repeated KeyValuePair extra_params = 6; +} + +enum CompareOperator { + LT = 0; + LTE = 1; + EQ = 2; + GT = 3; + GTE = 4; + NE = 5; +} + +message CompareExpr { + CompareOperator operator = 1; + string operand = 2; +} + +message RangeQuery { + string field_name = 1; + repeated CompareExpr operand = 2; + float boost = 3; + repeated KeyValuePair extra_params = 4; +} + +message VectorQuery { + string field_name = 1; + float query_boost = 2; + repeated VectorRowRecord records = 3; + int64 topk = 4; + repeated KeyValuePair extra_params = 5; +} + +enum Occur { + INVALID = 0; + MUST = 1; + SHOULD = 2; + MUST_NOT = 3; +} + +message BooleanQuery { + Occur occur = 1; + repeated GeneralQuery general_query = 2; +} + +message GeneralQuery { + oneof query { + BooleanQuery boolean_query = 1; + TermQuery term_query = 2; + RangeQuery range_query = 3; + VectorQuery vector_query = 4; + } +} + +message SearchParamPB { + string collection_name = 1; + repeated string partition_tag_array = 2; + GeneralQuery general_query = 3; + repeated KeyValuePair extra_params = 4; +} + +service MilvusService { + /** + * @brief This method is used to create collection + * + * @param CollectionSchema, use to provide collection information to be created. + * + * @return Status + */ + rpc CreateCollection(Mapping) returns (Status){} + + /** + * @brief This method is used to test collection existence. + * + * @param CollectionName, collection name is going to be tested. + * + * @return BoolReply + */ + rpc HasCollection(CollectionName) returns (BoolReply) {} + + /** + * @brief This method is used to get collection schema. + * + * @param CollectionName, target collection name. + * + * @return CollectionSchema + */ + rpc DescribeCollection(CollectionName) returns (Mapping) {} + + /** + * @brief This method is used to get collection schema. + * + * @param CollectionName, target collection name. + * + * @return CollectionRowCount + */ + rpc CountCollection(CollectionName) returns (CollectionRowCount) {} + + /** + * @brief This method is used to list all collections. + * + * @param Command, dummy parameter. + * + * @return CollectionNameList + */ + rpc ShowCollections(Command) returns (CollectionNameList) {} + + /** + * @brief This method is used to get collection detail information. + * + * @param CollectionName, target collection name. + * + * @return CollectionInfo + */ + rpc ShowCollectionInfo(CollectionName) returns (CollectionInfo) {} + + /** + * @brief This method is used to delete collection. + * + * @param CollectionName, collection name is going to be deleted. + * + * @return Status + */ + rpc DropCollection(CollectionName) returns (Status) {} + + /** + * @brief This method is used to build index by collection in sync mode. + * + * @param IndexParam, index paramters. + * + * @return Status + */ + rpc CreateIndex(IndexParam) returns (Status) {} + + /** + * @brief This method is used to describe index + * + * @param IndexParam, target index. + * + * @return IndexParam + */ + rpc DescribeIndex(IndexParam) returns (IndexParam) {} + + /** + * @brief This method is used to drop index + * + * @param IndexParam, target field. if the IndexParam.field_name is empty, will drop all index of the collection + * + * @return Status + */ + rpc DropIndex(IndexParam) returns (Status) {} + + /** + * @brief This method is used to create partition + * + * @param PartitionParam, partition parameters. + * + * @return Status + */ + rpc CreatePartition(PartitionParam) returns (Status) {} + + /** + * @brief This method is used to test partition existence. + * + * @param PartitionParam, target partition. + * + * @return BoolReply + */ + rpc HasPartition(PartitionParam) returns (BoolReply) {} + + /** + * @brief This method is used to show partition information + * + * @param CollectionName, target collection name. + * + * @return PartitionList + */ + rpc ShowPartitions(CollectionName) returns (PartitionList) {} + + /** + * @brief This method is used to drop partition + * + * @param PartitionParam, target partition. + * + * @return Status + */ + rpc DropPartition(PartitionParam) returns (Status) {} + + /** + * @brief This method is used to add vector array to collection. + * + * @param InsertParam, insert parameters. + * + * @return VectorIds + */ + rpc Insert(InsertParam) returns (EntityIds) {} + + /** + * @brief This method is used to get entities data by id array. + * + * @param EntitiesIdentity, target entity id array. + * + * @return EntitiesData + */ + rpc GetEntityByID(EntityIdentity) returns (Entities) {} + + /** + * @brief This method is used to get vector ids from a segment + * + * @param GetVectorIDsParam, target collection and segment + * + * @return VectorIds + */ + rpc GetEntityIDs(GetEntityIDsParam) returns (EntityIds) {} + + /** + * @brief This method is used to query vector in collection. + * + * @param SearchParam, search parameters. + * + * @return KQueryResult + */ + rpc Search(SearchParam) returns (QueryResult) {} + + /** + * @brief This method is used to query vector in specified files. + * + * @param SearchInSegmentParam, target segments to search. + * + * @return TopKQueryResult + */ + rpc SearchInSegment(SearchInSegmentParam) returns (QueryResult) {} + + /** + * @brief This method is used to give the server status. + * + * @param Command, command string + * + * @return StringReply + */ + rpc Cmd(Command) returns (StringReply) {} + + /** + * @brief This method is used to delete vector by id + * + * @param DeleteByIDParam, delete parameters. + * + * @return status + */ + rpc DeleteByID(DeleteByIDParam) returns (Status) {} + + /** + * @brief This method is used to preload collection + * + * @param CollectionName, target collection name. + * + * @return Status + */ + rpc PreloadCollection(CollectionName) returns (Status) {} + + /** + * @brief This method is used to flush buffer into storage. + * + * @param FlushParam, flush parameters + * + * @return Status + */ + rpc Flush(FlushParam) returns (Status) {} + + /** + * @brief This method is used to compact collection + * + * @param CompactParam, compact parameters + * + * @return Status + */ + rpc Compact(CompactParam) returns (Status) {} + + /********************************New Interface********************************************/ + + rpc SearchPB(SearchParamPB) returns (QueryResult) {} +} + +////////////////////pulsar////////////////////////////////////// +enum OpType { + INSERT = 0; + DELETE = 1; +} + +message InsertOrDeleteMsg { + string collection_name = 1; + RowData rows_data = 2; + int64 uid = 3; //optional + string partition_tag = 4; + uint64 timestamp =5; + int64 segment_id = 6; + int64 channel_id = 7; + OpType op = 8; + int64 client_id = 9; + repeated KeyValuePair extra_params = 10; +} + +message SearchMsg { + string collection_name = 1; + VectorRowRecord records = 2; + string partition_tag = 3; + int64 uid = 4; + uint64 timestamp =5; + int64 client_id = 6; + repeated KeyValuePair extra_params = 7; +} + +enum SyncType { + READ = 0; + WRITE = 1; +} +message TimeSyncMsg{ + int64 peer_Id = 1; + uint64 Timestamp = 2; + SyncType sync_type = 3; +} + +message Key2SegMsg { + int64 uid = 1; + uint64 timestamp = 2; + repeated int64 segment_id = 3; +} diff --git a/pkg/master/mock/grpc_client.go b/pkg/master/mock/grpc_client.go index 579b170315..3412241214 100644 --- a/pkg/master/mock/grpc_client.go +++ b/pkg/master/mock/grpc_client.go @@ -5,7 +5,8 @@ import ( "log" "time" - pb "github.com/czs007/suvlim/pkg/master/grpc" + pb "github.com/czs007/suvlim/pkg/master/grpc/master" + msgpb "github.com/czs007/suvlim/pkg/master/grpc/message" "google.golang.org/grpc" ) @@ -49,11 +50,14 @@ func FakeCreateCollectionByGRPC() (string, uint64) { defer cancel() - r, err := c.CreateCollection(ctx, &pb.CreateCollectionRequest{CollectionName: "grpc-client-test"}) + r, err := c.CreateCollection(ctx, &msgpb.Mapping{ + CollectionName: "test-collection", + }) if err != nil { log.Fatalf("could not greet: %v", err) } - log.Printf("CreateCollection: %s, id: %d", r.GetCollectionName(), r.GetCollectionId()) - return r.GetCollectionName(), r.GetCollectionId() + // log.Printf("CreateCollection: %s, id: %d", r.GetCollectionName(), r.GetCollectionId()) + // return r.GetCollectionName(), r.GetCollectionId() + return r.GetReason(), 0 } diff --git a/pkg/master/mock/grpc_client_test.go b/pkg/master/mock/grpc_client_test.go index 4ba4385f18..a4d015a514 100644 --- a/pkg/master/mock/grpc_client_test.go +++ b/pkg/master/mock/grpc_client_test.go @@ -6,9 +6,9 @@ import ( ) func TestFakeCreateCollectionByGRPC(t *testing.T) { - collectionName, segmentID := FakeCreateCollectionByGRPC() - if collectionName != "grpc-client-test" { - t.Error("Collection name wrong") + reason, segmentID := FakeCreateCollectionByGRPC() + if reason != "" { + t.Error(reason) } fmt.Println(collectionName) fmt.Println(segmentID) diff --git a/pkg/master/server.go b/pkg/master/server.go index c659748a44..7e0c257648 100644 --- a/pkg/master/server.go +++ b/pkg/master/server.go @@ -9,7 +9,8 @@ import ( "time" "github.com/czs007/suvlim/pkg/master/common" - pb "github.com/czs007/suvlim/pkg/master/grpc" + pb "github.com/czs007/suvlim/pkg/master/grpc/master" + messagepb "github.com/czs007/suvlim/pkg/master/grpc/message" "github.com/czs007/suvlim/pkg/master/informer" "github.com/czs007/suvlim/pkg/master/kv" "github.com/czs007/suvlim/pkg/master/mock" @@ -90,12 +91,19 @@ func GRPCServer() error { type GRPCMasterServer struct{} -func (ms GRPCMasterServer) CreateCollection(ctx context.Context, in *pb.CreateCollectionRequest) (*pb.CreateCollectionResponse, error) { - return &pb.CreateCollectionResponse{ - CollectionName: in.CollectionName, +func (ms GRPCMasterServer) CreateCollection(ctx context.Context, in *messagepb.Mapping) (*messagepb.Status, error) { + return &messagepb.Status{ + ErrorCode: 0, + Reason: "", }, nil } +// func (ms GRPCMasterServer) CreateCollection(ctx context.Context, in *pb.CreateCollectionRequest) (*pb.CreateCollectionResponse, error) { +// return &pb.CreateCollectionResponse{ +// CollectionName: in.CollectionName, +// }, nil +// } + func CollectionController() { cli, _ := clientv3.New(clientv3.Config{ Endpoints: []string{"127.0.0.1:12379"}, diff --git a/proto/master.proto b/proto/master.proto new file mode 100644 index 0000000000..542b1153e8 --- /dev/null +++ b/proto/master.proto @@ -0,0 +1,36 @@ +syntax = "proto3"; + +package masterpb; + +option go_package="master"; + +import "message.proto"; + +message Collection { + uint64 id=1; + string name=2; + milvus.grpc.Schema schema=3; + uint64 create_time=4; + repeated uint64 segment_ids=5; + repeated string partition_tags=6; +} + +message Segment { + uint64 segment_id=1; + uint64 collection_id =2; + string partition_tag=3; + int32 channel_start=4; + int32 channel_end=5; + uint64 open_timestamp=6; + uint64 close_timestamp=7; +} + +message SegmentStat { + uint64 segment_id=1; + uint64 memory_size=2; + float memory_rate=3; +} + +service Master { + rpc CreateCollection(milvus.grpc.Mapping) returns (milvus.grpc.Status){} +} \ No newline at end of file