From 407e6f592001be741092ce5773feda5523f1a72d Mon Sep 17 00:00:00 2001 From: Yusuke Kato Date: Thu, 15 Jun 2023 11:28:16 +0900 Subject: [PATCH] [bugfix] disable vtproto pooling due to the performance degradation (#2063) Signed-off-by: kpango --- Makefile.d/functions.mk | 23 +- apis/docs/v1/docs.md | 40 +- apis/grpc/v1/agent/core/agent_vtproto.pb.go | 6 +- .../v1/discoverer/discoverer_vtproto.pb.go | 8 +- .../filter/egress/egress_filter_vtproto.pb.go | 8 +- .../ingress/ingress_filter_vtproto.pb.go | 8 +- .../manager/index/index_manager_vtproto.pb.go | 2 +- apis/grpc/v1/payload/payload.pb.go | 752 +- apis/grpc/v1/payload/payload_vtproto.pb.go | 7903 +++++++++-------- apis/grpc/v1/vald/filter_vtproto.pb.go | 40 +- apis/grpc/v1/vald/insert_vtproto.pb.go | 10 +- apis/grpc/v1/vald/object_vtproto.pb.go | 10 +- apis/grpc/v1/vald/remove_vtproto.pb.go | 10 +- apis/grpc/v1/vald/search_vtproto.pb.go | 52 +- apis/grpc/v1/vald/update_vtproto.pb.go | 10 +- apis/grpc/v1/vald/upsert_vtproto.pb.go | 10 +- apis/proto/v1/agent/sidecar/sidecar.proto | 3 +- apis/proto/v1/payload/payload.proto | 88 +- apis/proto/v1/vald/search.proto | 9 +- .../apis/proto/v1/vald/filter.swagger.json | 4 +- .../apis/proto/v1/vald/search.swagger.json | 4 +- .../apis/proto/v1/vald/update.swagger.json | 2 +- .../apis/proto/v1/vald/upsert.swagger.json | 2 +- example/client/go.mod | 13 +- example/client/go.sum | 25 +- go.mod | 90 +- go.sum | 139 +- .../singleflight/singleflight_bench_test.go | 16 +- internal/net/grpc/client.go | 13 +- internal/net/grpc/client_test.go | 32 +- internal/net/grpc/codec.go | 34 +- internal/singleflight/singleflight.go | 20 +- internal/singleflight/singleflight_test.go | 124 +- pkg/agent/core/ngt/service/ngt_test.go | 1036 ++- pkg/discoverer/k8s/handler/grpc/handler.go | 70 +- .../k8s/handler/grpc/handler_test.go | 36 +- versions/TELEPRESENCE_VERSION | 2 +- versions/VALDCLI_VERSION | 2 +- 38 files changed, 5862 insertions(+), 4794 deletions(-) diff --git a/Makefile.d/functions.mk b/Makefile.d/functions.mk index da7e905f35..22ef63bb95 100644 --- a/Makefile.d/functions.mk +++ b/Makefile.d/functions.mk @@ -33,19 +33,20 @@ define proto-code-gen $(PROTO_PATHS:%=-I %) \ --go_out=$(GOPATH)/src --plugin protoc-gen-go="$(GOPATH)/bin/protoc-gen-go" \ --go-vtproto_out=$(GOPATH)/src --plugin protoc-gen-go-vtproto="$(GOPATH)/bin/protoc-gen-go-vtproto" \ - --go-vtproto_opt=pool=$(ROOTDIR)/apis/proto/v1/payload.Insert.MultiRequest \ - --go-vtproto_opt=pool=$(ROOTDIR)/apis/proto/v1/payload.Insert.Request \ - --go-vtproto_opt=pool=$(ROOTDIR)/apis/proto/v1/payload.Object.Vector \ - --go-vtproto_opt=pool=$(ROOTDIR)/apis/proto/v1/payload.Object.Vectors \ - --go-vtproto_opt=pool=$(ROOTDIR)/apis/proto/v1/payload.Search.ObjectRequest \ - --go-vtproto_opt=pool=$(ROOTDIR)/apis/proto/v1/payload.Search.Request \ - --go-vtproto_opt=pool=$(ROOTDIR)/apis/proto/v1/payload.Update.MultiRequest \ - --go-vtproto_opt=pool=$(ROOTDIR)/apis/proto/v1/payload.Update.Request \ - --go-vtproto_opt=pool=$(ROOTDIR)/apis/proto/v1/payload.Upsert.MultiRequest \ - --go-vtproto_opt=pool=$(ROOTDIR)/apis/proto/v1/payload.Upsert.Request \ - --go-vtproto_opt=features=pool+grpc+marshal+unmarshal+size+equal \ + --go-vtproto_opt=features=grpc+marshal+unmarshal+size+equal+clone \ $1 endef + # --go-vtproto_opt=pool=$(ROOTDIR)/apis/proto/v1/payload.Object.Vector \ + # --go-vtproto_opt=pool=$(ROOTDIR)/apis/proto/v1/payload.Insert.MultiRequest \ + # --go-vtproto_opt=pool=$(ROOTDIR)/apis/proto/v1/payload.Insert.Request \ + # --go-vtproto_opt=pool=$(ROOTDIR)/apis/proto/v1/payload.Object.Vector \ + # --go-vtproto_opt=pool=$(ROOTDIR)/apis/proto/v1/payload.Object.Vectors \ + # --go-vtproto_opt=pool=$(ROOTDIR)/apis/proto/v1/payload.Search.ObjectRequest \ + # --go-vtproto_opt=pool=$(ROOTDIR)/apis/proto/v1/payload.Search.Request \ + # --go-vtproto_opt=pool=$(ROOTDIR)/apis/proto/v1/payload.Update.MultiRequest \ + # --go-vtproto_opt=pool=$(ROOTDIR)/apis/proto/v1/payload.Update.Request \ + # --go-vtproto_opt=pool=$(ROOTDIR)/apis/proto/v1/payload.Upsert.MultiRequest \ + # --go-vtproto_opt=pool=$(ROOTDIR)/apis/proto/v1/payload.Upsert.Request \ define protoc-gen protoc \ diff --git a/apis/docs/v1/docs.md b/apis/docs/v1/docs.md index 003eb20ea0..f8714aee2b 100644 --- a/apis/docs/v1/docs.md +++ b/apis/docs/v1/docs.md @@ -90,8 +90,6 @@ - [Search.AggregationAlgorithm](#payload-v1-Search-AggregationAlgorithm) -- [apis/proto/v1/vald/upsert.proto](#apis_proto_v1_vald_upsert-proto) - - [Upsert](#vald-v1-Upsert) - [apis/proto/v1/vald/filter.proto](#apis_proto_v1_vald_filter-proto) - [Filter](#vald-v1-Filter) - [apis/proto/v1/vald/insert.proto](#apis_proto_v1_vald_insert-proto) @@ -104,6 +102,8 @@ - [Search](#vald-v1-Search) - [apis/proto/v1/vald/update.proto](#apis_proto_v1_vald_update-proto) - [Update](#vald-v1-Update) +- [apis/proto/v1/vald/upsert.proto](#apis_proto_v1_vald_upsert-proto) + - [Upsert](#vald-v1-Upsert) - [Scalar Value Types](#scalar-value-types) @@ -930,24 +930,6 @@ AggregationAlgorithm is enum of each aggregation algorithms | SortPoolSlice | 3 | | | PairingHeap | 4 | | - - -

Top

- -## apis/proto/v1/vald/upsert.proto - - - -### Upsert - -Upsert service provides ways to insert/update vectors. - -| Method Name | Request Type | Response Type | Description | -| ------------ | ------------------------------------------------------------------ | ----------------------------------------------------------------------------- | ---------------------------------------------------------------------- | -| Upsert | [.payload.v1.Upsert.Request](#payload-v1-Upsert-Request) | [.payload.v1.Object.Location](#payload-v1-Object-Location) | A method to insert/update a vector. | -| StreamUpsert | [.payload.v1.Upsert.Request](#payload-v1-Upsert-Request) stream | [.payload.v1.Object.StreamLocation](#payload-v1-Object-StreamLocation) stream | A method to insert/update multiple vectors by bidirectional streaming. | -| MultiUpsert | [.payload.v1.Upsert.MultiRequest](#payload-v1-Upsert-MultiRequest) | [.payload.v1.Object.Locations](#payload-v1-Object-Locations) | A method to insert/update multiple vectors in a single request. | -

Top

@@ -1074,6 +1056,24 @@ Update service provides ways to update indexed vectors. | StreamUpdate | [.payload.v1.Update.Request](#payload-v1-Update-Request) stream | [.payload.v1.Object.StreamLocation](#payload-v1-Object-StreamLocation) stream | A method to update multiple indexed vectors by bidirectional streaming. | | MultiUpdate | [.payload.v1.Update.MultiRequest](#payload-v1-Update-MultiRequest) | [.payload.v1.Object.Locations](#payload-v1-Object-Locations) | A method to update multiple indexed vectors in a single request. | + + +

Top

+ +## apis/proto/v1/vald/upsert.proto + + + +### Upsert + +Upsert service provides ways to insert/update vectors. + +| Method Name | Request Type | Response Type | Description | +| ------------ | ------------------------------------------------------------------ | ----------------------------------------------------------------------------- | ---------------------------------------------------------------------- | +| Upsert | [.payload.v1.Upsert.Request](#payload-v1-Upsert-Request) | [.payload.v1.Object.Location](#payload-v1-Object-Location) | A method to insert/update a vector. | +| StreamUpsert | [.payload.v1.Upsert.Request](#payload-v1-Upsert-Request) stream | [.payload.v1.Object.StreamLocation](#payload-v1-Object-StreamLocation) stream | A method to insert/update multiple vectors by bidirectional streaming. | +| MultiUpsert | [.payload.v1.Upsert.MultiRequest](#payload-v1-Upsert-MultiRequest) | [.payload.v1.Object.Locations](#payload-v1-Object-Locations) | A method to insert/update multiple vectors in a single request. | + ## Scalar Value Types | .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby | diff --git a/apis/grpc/v1/agent/core/agent_vtproto.pb.go b/apis/grpc/v1/agent/core/agent_vtproto.pb.go index 409c9c5e33..fbeea7d23e 100644 --- a/apis/grpc/v1/agent/core/agent_vtproto.pb.go +++ b/apis/grpc/v1/agent/core/agent_vtproto.pb.go @@ -88,7 +88,7 @@ func (c *agentClient) CreateAndSaveIndex(ctx context.Context, in *payload.Contro } func (c *agentClient) IndexInfo(ctx context.Context, in *payload.Empty, opts ...grpc.CallOption) (*payload.Info_Index_Count, error) { - out := payload.Info_Index_CountFromVTPool() + out := new(payload.Info_Index_Count) err := c.cc.Invoke(ctx, "/core.v1.Agent/IndexInfo", in, out, opts...) if err != nil { return nil, err @@ -141,7 +141,7 @@ func RegisterAgentServer(s grpc.ServiceRegistrar, srv AgentServer) { } func _Agent_CreateIndex_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Control_CreateIndexRequestFromVTPool() + in := new(payload.Control_CreateIndexRequest) if err := dec(in); err != nil { return nil, err } @@ -177,7 +177,7 @@ func _Agent_SaveIndex_Handler(srv interface{}, ctx context.Context, dec func(int } func _Agent_CreateAndSaveIndex_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Control_CreateIndexRequestFromVTPool() + in := new(payload.Control_CreateIndexRequest) if err := dec(in); err != nil { return nil, err } diff --git a/apis/grpc/v1/discoverer/discoverer_vtproto.pb.go b/apis/grpc/v1/discoverer/discoverer_vtproto.pb.go index 26f3c782f2..d532d067b1 100644 --- a/apis/grpc/v1/discoverer/discoverer_vtproto.pb.go +++ b/apis/grpc/v1/discoverer/discoverer_vtproto.pb.go @@ -57,7 +57,7 @@ func NewDiscovererClient(cc grpc.ClientConnInterface) DiscovererClient { } func (c *discovererClient) Pods(ctx context.Context, in *payload.Discoverer_Request, opts ...grpc.CallOption) (*payload.Info_Pods, error) { - out := payload.Info_PodsFromVTPool() + out := new(payload.Info_Pods) err := c.cc.Invoke(ctx, "/discoverer.v1.Discoverer/Pods", in, out, opts...) if err != nil { return nil, err @@ -66,7 +66,7 @@ func (c *discovererClient) Pods(ctx context.Context, in *payload.Discoverer_Requ } func (c *discovererClient) Nodes(ctx context.Context, in *payload.Discoverer_Request, opts ...grpc.CallOption) (*payload.Info_Nodes, error) { - out := payload.Info_NodesFromVTPool() + out := new(payload.Info_Nodes) err := c.cc.Invoke(ctx, "/discoverer.v1.Discoverer/Nodes", in, out, opts...) if err != nil { return nil, err @@ -109,7 +109,7 @@ func RegisterDiscovererServer(s grpc.ServiceRegistrar, srv DiscovererServer) { } func _Discoverer_Pods_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Discoverer_RequestFromVTPool() + in := new(payload.Discoverer_Request) if err := dec(in); err != nil { return nil, err } @@ -127,7 +127,7 @@ func _Discoverer_Pods_Handler(srv interface{}, ctx context.Context, dec func(int } func _Discoverer_Nodes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Discoverer_RequestFromVTPool() + in := new(payload.Discoverer_Request) if err := dec(in); err != nil { return nil, err } diff --git a/apis/grpc/v1/filter/egress/egress_filter_vtproto.pb.go b/apis/grpc/v1/filter/egress/egress_filter_vtproto.pb.go index 6349605050..f97bc49247 100644 --- a/apis/grpc/v1/filter/egress/egress_filter_vtproto.pb.go +++ b/apis/grpc/v1/filter/egress/egress_filter_vtproto.pb.go @@ -57,7 +57,7 @@ func NewFilterClient(cc grpc.ClientConnInterface) FilterClient { } func (c *filterClient) FilterDistance(ctx context.Context, in *payload.Object_Distance, opts ...grpc.CallOption) (*payload.Object_Distance, error) { - out := payload.Object_DistanceFromVTPool() + out := new(payload.Object_Distance) err := c.cc.Invoke(ctx, "/filter.egress.v1.Filter/FilterDistance", in, out, opts...) if err != nil { return nil, err @@ -66,7 +66,7 @@ func (c *filterClient) FilterDistance(ctx context.Context, in *payload.Object_Di } func (c *filterClient) FilterVector(ctx context.Context, in *payload.Object_Vector, opts ...grpc.CallOption) (*payload.Object_Vector, error) { - out := payload.Object_VectorFromVTPool() + out := new(payload.Object_Vector) err := c.cc.Invoke(ctx, "/filter.egress.v1.Filter/FilterVector", in, out, opts...) if err != nil { return nil, err @@ -109,7 +109,7 @@ func RegisterFilterServer(s grpc.ServiceRegistrar, srv FilterServer) { } func _Filter_FilterDistance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Object_DistanceFromVTPool() + in := new(payload.Object_Distance) if err := dec(in); err != nil { return nil, err } @@ -127,7 +127,7 @@ func _Filter_FilterDistance_Handler(srv interface{}, ctx context.Context, dec fu } func _Filter_FilterVector_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Object_VectorFromVTPool() + in := new(payload.Object_Vector) if err := dec(in); err != nil { return nil, err } diff --git a/apis/grpc/v1/filter/ingress/ingress_filter_vtproto.pb.go b/apis/grpc/v1/filter/ingress/ingress_filter_vtproto.pb.go index 876770e0a5..0f249a2096 100644 --- a/apis/grpc/v1/filter/ingress/ingress_filter_vtproto.pb.go +++ b/apis/grpc/v1/filter/ingress/ingress_filter_vtproto.pb.go @@ -57,7 +57,7 @@ func NewFilterClient(cc grpc.ClientConnInterface) FilterClient { } func (c *filterClient) GenVector(ctx context.Context, in *payload.Object_Blob, opts ...grpc.CallOption) (*payload.Object_Vector, error) { - out := payload.Object_VectorFromVTPool() + out := new(payload.Object_Vector) err := c.cc.Invoke(ctx, "/filter.ingress.v1.Filter/GenVector", in, out, opts...) if err != nil { return nil, err @@ -66,7 +66,7 @@ func (c *filterClient) GenVector(ctx context.Context, in *payload.Object_Blob, o } func (c *filterClient) FilterVector(ctx context.Context, in *payload.Object_Vector, opts ...grpc.CallOption) (*payload.Object_Vector, error) { - out := payload.Object_VectorFromVTPool() + out := new(payload.Object_Vector) err := c.cc.Invoke(ctx, "/filter.ingress.v1.Filter/FilterVector", in, out, opts...) if err != nil { return nil, err @@ -109,7 +109,7 @@ func RegisterFilterServer(s grpc.ServiceRegistrar, srv FilterServer) { } func _Filter_GenVector_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Object_BlobFromVTPool() + in := new(payload.Object_Blob) if err := dec(in); err != nil { return nil, err } @@ -127,7 +127,7 @@ func _Filter_GenVector_Handler(srv interface{}, ctx context.Context, dec func(in } func _Filter_FilterVector_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Object_VectorFromVTPool() + in := new(payload.Object_Vector) if err := dec(in); err != nil { return nil, err } diff --git a/apis/grpc/v1/manager/index/index_manager_vtproto.pb.go b/apis/grpc/v1/manager/index/index_manager_vtproto.pb.go index 38545c8d0b..219ea820f6 100644 --- a/apis/grpc/v1/manager/index/index_manager_vtproto.pb.go +++ b/apis/grpc/v1/manager/index/index_manager_vtproto.pb.go @@ -55,7 +55,7 @@ func NewIndexClient(cc grpc.ClientConnInterface) IndexClient { } func (c *indexClient) IndexInfo(ctx context.Context, in *payload.Empty, opts ...grpc.CallOption) (*payload.Info_Index_Count, error) { - out := payload.Info_Index_CountFromVTPool() + out := new(payload.Info_Index_Count) err := c.cc.Invoke(ctx, "/manager.index.v1.Index/IndexInfo", in, out, opts...) if err != nil { return nil, err diff --git a/apis/grpc/v1/payload/payload.pb.go b/apis/grpc/v1/payload/payload.pb.go index 9c43f10c6f..daaa7a7144 100644 --- a/apis/grpc/v1/payload/payload.pb.go +++ b/apis/grpc/v1/payload/payload.pb.go @@ -27,7 +27,6 @@ import ( sync "sync" _ "github.com/envoyproxy/protoc-gen-validate/validate" - _ "github.com/planetscale/vtprotobuf/vtproto" status "google.golang.org/genproto/googleapis/rpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" @@ -1799,7 +1798,8 @@ type Update_Config struct { Filters *Filter_Config `protobuf:"bytes,2,opt,name=filters,proto3" json:"filters,omitempty"` // Update timestamp. Timestamp int64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - // A flag to disable balanced update (split remove -> insert operation) during update operation. + // A flag to disable balanced update (split remove -> insert operation) + // during update operation. DisableBalancedUpdate bool `protobuf:"varint,4,opt,name=disable_balanced_update,json=disableBalancedUpdate,proto3" json:"disable_balanced_update,omitempty"` } @@ -2098,7 +2098,8 @@ type Upsert_Config struct { Filters *Filter_Config `protobuf:"bytes,2,opt,name=filters,proto3" json:"filters,omitempty"` // Upsert timestamp. Timestamp int64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - // A flag to disable balanced update (split remove -> insert operation) during update operation. + // A flag to disable balanced update (split remove -> insert operation) + // during update operation. DisableBalancedUpdate bool `protobuf:"varint,4,opt,name=disable_balanced_update,json=disableBalancedUpdate,proto3" json:"disable_balanced_update,omitempty"` } @@ -4068,423 +4069,394 @@ var file_apis_proto_v1_payload_payload_proto_rawDesc = []byte{ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, - 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x5d, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x74, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2f, 0x76, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x73, 0x63, 0x61, 0x6c, 0x65, - 0x2f, 0x76, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x74, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa9, 0x0b, - 0x0a, 0x06, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x1a, 0x64, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x02, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x06, 0x76, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x1a, 0x4c, - 0x0a, 0x0c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, - 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x1a, 0x54, 0x0a, 0x09, - 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x04, 0xa8, 0xa6, - 0x1f, 0x01, 0x1a, 0x50, 0x0a, 0x0e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x49, 0x44, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x49, 0x44, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x3a, 0x04, - 0xa8, 0xa6, 0x1f, 0x01, 0x1a, 0x9b, 0x01, 0x0a, 0x0d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x31, + 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xed, + 0x0a, 0x0a, 0x06, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x1a, 0x5e, 0x0a, 0x07, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x02, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x06, + 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x46, 0x0a, 0x0c, 0x4d, 0x75, 0x6c, + 0x74, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x73, 0x1a, 0x4e, 0x0a, 0x09, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x39, 0x0a, 0x0a, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x72, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, - 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x52, 0x0a, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x72, 0x3a, 0x04, 0xa8, 0xa6, - 0x1f, 0x01, 0x1a, 0x58, 0x0a, 0x12, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x1a, 0x9a, 0x03, 0x0a, - 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x03, 0x6e, 0x75, - 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x06, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x70, 0x73, - 0x69, 0x6c, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x65, 0x70, 0x73, 0x69, - 0x6c, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x42, 0x0a, - 0x0f, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x67, 0x1a, 0x4a, 0x0a, 0x0e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0x95, 0x01, + 0x0a, 0x0d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0a, 0x76, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x0a, 0x76, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x69, 0x7a, 0x65, 0x72, 0x1a, 0x52, 0x0a, 0x12, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x08, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0x94, 0x03, 0x0a, 0x06, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x01, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x16, + 0x0a, 0x06, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, + 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x70, 0x73, 0x69, 0x6c, 0x6f, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x65, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, + 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x42, 0x0a, 0x0f, 0x69, 0x6e, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, + 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, + 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x40, + 0x0a, 0x0e, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x0e, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x73, 0x12, 0x40, 0x0a, 0x0e, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x73, 0x12, 0x20, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x00, 0x52, 0x06, 0x6d, - 0x69, 0x6e, 0x4e, 0x75, 0x6d, 0x12, 0x5c, 0x0a, 0x15, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x14, 0x61, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, - 0x74, 0x68, 0x6d, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x1a, 0x66, 0x0a, 0x08, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, - 0x01, 0x1a, 0x4c, 0x0a, 0x09, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x39, - 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x1a, - 0x84, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x70, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x6b, 0x0a, 0x14, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x0b, - 0x0a, 0x07, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x43, - 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x10, 0x01, - 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x6f, 0x72, 0x74, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x10, 0x02, 0x12, - 0x11, 0x0a, 0x0d, 0x53, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x6c, 0x69, 0x63, 0x65, - 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x61, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x61, - 0x70, 0x10, 0x04, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x22, 0x8b, 0x01, 0x0a, 0x06, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x1a, 0x36, 0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, - 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x1a, 0x43, 0x0a, 0x06, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x52, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, - 0x01, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x22, 0x89, 0x05, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, - 0x72, 0x74, 0x1a, 0x7f, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, - 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, - 0x08, 0x02, 0x52, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, + 0x67, 0x52, 0x0d, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, + 0x12, 0x20, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x00, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x4e, + 0x75, 0x6d, 0x12, 0x5c, 0x0a, 0x15, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x27, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x14, 0x61, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, + 0x1a, 0x60, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x07, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x2e, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x1a, 0x46, 0x0a, 0x09, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x12, + 0x39, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, + 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x1a, 0x84, 0x01, 0x0a, 0x0e, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x08, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x22, 0x6b, 0x0a, 0x14, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x6e, 0x6b, + 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, + 0x6f, 0x72, 0x74, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x6f, + 0x72, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x10, 0x03, 0x12, 0x0f, 0x0a, + 0x0b, 0x50, 0x61, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x61, 0x70, 0x10, 0x04, 0x22, 0x79, + 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x1a, 0x30, 0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x3d, 0x0a, 0x06, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, + 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x52, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x22, 0xe5, 0x04, 0x0a, 0x06, 0x49, 0x6e, + 0x73, 0x65, 0x72, 0x74, 0x1a, 0x79, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x3b, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, + 0x01, 0x02, 0x08, 0x02, 0x52, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x06, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, + 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, + 0x46, 0x0a, 0x0c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x36, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, + 0x6e, 0x73, 0x65, 0x72, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0xae, 0x01, 0x0a, 0x0d, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x06, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x42, 0x6c, + 0x6f, 0x62, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x2e, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x04, 0xa8, - 0xa6, 0x1f, 0x01, 0x1a, 0x4c, 0x0a, 0x0c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, - 0x01, 0x1a, 0xb4, 0x01, 0x0a, 0x0d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, - 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x06, 0x6f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, - 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0a, 0x76, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x69, 0x7a, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, - 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, - 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x0a, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x7a, - 0x65, 0x72, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x1a, 0x58, 0x0a, 0x12, 0x4d, 0x75, 0x6c, 0x74, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, + 0x0a, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x0a, 0x76, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x72, 0x1a, 0x52, 0x0a, 0x12, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x3a, 0x04, 0xa8, 0xa6, - 0x1f, 0x01, 0x1a, 0x98, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x35, 0x0a, - 0x17, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x65, 0x78, 0x69, - 0x73, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, - 0x73, 0x6b, 0x69, 0x70, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x12, 0x33, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, - 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x3a, 0x04, 0xa8, - 0xa6, 0x1f, 0x01, 0x22, 0xc1, 0x05, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0x7f, - 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x76, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x56, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x06, - 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x1a, - 0x4c, 0x0a, 0x0c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x36, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x1a, 0xb4, 0x01, - 0x0a, 0x0d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x2f, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x2e, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0a, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x7a, 0x65, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x52, 0x0a, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x72, 0x3a, 0x04, - 0xa8, 0xa6, 0x1f, 0x01, 0x1a, 0x58, 0x0a, 0x12, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x08, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x1a, 0xd0, - 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x35, 0x0a, 0x17, 0x73, 0x6b, 0x69, - 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x5f, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x6b, 0x69, 0x70, - 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, - 0x12, 0x33, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x46, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, - 0x01, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x22, 0xc1, 0x05, 0x0a, 0x06, 0x55, 0x70, 0x73, 0x65, - 0x72, 0x74, 0x1a, 0x7f, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, - 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, - 0x08, 0x02, 0x52, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x2e, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x04, 0xa8, - 0xa6, 0x1f, 0x01, 0x1a, 0x4c, 0x0a, 0x0c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, - 0x01, 0x1a, 0xb4, 0x01, 0x0a, 0x0d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, - 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x06, 0x6f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, + 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0x92, 0x01, 0x0a, + 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x35, 0x0a, 0x17, 0x73, 0x6b, 0x69, 0x70, 0x5f, + 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x6b, 0x69, 0x70, 0x53, 0x74, + 0x72, 0x69, 0x63, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x33, + 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x22, 0x9d, 0x05, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0x79, 0x0a, 0x07, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x56, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x06, 0x76, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, + 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x46, 0x0a, 0x0c, 0x4d, 0x75, 0x6c, 0x74, 0x69, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, + 0xae, 0x01, 0x0a, 0x0d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x2f, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0a, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, + 0x7a, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x52, 0x0a, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x72, + 0x1a, 0x52, 0x0a, 0x12, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x73, 0x1a, 0xca, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x35, 0x0a, 0x17, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x65, + 0x78, 0x69, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x14, 0x73, 0x6b, 0x69, 0x70, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, 0x45, 0x78, 0x69, 0x73, + 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x33, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x64, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x22, 0x9d, 0x05, 0x0a, 0x06, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x1a, 0x79, 0x0a, 0x07, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x56, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x06, 0x76, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0a, 0x76, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x69, 0x7a, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, - 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, - 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x0a, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x7a, - 0x65, 0x72, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x1a, 0x58, 0x0a, 0x12, 0x4d, 0x75, 0x6c, 0x74, - 0x69, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, - 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, - 0x73, 0x65, 0x72, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x3a, 0x04, 0xa8, 0xa6, - 0x1f, 0x01, 0x1a, 0xd0, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x35, 0x0a, - 0x17, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x65, 0x78, 0x69, - 0x73, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, - 0x73, 0x6b, 0x69, 0x70, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x12, 0x33, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, - 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x69, 0x73, 0x61, 0x62, - 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x3a, - 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x22, 0xac, 0x02, 0x0a, 0x06, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x69, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x25, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, - 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x2e, 0x49, 0x44, 0x52, 0x02, 0x69, 0x64, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x2e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, - 0x01, 0x1a, 0x4c, 0x0a, 0x0c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x46, 0x0a, 0x0c, 0x4d, 0x75, 0x6c, 0x74, 0x69, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x2e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, + 0xae, 0x01, 0x0a, 0x0d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x2f, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, + 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0a, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, + 0x7a, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x52, 0x0a, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x72, + 0x1a, 0x52, 0x0a, 0x12, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x2e, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x73, 0x1a, 0xca, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x35, 0x0a, 0x17, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x65, + 0x78, 0x69, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x14, 0x73, 0x6b, 0x69, 0x70, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, 0x45, 0x78, 0x69, 0x73, + 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x33, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x64, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x22, 0x94, 0x02, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x63, 0x0a, 0x07, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x49, 0x44, 0x52, 0x02, 0x69, 0x64, 0x12, 0x31, + 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x1a, 0x46, 0x0a, 0x0c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, - 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x1a, - 0x63, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x35, 0x0a, 0x17, 0x73, 0x6b, 0x69, - 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x5f, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x6b, 0x69, 0x70, - 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, - 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x3a, 0x04, - 0xa8, 0xa6, 0x1f, 0x01, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x22, 0xbe, 0x09, 0x0a, 0x06, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x7b, 0x0a, 0x0d, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x49, 0x44, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, - 0x02, 0x08, 0x02, 0x52, 0x02, 0x69, 0x64, 0x12, 0x33, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x3a, 0x04, 0xa8, 0xa6, - 0x1f, 0x01, 0x1a, 0x3c, 0x0a, 0x08, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, - 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, - 0x1a, 0x84, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x48, 0x00, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2c, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x09, 0x0a, 0x07, - 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x23, 0x0a, 0x02, 0x49, 0x44, 0x12, 0x17, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, - 0x10, 0x01, 0x52, 0x02, 0x69, 0x64, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x1a, 0x1d, 0x0a, 0x03, - 0x49, 0x44, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x03, 0x69, 0x64, 0x73, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x1a, 0x49, 0x0a, 0x06, 0x56, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, - 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x02, 0x42, 0x08, - 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x1a, 0x44, 0x0a, 0x07, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0x5d, 0x0a, 0x06, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x35, 0x0a, 0x17, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, + 0x63, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x6b, 0x69, 0x70, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, + 0x45, 0x78, 0x69, 0x73, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xfc, 0x08, 0x0a, 0x06, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x1a, 0x75, 0x0a, 0x0d, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x49, 0x44, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, + 0x02, 0x52, 0x02, 0x69, 0x64, 0x12, 0x33, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x36, 0x0a, 0x08, 0x44, 0x69, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x1a, 0x84, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x69, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x09, + 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x1d, 0x0a, 0x02, 0x49, 0x44, 0x12, + 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, + 0x72, 0x02, 0x10, 0x01, 0x52, 0x02, 0x69, 0x64, 0x1a, 0x17, 0x0a, 0x03, 0x49, 0x44, 0x73, 0x12, + 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, + 0x73, 0x1a, 0x43, 0x0a, 0x06, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x17, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x02, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x06, + 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x1a, 0x3e, 0x0a, 0x07, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x33, 0x0a, 0x07, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x07, 0x76, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x1a, 0x7c, 0x0a, 0x0c, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x33, 0x0a, 0x06, - 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, - 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x43, 0x0a, 0x0d, 0x52, 0x65, - 0x73, 0x68, 0x61, 0x70, 0x65, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x70, 0x65, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x05, 0x52, 0x05, 0x73, 0x68, 0x61, 0x70, 0x65, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x1a, - 0x3d, 0x0a, 0x04, 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x1a, 0x74, - 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x2d, 0x0a, 0x04, - 0x62, 0x6c, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x42, - 0x6c, 0x6f, 0x62, 0x48, 0x00, 0x52, 0x04, 0x62, 0x6c, 0x6f, 0x62, 0x12, 0x2c, 0x0a, 0x06, 0x73, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x1a, 0x7c, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x33, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x48, 0x00, 0x52, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x4a, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x70, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x70, 0x73, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, - 0x1a, 0x84, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x09, 0x0a, 0x07, - 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x4c, 0x0a, 0x09, 0x4c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x4c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, - 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x22, 0x51, 0x0a, 0x07, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x1a, 0x40, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x09, - 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, - 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x00, 0x52, 0x08, 0x70, 0x6f, 0x6f, 0x6c, 0x53, 0x69, - 0x7a, 0x65, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x22, 0x72, - 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x72, 0x1a, 0x5e, 0x0a, 0x07, + 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x3d, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x68, 0x61, 0x70, 0x65, 0x56, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x73, 0x68, 0x61, 0x70, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x73, 0x68, + 0x61, 0x70, 0x65, 0x1a, 0x37, 0x0a, 0x04, 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x17, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x74, 0x0a, 0x0a, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x2d, 0x0a, 0x04, 0x62, 0x6c, + 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x42, 0x6c, 0x6f, + 0x62, 0x48, 0x00, 0x52, 0x04, 0x62, 0x6c, 0x6f, 0x62, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x1a, 0x44, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x70, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x70, 0x73, 0x1a, 0x84, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x08, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x1a, + 0x46, 0x0a, 0x09, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x0a, 0x09, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x45, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x1a, 0x3a, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x09, 0x70, 0x6f, 0x6f, 0x6c, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, + 0x2a, 0x02, 0x28, 0x00, 0x52, 0x08, 0x70, 0x6f, 0x6f, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x66, + 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x72, 0x1a, 0x58, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x3a, 0x04, 0xa8, 0xa6, - 0x1f, 0x01, 0x22, 0xa2, 0x08, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0xdc, 0x01, 0x0a, 0x05, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x1a, 0x7b, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x75, 0x6e, 0x63, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x3a, 0x04, 0xa8, 0xa6, - 0x1f, 0x01, 0x1a, 0x50, 0x0a, 0x04, 0x55, 0x55, 0x49, 0x44, 0x1a, 0x1f, 0x0a, 0x09, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x1a, 0x21, 0x0a, 0x0b, 0x55, - 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x3a, 0x04, - 0xa8, 0xa6, 0x1f, 0x01, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x1a, 0xf5, 0x01, 0x0a, 0x03, 0x50, - 0x6f, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, - 0x17, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, - 0x72, 0x02, 0x78, 0x01, 0x52, 0x02, 0x69, 0x70, 0x12, 0x26, 0x0a, 0x03, 0x63, 0x70, 0x75, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x50, 0x55, 0x52, 0x03, 0x63, 0x70, 0x75, - 0x12, 0x2f, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, - 0x66, 0x6f, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, - 0x79, 0x12, 0x29, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, - 0x6f, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x3a, 0x04, 0xa8, 0xa6, - 0x1f, 0x01, 0x1a, 0xee, 0x01, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x41, 0x64, 0x64, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x78, 0x74, - 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x12, 0x26, 0x0a, 0x03, 0x63, 0x70, 0x75, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x50, 0x55, 0x52, 0x03, 0x63, 0x70, - 0x75, 0x12, 0x2f, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, - 0x6e, 0x66, 0x6f, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f, - 0x72, 0x79, 0x12, 0x29, 0x0a, 0x04, 0x50, 0x6f, 0x64, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x15, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, - 0x66, 0x6f, 0x2e, 0x50, 0x6f, 0x64, 0x73, 0x52, 0x04, 0x50, 0x6f, 0x64, 0x73, 0x3a, 0x04, 0xa8, - 0xa6, 0x1f, 0x01, 0x1a, 0x51, 0x0a, 0x03, 0x43, 0x50, 0x55, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x01, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x73, - 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, - 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x1a, 0x54, 0x0a, 0x06, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, + 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x22, 0xe0, 0x07, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x1a, + 0xca, 0x01, 0x0a, 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x1a, 0x75, 0x0a, 0x05, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, + 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0b, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x61, 0x76, 0x69, + 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x61, 0x76, 0x69, 0x6e, 0x67, + 0x1a, 0x4a, 0x0a, 0x04, 0x55, 0x55, 0x49, 0x44, 0x1a, 0x1f, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x74, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x1a, 0x21, 0x0a, 0x0b, 0x55, 0x6e, 0x63, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x1a, 0xef, 0x01, 0x0a, + 0x03, 0x50, 0x6f, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, + 0x42, 0x04, 0x72, 0x02, 0x78, 0x01, 0x52, 0x02, 0x69, 0x70, 0x12, 0x26, 0x0a, 0x03, 0x63, 0x70, + 0x75, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x50, 0x55, 0x52, 0x03, 0x63, + 0x70, 0x75, 0x12, 0x2f, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, + 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x06, 0x6d, 0x65, 0x6d, + 0x6f, 0x72, 0x79, 0x12, 0x29, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, + 0x6e, 0x66, 0x6f, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x1a, 0xe8, + 0x01, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, + 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x41, 0x64, 0x64, 0x72, 0x12, 0x26, 0x0a, 0x03, 0x63, 0x70, 0x75, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, + 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x50, 0x55, 0x52, 0x03, 0x63, 0x70, 0x75, 0x12, 0x2f, 0x0a, + 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, + 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x29, + 0x0a, 0x04, 0x50, 0x6f, 0x64, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, + 0x6f, 0x64, 0x73, 0x52, 0x04, 0x50, 0x6f, 0x64, 0x73, 0x1a, 0x4b, 0x0a, 0x03, 0x43, 0x50, 0x55, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, - 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x1a, 0x40, 0x0a, 0x04, - 0x50, 0x6f, 0x64, 0x73, 0x12, 0x32, 0x0a, 0x04, 0x70, 0x6f, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x6f, 0x64, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, - 0x08, 0x01, 0x52, 0x04, 0x70, 0x6f, 0x64, 0x73, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x1a, 0x44, - 0x0a, 0x05, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x08, 0xfa, - 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x3a, 0x04, - 0xa8, 0xa6, 0x1f, 0x01, 0x1a, 0x1b, 0x0a, 0x03, 0x49, 0x50, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, - 0x01, 0x3a, 0x04, 0xa8, 0xa6, 0x1f, 0x01, 0x22, 0x07, 0x0a, 0x05, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x42, 0x5a, 0x0a, 0x1d, 0x6f, 0x72, 0x67, 0x2e, 0x76, 0x64, 0x61, 0x61, 0x73, 0x2e, 0x76, 0x61, - 0x6c, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x42, 0x0b, 0x56, 0x61, 0x6c, 0x64, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x01, - 0x5a, 0x2a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x64, 0x61, - 0x61, 0x73, 0x2f, 0x76, 0x61, 0x6c, 0x64, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x67, 0x72, 0x70, - 0x63, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x4e, 0x0a, 0x06, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, + 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x14, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, + 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x3a, 0x0a, 0x04, 0x50, 0x6f, 0x64, 0x73, 0x12, 0x32, + 0x0a, 0x04, 0x70, 0x6f, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, + 0x6f, 0x64, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x04, 0x70, 0x6f, + 0x64, 0x73, 0x1a, 0x3e, 0x0a, 0x05, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x05, 0x6e, + 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x05, 0x6e, 0x6f, 0x64, + 0x65, 0x73, 0x1a, 0x15, 0x0a, 0x03, 0x49, 0x50, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x22, 0x07, 0x0a, 0x05, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x42, 0x5a, 0x0a, 0x1d, 0x6f, 0x72, 0x67, 0x2e, 0x76, 0x64, 0x61, 0x61, 0x73, 0x2e, + 0x76, 0x61, 0x6c, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x70, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x42, 0x0b, 0x56, 0x61, 0x6c, 0x64, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x50, 0x01, 0x5a, 0x2a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, + 0x64, 0x61, 0x61, 0x73, 0x2f, 0x76, 0x61, 0x6c, 0x64, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x67, + 0x72, 0x70, 0x63, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/apis/grpc/v1/payload/payload_vtproto.pb.go b/apis/grpc/v1/payload/payload_vtproto.pb.go index dff89fdaea..b7ed81cd2a 100644 --- a/apis/grpc/v1/payload/payload_vtproto.pb.go +++ b/apis/grpc/v1/payload/payload_vtproto.pb.go @@ -21,7 +21,6 @@ import ( fmt "fmt" math "math" bits "math/bits" - sync "sync" io "github.com/vdaas/vald/internal/io" status "google.golang.org/genproto/googleapis/rpc/status" @@ -36,1201 +35,1547 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -func (this *Search_Request) EqualVT(that *Search_Request) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false +func (m *Search_Request) CloneVT() *Search_Request { + if m == nil { + return (*Search_Request)(nil) } - if len(this.Vector) != len(that.Vector) { - return false + r := &Search_Request{ + Config: m.Config.CloneVT(), } - for i, vx := range this.Vector { - vy := that.Vector[i] - if vx != vy { - return false - } + if rhs := m.Vector; rhs != nil { + tmpContainer := make([]float32, len(rhs)) + copy(tmpContainer, rhs) + r.Vector = tmpContainer } - if !this.Config.EqualVT(that.Config) { - return false + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - return string(this.unknownFields) == string(that.unknownFields) + return r } -func (this *Search_Request) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Search_Request) - if !ok { - return false - } - return this.EqualVT(that) +func (m *Search_Request) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *Search_MultiRequest) EqualVT(that *Search_MultiRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if len(this.Requests) != len(that.Requests) { - return false + +func (m *Search_MultiRequest) CloneVT() *Search_MultiRequest { + if m == nil { + return (*Search_MultiRequest)(nil) } - for i, vx := range this.Requests { - vy := that.Requests[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &Search_Request{} - } - if q == nil { - q = &Search_Request{} - } - if !p.EqualVT(q) { - return false - } + r := &Search_MultiRequest{} + if rhs := m.Requests; rhs != nil { + tmpContainer := make([]*Search_Request, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() } + r.Requests = tmpContainer } - return string(this.unknownFields) == string(that.unknownFields) + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (this *Search_MultiRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Search_MultiRequest) - if !ok { - return false - } - return this.EqualVT(that) +func (m *Search_MultiRequest) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *Search_IDRequest) EqualVT(that *Search_IDRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false + +func (m *Search_IDRequest) CloneVT() *Search_IDRequest { + if m == nil { + return (*Search_IDRequest)(nil) } - if this.Id != that.Id { - return false + r := &Search_IDRequest{ + Id: m.Id, + Config: m.Config.CloneVT(), } - if !this.Config.EqualVT(that.Config) { - return false + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - return string(this.unknownFields) == string(that.unknownFields) + return r } -func (this *Search_IDRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Search_IDRequest) - if !ok { - return false - } - return this.EqualVT(that) +func (m *Search_IDRequest) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *Search_MultiIDRequest) EqualVT(that *Search_MultiIDRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if len(this.Requests) != len(that.Requests) { - return false + +func (m *Search_MultiIDRequest) CloneVT() *Search_MultiIDRequest { + if m == nil { + return (*Search_MultiIDRequest)(nil) } - for i, vx := range this.Requests { - vy := that.Requests[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &Search_IDRequest{} - } - if q == nil { - q = &Search_IDRequest{} - } - if !p.EqualVT(q) { - return false - } + r := &Search_MultiIDRequest{} + if rhs := m.Requests; rhs != nil { + tmpContainer := make([]*Search_IDRequest, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() } + r.Requests = tmpContainer } - return string(this.unknownFields) == string(that.unknownFields) + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (this *Search_MultiIDRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Search_MultiIDRequest) - if !ok { - return false - } - return this.EqualVT(that) +func (m *Search_MultiIDRequest) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *Search_ObjectRequest) EqualVT(that *Search_ObjectRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false + +func (m *Search_ObjectRequest) CloneVT() *Search_ObjectRequest { + if m == nil { + return (*Search_ObjectRequest)(nil) } - if string(this.Object) != string(that.Object) { - return false + r := &Search_ObjectRequest{ + Config: m.Config.CloneVT(), + Vectorizer: m.Vectorizer.CloneVT(), } - if !this.Config.EqualVT(that.Config) { - return false + if rhs := m.Object; rhs != nil { + tmpBytes := make([]byte, len(rhs)) + copy(tmpBytes, rhs) + r.Object = tmpBytes } - if !this.Vectorizer.EqualVT(that.Vectorizer) { - return false + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - return string(this.unknownFields) == string(that.unknownFields) + return r } -func (this *Search_ObjectRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Search_ObjectRequest) - if !ok { - return false - } - return this.EqualVT(that) +func (m *Search_ObjectRequest) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *Search_MultiObjectRequest) EqualVT(that *Search_MultiObjectRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if len(this.Requests) != len(that.Requests) { - return false + +func (m *Search_MultiObjectRequest) CloneVT() *Search_MultiObjectRequest { + if m == nil { + return (*Search_MultiObjectRequest)(nil) } - for i, vx := range this.Requests { - vy := that.Requests[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &Search_ObjectRequest{} - } - if q == nil { - q = &Search_ObjectRequest{} - } - if !p.EqualVT(q) { - return false - } + r := &Search_MultiObjectRequest{} + if rhs := m.Requests; rhs != nil { + tmpContainer := make([]*Search_ObjectRequest, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() } + r.Requests = tmpContainer } - return string(this.unknownFields) == string(that.unknownFields) + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (this *Search_MultiObjectRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Search_MultiObjectRequest) - if !ok { - return false - } - return this.EqualVT(that) +func (m *Search_MultiObjectRequest) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *Search_Config) EqualVT(that *Search_Config) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false + +func (m *Search_Config) CloneVT() *Search_Config { + if m == nil { + return (*Search_Config)(nil) } - if this.RequestId != that.RequestId { - return false + r := &Search_Config{ + RequestId: m.RequestId, + Num: m.Num, + Radius: m.Radius, + Epsilon: m.Epsilon, + Timeout: m.Timeout, + IngressFilters: m.IngressFilters.CloneVT(), + EgressFilters: m.EgressFilters.CloneVT(), + MinNum: m.MinNum, + AggregationAlgorithm: m.AggregationAlgorithm, } - if this.Num != that.Num { - return false + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - if this.Radius != that.Radius { - return false + return r +} + +func (m *Search_Config) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Search_Response) CloneVT() *Search_Response { + if m == nil { + return (*Search_Response)(nil) } - if this.Epsilon != that.Epsilon { - return false + r := &Search_Response{ + RequestId: m.RequestId, } - if this.Timeout != that.Timeout { - return false + if rhs := m.Results; rhs != nil { + tmpContainer := make([]*Object_Distance, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() + } + r.Results = tmpContainer } - if !this.IngressFilters.EqualVT(that.IngressFilters) { - return false + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - if !this.EgressFilters.EqualVT(that.EgressFilters) { - return false + return r +} + +func (m *Search_Response) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Search_Responses) CloneVT() *Search_Responses { + if m == nil { + return (*Search_Responses)(nil) } - if this.MinNum != that.MinNum { - return false + r := &Search_Responses{} + if rhs := m.Responses; rhs != nil { + tmpContainer := make([]*Search_Response, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() + } + r.Responses = tmpContainer } - if this.AggregationAlgorithm != that.AggregationAlgorithm { - return false + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - return string(this.unknownFields) == string(that.unknownFields) + return r } -func (this *Search_Config) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Search_Config) - if !ok { - return false - } - return this.EqualVT(that) +func (m *Search_Responses) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *Search_Response) EqualVT(that *Search_Response) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.RequestId != that.RequestId { - return false + +func (m *Search_StreamResponse) CloneVT() *Search_StreamResponse { + if m == nil { + return (*Search_StreamResponse)(nil) } - if len(this.Results) != len(that.Results) { - return false + r := &Search_StreamResponse{} + if m.Payload != nil { + r.Payload = m.Payload.(interface { + CloneVT() isSearch_StreamResponse_Payload + }).CloneVT() } - for i, vx := range this.Results { - vy := that.Results[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &Object_Distance{} - } - if q == nil { - q = &Object_Distance{} - } - if !p.EqualVT(q) { - return false - } - } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - return string(this.unknownFields) == string(that.unknownFields) + return r } -func (this *Search_Response) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Search_Response) - if !ok { - return false - } - return this.EqualVT(that) +func (m *Search_StreamResponse) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *Search_Responses) EqualVT(that *Search_Responses) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false + +func (m *Search_StreamResponse_Response) CloneVT() isSearch_StreamResponse_Payload { + if m == nil { + return (*Search_StreamResponse_Response)(nil) } - if len(this.Responses) != len(that.Responses) { - return false + r := &Search_StreamResponse_Response{ + Response: m.Response.CloneVT(), } - for i, vx := range this.Responses { - vy := that.Responses[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &Search_Response{} - } - if q == nil { - q = &Search_Response{} - } - if !p.EqualVT(q) { - return false - } + return r +} + +func (m *Search_StreamResponse_Status) CloneVT() isSearch_StreamResponse_Payload { + if m == nil { + return (*Search_StreamResponse_Status)(nil) + } + r := &Search_StreamResponse_Status{} + if rhs := m.Status; rhs != nil { + if vtpb, ok := interface{}(rhs).(interface{ CloneVT() *status.Status }); ok { + r.Status = vtpb.CloneVT() + } else { + r.Status = proto.Clone(rhs).(*status.Status) } } - return string(this.unknownFields) == string(that.unknownFields) + return r } -func (this *Search_Responses) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Search_Responses) - if !ok { - return false +func (m *Search) CloneVT() *Search { + if m == nil { + return (*Search)(nil) } - return this.EqualVT(that) + r := &Search{} + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (this *Search_StreamResponse) EqualVT(that *Search_StreamResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false + +func (m *Search) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Filter_Target) CloneVT() *Filter_Target { + if m == nil { + return (*Filter_Target)(nil) } - if this.Payload == nil && that.Payload != nil { - return false - } else if this.Payload != nil { - if that.Payload == nil { - return false - } - if !this.Payload.(interface { - EqualVT(isSearch_StreamResponse_Payload) bool - }).EqualVT(that.Payload) { - return false - } + r := &Filter_Target{ + Host: m.Host, + Port: m.Port, } - return string(this.unknownFields) == string(that.unknownFields) + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (this *Search_StreamResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Search_StreamResponse) - if !ok { - return false - } - return this.EqualVT(that) +func (m *Filter_Target) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *Search_StreamResponse_Response) EqualVT(thatIface isSearch_StreamResponse_Payload) bool { - that, ok := thatIface.(*Search_StreamResponse_Response) - if !ok { - return false + +func (m *Filter_Config) CloneVT() *Filter_Config { + if m == nil { + return (*Filter_Config)(nil) } - if this == that { - return true + r := &Filter_Config{} + if rhs := m.Targets; rhs != nil { + tmpContainer := make([]*Filter_Target, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() + } + r.Targets = tmpContainer } - if this == nil && that != nil || this != nil && that == nil { - return false + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - if p, q := this.Response, that.Response; p != q { - if p == nil { - p = &Search_Response{} - } - if q == nil { - q = &Search_Response{} - } - if !p.EqualVT(q) { - return false - } + return r +} + +func (m *Filter_Config) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Filter) CloneVT() *Filter { + if m == nil { + return (*Filter)(nil) } - return true + r := &Filter{} + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (this *Search_StreamResponse_Status) EqualVT(thatIface isSearch_StreamResponse_Payload) bool { - that, ok := thatIface.(*Search_StreamResponse_Status) - if !ok { - return false +func (m *Filter) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Insert_Request) CloneVT() *Insert_Request { + if m == nil { + return (*Insert_Request)(nil) } - if this == that { - return true + r := &Insert_Request{ + Vector: m.Vector.CloneVT(), + Config: m.Config.CloneVT(), } - if this == nil && that != nil || this != nil && that == nil { - return false + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - if p, q := this.Status, that.Status; p != q { - if p == nil { - p = &status.Status{} - } - if q == nil { - q = &status.Status{} - } - if equal, ok := interface{}(p).(interface{ EqualVT(*status.Status) bool }); ok { - if !equal.EqualVT(q) { - return false - } - } else if !proto.Equal(p, q) { - return false + return r +} + +func (m *Insert_Request) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Insert_MultiRequest) CloneVT() *Insert_MultiRequest { + if m == nil { + return (*Insert_MultiRequest)(nil) + } + r := &Insert_MultiRequest{} + if rhs := m.Requests; rhs != nil { + tmpContainer := make([]*Insert_Request, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() } + r.Requests = tmpContainer } - return true + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (this *Search) EqualVT(that *Search) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - return string(this.unknownFields) == string(that.unknownFields) +func (m *Insert_MultiRequest) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *Search) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Search) - if !ok { - return false +func (m *Insert_ObjectRequest) CloneVT() *Insert_ObjectRequest { + if m == nil { + return (*Insert_ObjectRequest)(nil) } - return this.EqualVT(that) + r := &Insert_ObjectRequest{ + Object: m.Object.CloneVT(), + Config: m.Config.CloneVT(), + Vectorizer: m.Vectorizer.CloneVT(), + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (this *Filter_Target) EqualVT(that *Filter_Target) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false + +func (m *Insert_ObjectRequest) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Insert_MultiObjectRequest) CloneVT() *Insert_MultiObjectRequest { + if m == nil { + return (*Insert_MultiObjectRequest)(nil) } - if this.Host != that.Host { - return false + r := &Insert_MultiObjectRequest{} + if rhs := m.Requests; rhs != nil { + tmpContainer := make([]*Insert_ObjectRequest, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() + } + r.Requests = tmpContainer } - if this.Port != that.Port { - return false + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - return string(this.unknownFields) == string(that.unknownFields) + return r } -func (this *Filter_Target) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Filter_Target) - if !ok { - return false - } - return this.EqualVT(that) +func (m *Insert_MultiObjectRequest) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *Filter_Config) EqualVT(that *Filter_Config) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false + +func (m *Insert_Config) CloneVT() *Insert_Config { + if m == nil { + return (*Insert_Config)(nil) } - if len(this.Targets) != len(that.Targets) { - return false + r := &Insert_Config{ + SkipStrictExistCheck: m.SkipStrictExistCheck, + Filters: m.Filters.CloneVT(), + Timestamp: m.Timestamp, } - for i, vx := range this.Targets { - vy := that.Targets[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &Filter_Target{} - } - if q == nil { - q = &Filter_Target{} - } - if !p.EqualVT(q) { - return false - } - } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - return string(this.unknownFields) == string(that.unknownFields) + return r } -func (this *Filter_Config) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Filter_Config) - if !ok { - return false - } - return this.EqualVT(that) +func (m *Insert_Config) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *Filter) EqualVT(that *Filter) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false + +func (m *Insert) CloneVT() *Insert { + if m == nil { + return (*Insert)(nil) } - return string(this.unknownFields) == string(that.unknownFields) + r := &Insert{} + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (this *Filter) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Filter) - if !ok { - return false - } - return this.EqualVT(that) +func (m *Insert) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *Insert_Request) EqualVT(that *Insert_Request) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false + +func (m *Update_Request) CloneVT() *Update_Request { + if m == nil { + return (*Update_Request)(nil) } - if !this.Vector.EqualVT(that.Vector) { - return false + r := &Update_Request{ + Vector: m.Vector.CloneVT(), + Config: m.Config.CloneVT(), } - if !this.Config.EqualVT(that.Config) { - return false + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - return string(this.unknownFields) == string(that.unknownFields) + return r } -func (this *Insert_Request) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Insert_Request) - if !ok { - return false - } - return this.EqualVT(that) +func (m *Update_Request) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *Insert_MultiRequest) EqualVT(that *Insert_MultiRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if len(this.Requests) != len(that.Requests) { - return false + +func (m *Update_MultiRequest) CloneVT() *Update_MultiRequest { + if m == nil { + return (*Update_MultiRequest)(nil) } - for i, vx := range this.Requests { - vy := that.Requests[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &Insert_Request{} - } - if q == nil { - q = &Insert_Request{} - } - if !p.EqualVT(q) { - return false - } + r := &Update_MultiRequest{} + if rhs := m.Requests; rhs != nil { + tmpContainer := make([]*Update_Request, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() } + r.Requests = tmpContainer } - return string(this.unknownFields) == string(that.unknownFields) + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (this *Insert_MultiRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Insert_MultiRequest) - if !ok { - return false - } - return this.EqualVT(that) +func (m *Update_MultiRequest) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *Insert_ObjectRequest) EqualVT(that *Insert_ObjectRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if !this.Object.EqualVT(that.Object) { - return false + +func (m *Update_ObjectRequest) CloneVT() *Update_ObjectRequest { + if m == nil { + return (*Update_ObjectRequest)(nil) } - if !this.Config.EqualVT(that.Config) { - return false + r := &Update_ObjectRequest{ + Object: m.Object.CloneVT(), + Config: m.Config.CloneVT(), + Vectorizer: m.Vectorizer.CloneVT(), } - if !this.Vectorizer.EqualVT(that.Vectorizer) { - return false + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - return string(this.unknownFields) == string(that.unknownFields) + return r } -func (this *Insert_ObjectRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Insert_ObjectRequest) - if !ok { - return false - } - return this.EqualVT(that) +func (m *Update_ObjectRequest) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *Insert_MultiObjectRequest) EqualVT(that *Insert_MultiObjectRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false + +func (m *Update_MultiObjectRequest) CloneVT() *Update_MultiObjectRequest { + if m == nil { + return (*Update_MultiObjectRequest)(nil) } - if len(this.Requests) != len(that.Requests) { - return false + r := &Update_MultiObjectRequest{} + if rhs := m.Requests; rhs != nil { + tmpContainer := make([]*Update_ObjectRequest, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() + } + r.Requests = tmpContainer } - for i, vx := range this.Requests { - vy := that.Requests[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &Insert_ObjectRequest{} - } - if q == nil { - q = &Insert_ObjectRequest{} - } - if !p.EqualVT(q) { - return false - } - } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - return string(this.unknownFields) == string(that.unknownFields) + return r } -func (this *Insert_MultiObjectRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Insert_MultiObjectRequest) - if !ok { - return false - } - return this.EqualVT(that) +func (m *Update_MultiObjectRequest) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *Insert_Config) EqualVT(that *Insert_Config) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.SkipStrictExistCheck != that.SkipStrictExistCheck { - return false + +func (m *Update_Config) CloneVT() *Update_Config { + if m == nil { + return (*Update_Config)(nil) } - if !this.Filters.EqualVT(that.Filters) { - return false + r := &Update_Config{ + SkipStrictExistCheck: m.SkipStrictExistCheck, + Filters: m.Filters.CloneVT(), + Timestamp: m.Timestamp, + DisableBalancedUpdate: m.DisableBalancedUpdate, } - if this.Timestamp != that.Timestamp { - return false + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - return string(this.unknownFields) == string(that.unknownFields) + return r } -func (this *Insert_Config) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Insert_Config) - if !ok { - return false - } - return this.EqualVT(that) +func (m *Update_Config) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *Insert) EqualVT(that *Insert) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false + +func (m *Update) CloneVT() *Update { + if m == nil { + return (*Update)(nil) } - return string(this.unknownFields) == string(that.unknownFields) + r := &Update{} + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (this *Insert) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Insert) - if !ok { - return false - } - return this.EqualVT(that) +func (m *Update) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *Update_Request) EqualVT(that *Update_Request) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false + +func (m *Upsert_Request) CloneVT() *Upsert_Request { + if m == nil { + return (*Upsert_Request)(nil) } - if !this.Vector.EqualVT(that.Vector) { - return false + r := &Upsert_Request{ + Vector: m.Vector.CloneVT(), + Config: m.Config.CloneVT(), } - if !this.Config.EqualVT(that.Config) { - return false + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - return string(this.unknownFields) == string(that.unknownFields) + return r } -func (this *Update_Request) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Update_Request) - if !ok { - return false - } - return this.EqualVT(that) +func (m *Upsert_Request) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *Update_MultiRequest) EqualVT(that *Update_MultiRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if len(this.Requests) != len(that.Requests) { - return false + +func (m *Upsert_MultiRequest) CloneVT() *Upsert_MultiRequest { + if m == nil { + return (*Upsert_MultiRequest)(nil) } - for i, vx := range this.Requests { - vy := that.Requests[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &Update_Request{} - } - if q == nil { - q = &Update_Request{} - } - if !p.EqualVT(q) { - return false - } + r := &Upsert_MultiRequest{} + if rhs := m.Requests; rhs != nil { + tmpContainer := make([]*Upsert_Request, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() } + r.Requests = tmpContainer } - return string(this.unknownFields) == string(that.unknownFields) + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (this *Update_MultiRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Update_MultiRequest) - if !ok { - return false - } - return this.EqualVT(that) +func (m *Upsert_MultiRequest) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *Update_ObjectRequest) EqualVT(that *Update_ObjectRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if !this.Object.EqualVT(that.Object) { - return false + +func (m *Upsert_ObjectRequest) CloneVT() *Upsert_ObjectRequest { + if m == nil { + return (*Upsert_ObjectRequest)(nil) } - if !this.Config.EqualVT(that.Config) { - return false + r := &Upsert_ObjectRequest{ + Object: m.Object.CloneVT(), + Config: m.Config.CloneVT(), + Vectorizer: m.Vectorizer.CloneVT(), } - if !this.Vectorizer.EqualVT(that.Vectorizer) { - return false + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - return string(this.unknownFields) == string(that.unknownFields) + return r } -func (this *Update_ObjectRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Update_ObjectRequest) - if !ok { - return false - } - return this.EqualVT(that) +func (m *Upsert_ObjectRequest) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *Update_MultiObjectRequest) EqualVT(that *Update_MultiObjectRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if len(this.Requests) != len(that.Requests) { - return false + +func (m *Upsert_MultiObjectRequest) CloneVT() *Upsert_MultiObjectRequest { + if m == nil { + return (*Upsert_MultiObjectRequest)(nil) } - for i, vx := range this.Requests { - vy := that.Requests[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &Update_ObjectRequest{} - } - if q == nil { - q = &Update_ObjectRequest{} - } - if !p.EqualVT(q) { - return false - } + r := &Upsert_MultiObjectRequest{} + if rhs := m.Requests; rhs != nil { + tmpContainer := make([]*Upsert_ObjectRequest, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() } + r.Requests = tmpContainer } - return string(this.unknownFields) == string(that.unknownFields) + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (this *Update_MultiObjectRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Update_MultiObjectRequest) - if !ok { - return false - } - return this.EqualVT(that) +func (m *Upsert_MultiObjectRequest) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *Update_Config) EqualVT(that *Update_Config) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.SkipStrictExistCheck != that.SkipStrictExistCheck { - return false - } - if !this.Filters.EqualVT(that.Filters) { - return false + +func (m *Upsert_Config) CloneVT() *Upsert_Config { + if m == nil { + return (*Upsert_Config)(nil) } - if this.Timestamp != that.Timestamp { - return false + r := &Upsert_Config{ + SkipStrictExistCheck: m.SkipStrictExistCheck, + Filters: m.Filters.CloneVT(), + Timestamp: m.Timestamp, + DisableBalancedUpdate: m.DisableBalancedUpdate, } - if this.DisableBalancedUpdate != that.DisableBalancedUpdate { - return false + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - return string(this.unknownFields) == string(that.unknownFields) + return r } -func (this *Update_Config) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Update_Config) - if !ok { - return false - } - return this.EqualVT(that) +func (m *Upsert_Config) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *Update) EqualVT(that *Update) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false + +func (m *Upsert) CloneVT() *Upsert { + if m == nil { + return (*Upsert)(nil) } - return string(this.unknownFields) == string(that.unknownFields) + r := &Upsert{} + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (this *Update) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Update) - if !ok { - return false - } - return this.EqualVT(that) +func (m *Upsert) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *Upsert_Request) EqualVT(that *Upsert_Request) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false + +func (m *Remove_Request) CloneVT() *Remove_Request { + if m == nil { + return (*Remove_Request)(nil) } - if !this.Vector.EqualVT(that.Vector) { - return false + r := &Remove_Request{ + Id: m.Id.CloneVT(), + Config: m.Config.CloneVT(), } - if !this.Config.EqualVT(that.Config) { - return false + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - return string(this.unknownFields) == string(that.unknownFields) + return r } -func (this *Upsert_Request) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Upsert_Request) - if !ok { - return false - } - return this.EqualVT(that) +func (m *Remove_Request) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *Upsert_MultiRequest) EqualVT(that *Upsert_MultiRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if len(this.Requests) != len(that.Requests) { - return false + +func (m *Remove_MultiRequest) CloneVT() *Remove_MultiRequest { + if m == nil { + return (*Remove_MultiRequest)(nil) } - for i, vx := range this.Requests { - vy := that.Requests[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &Upsert_Request{} - } - if q == nil { - q = &Upsert_Request{} - } - if !p.EqualVT(q) { - return false - } + r := &Remove_MultiRequest{} + if rhs := m.Requests; rhs != nil { + tmpContainer := make([]*Remove_Request, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() } + r.Requests = tmpContainer } - return string(this.unknownFields) == string(that.unknownFields) + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (this *Upsert_MultiRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Upsert_MultiRequest) - if !ok { - return false - } - return this.EqualVT(that) +func (m *Remove_MultiRequest) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *Upsert_ObjectRequest) EqualVT(that *Upsert_ObjectRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if !this.Object.EqualVT(that.Object) { - return false + +func (m *Remove_Config) CloneVT() *Remove_Config { + if m == nil { + return (*Remove_Config)(nil) } - if !this.Config.EqualVT(that.Config) { - return false + r := &Remove_Config{ + SkipStrictExistCheck: m.SkipStrictExistCheck, + Timestamp: m.Timestamp, } - if !this.Vectorizer.EqualVT(that.Vectorizer) { - return false + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - return string(this.unknownFields) == string(that.unknownFields) + return r } -func (this *Upsert_ObjectRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Upsert_ObjectRequest) - if !ok { - return false +func (m *Remove_Config) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Remove) CloneVT() *Remove { + if m == nil { + return (*Remove)(nil) } - return this.EqualVT(that) + r := &Remove{} + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (this *Upsert_MultiObjectRequest) EqualVT(that *Upsert_MultiObjectRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false + +func (m *Remove) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Object_VectorRequest) CloneVT() *Object_VectorRequest { + if m == nil { + return (*Object_VectorRequest)(nil) } - if len(this.Requests) != len(that.Requests) { - return false + r := &Object_VectorRequest{ + Id: m.Id.CloneVT(), + Filters: m.Filters.CloneVT(), } - for i, vx := range this.Requests { - vy := that.Requests[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &Upsert_ObjectRequest{} - } - if q == nil { - q = &Upsert_ObjectRequest{} - } - if !p.EqualVT(q) { - return false - } - } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - return string(this.unknownFields) == string(that.unknownFields) + return r } -func (this *Upsert_MultiObjectRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Upsert_MultiObjectRequest) - if !ok { - return false - } - return this.EqualVT(that) +func (m *Object_VectorRequest) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *Upsert_Config) EqualVT(that *Upsert_Config) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false + +func (m *Object_Distance) CloneVT() *Object_Distance { + if m == nil { + return (*Object_Distance)(nil) } - if this.SkipStrictExistCheck != that.SkipStrictExistCheck { - return false + r := &Object_Distance{ + Id: m.Id, + Distance: m.Distance, } - if !this.Filters.EqualVT(that.Filters) { - return false + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - if this.Timestamp != that.Timestamp { - return false + return r +} + +func (m *Object_Distance) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Object_StreamDistance) CloneVT() *Object_StreamDistance { + if m == nil { + return (*Object_StreamDistance)(nil) } - if this.DisableBalancedUpdate != that.DisableBalancedUpdate { - return false + r := &Object_StreamDistance{} + if m.Payload != nil { + r.Payload = m.Payload.(interface { + CloneVT() isObject_StreamDistance_Payload + }).CloneVT() } - return string(this.unknownFields) == string(that.unknownFields) + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (this *Upsert_Config) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Upsert_Config) - if !ok { - return false - } - return this.EqualVT(that) +func (m *Object_StreamDistance) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *Upsert) EqualVT(that *Upsert) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false + +func (m *Object_StreamDistance_Distance) CloneVT() isObject_StreamDistance_Payload { + if m == nil { + return (*Object_StreamDistance_Distance)(nil) } - return string(this.unknownFields) == string(that.unknownFields) + r := &Object_StreamDistance_Distance{ + Distance: m.Distance.CloneVT(), + } + return r } -func (this *Upsert) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Upsert) - if !ok { - return false +func (m *Object_StreamDistance_Status) CloneVT() isObject_StreamDistance_Payload { + if m == nil { + return (*Object_StreamDistance_Status)(nil) } - return this.EqualVT(that) + r := &Object_StreamDistance_Status{} + if rhs := m.Status; rhs != nil { + if vtpb, ok := interface{}(rhs).(interface{ CloneVT() *status.Status }); ok { + r.Status = vtpb.CloneVT() + } else { + r.Status = proto.Clone(rhs).(*status.Status) + } + } + return r } -func (this *Remove_Request) EqualVT(that *Remove_Request) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false + +func (m *Object_ID) CloneVT() *Object_ID { + if m == nil { + return (*Object_ID)(nil) } - if !this.Id.EqualVT(that.Id) { - return false + r := &Object_ID{ + Id: m.Id, } - if !this.Config.EqualVT(that.Config) { - return false + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - return string(this.unknownFields) == string(that.unknownFields) + return r } -func (this *Remove_Request) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Remove_Request) - if !ok { - return false - } - return this.EqualVT(that) +func (m *Object_ID) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *Remove_MultiRequest) EqualVT(that *Remove_MultiRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false + +func (m *Object_IDs) CloneVT() *Object_IDs { + if m == nil { + return (*Object_IDs)(nil) } - if len(this.Requests) != len(that.Requests) { - return false + r := &Object_IDs{} + if rhs := m.Ids; rhs != nil { + tmpContainer := make([]string, len(rhs)) + copy(tmpContainer, rhs) + r.Ids = tmpContainer } - for i, vx := range this.Requests { - vy := that.Requests[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &Remove_Request{} - } - if q == nil { - q = &Remove_Request{} - } - if !p.EqualVT(q) { - return false - } - } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - return string(this.unknownFields) == string(that.unknownFields) + return r } -func (this *Remove_MultiRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Remove_MultiRequest) - if !ok { - return false +func (m *Object_IDs) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Object_Vector) CloneVT() *Object_Vector { + if m == nil { + return (*Object_Vector)(nil) } - return this.EqualVT(that) + r := &Object_Vector{ + Id: m.Id, + } + if rhs := m.Vector; rhs != nil { + tmpContainer := make([]float32, len(rhs)) + copy(tmpContainer, rhs) + r.Vector = tmpContainer + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (this *Remove_Config) EqualVT(that *Remove_Config) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false + +func (m *Object_Vector) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Object_Vectors) CloneVT() *Object_Vectors { + if m == nil { + return (*Object_Vectors)(nil) } - if this.SkipStrictExistCheck != that.SkipStrictExistCheck { - return false + r := &Object_Vectors{} + if rhs := m.Vectors; rhs != nil { + tmpContainer := make([]*Object_Vector, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() + } + r.Vectors = tmpContainer } - if this.Timestamp != that.Timestamp { - return false + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - return string(this.unknownFields) == string(that.unknownFields) + return r } -func (this *Remove_Config) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Remove_Config) - if !ok { - return false +func (m *Object_Vectors) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Object_StreamVector) CloneVT() *Object_StreamVector { + if m == nil { + return (*Object_StreamVector)(nil) } - return this.EqualVT(that) + r := &Object_StreamVector{} + if m.Payload != nil { + r.Payload = m.Payload.(interface { + CloneVT() isObject_StreamVector_Payload + }).CloneVT() + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (this *Remove) EqualVT(that *Remove) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false + +func (m *Object_StreamVector) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Object_StreamVector_Vector) CloneVT() isObject_StreamVector_Payload { + if m == nil { + return (*Object_StreamVector_Vector)(nil) } - return string(this.unknownFields) == string(that.unknownFields) + r := &Object_StreamVector_Vector{ + Vector: m.Vector.CloneVT(), + } + return r } -func (this *Remove) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Remove) - if !ok { - return false +func (m *Object_StreamVector_Status) CloneVT() isObject_StreamVector_Payload { + if m == nil { + return (*Object_StreamVector_Status)(nil) } - return this.EqualVT(that) + r := &Object_StreamVector_Status{} + if rhs := m.Status; rhs != nil { + if vtpb, ok := interface{}(rhs).(interface{ CloneVT() *status.Status }); ok { + r.Status = vtpb.CloneVT() + } else { + r.Status = proto.Clone(rhs).(*status.Status) + } + } + return r } -func (this *Object_VectorRequest) EqualVT(that *Object_VectorRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false + +func (m *Object_ReshapeVector) CloneVT() *Object_ReshapeVector { + if m == nil { + return (*Object_ReshapeVector)(nil) } - if !this.Id.EqualVT(that.Id) { - return false + r := &Object_ReshapeVector{} + if rhs := m.Object; rhs != nil { + tmpBytes := make([]byte, len(rhs)) + copy(tmpBytes, rhs) + r.Object = tmpBytes } - if !this.Filters.EqualVT(that.Filters) { - return false + if rhs := m.Shape; rhs != nil { + tmpContainer := make([]int32, len(rhs)) + copy(tmpContainer, rhs) + r.Shape = tmpContainer } - return string(this.unknownFields) == string(that.unknownFields) + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (this *Object_VectorRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Object_VectorRequest) - if !ok { - return false +func (m *Object_ReshapeVector) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Object_Blob) CloneVT() *Object_Blob { + if m == nil { + return (*Object_Blob)(nil) } - return this.EqualVT(that) + r := &Object_Blob{ + Id: m.Id, + } + if rhs := m.Object; rhs != nil { + tmpBytes := make([]byte, len(rhs)) + copy(tmpBytes, rhs) + r.Object = tmpBytes + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (this *Object_Distance) EqualVT(that *Object_Distance) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false + +func (m *Object_Blob) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Object_StreamBlob) CloneVT() *Object_StreamBlob { + if m == nil { + return (*Object_StreamBlob)(nil) } - if this.Id != that.Id { - return false + r := &Object_StreamBlob{} + if m.Payload != nil { + r.Payload = m.Payload.(interface { + CloneVT() isObject_StreamBlob_Payload + }).CloneVT() } - if this.Distance != that.Distance { - return false + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - return string(this.unknownFields) == string(that.unknownFields) + return r } -func (this *Object_Distance) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Object_Distance) - if !ok { - return false +func (m *Object_StreamBlob) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Object_StreamBlob_Blob) CloneVT() isObject_StreamBlob_Payload { + if m == nil { + return (*Object_StreamBlob_Blob)(nil) } - return this.EqualVT(that) + r := &Object_StreamBlob_Blob{ + Blob: m.Blob.CloneVT(), + } + return r } -func (this *Object_StreamDistance) EqualVT(that *Object_StreamDistance) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false + +func (m *Object_StreamBlob_Status) CloneVT() isObject_StreamBlob_Payload { + if m == nil { + return (*Object_StreamBlob_Status)(nil) } - if this.Payload == nil && that.Payload != nil { - return false - } else if this.Payload != nil { - if that.Payload == nil { - return false - } - if !this.Payload.(interface { - EqualVT(isObject_StreamDistance_Payload) bool - }).EqualVT(that.Payload) { - return false + r := &Object_StreamBlob_Status{} + if rhs := m.Status; rhs != nil { + if vtpb, ok := interface{}(rhs).(interface{ CloneVT() *status.Status }); ok { + r.Status = vtpb.CloneVT() + } else { + r.Status = proto.Clone(rhs).(*status.Status) } } - return string(this.unknownFields) == string(that.unknownFields) + return r } -func (this *Object_StreamDistance) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Object_StreamDistance) - if !ok { - return false +func (m *Object_Location) CloneVT() *Object_Location { + if m == nil { + return (*Object_Location)(nil) } - return this.EqualVT(that) -} -func (this *Object_StreamDistance_Distance) EqualVT(thatIface isObject_StreamDistance_Payload) bool { - that, ok := thatIface.(*Object_StreamDistance_Distance) - if !ok { - return false + r := &Object_Location{ + Name: m.Name, + Uuid: m.Uuid, } - if this == that { - return true + if rhs := m.Ips; rhs != nil { + tmpContainer := make([]string, len(rhs)) + copy(tmpContainer, rhs) + r.Ips = tmpContainer } - if this == nil && that != nil || this != nil && that == nil { - return false + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - if p, q := this.Distance, that.Distance; p != q { - if p == nil { - p = &Object_Distance{} - } - if q == nil { - q = &Object_Distance{} - } - if !p.EqualVT(q) { - return false - } + return r +} + +func (m *Object_Location) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Object_StreamLocation) CloneVT() *Object_StreamLocation { + if m == nil { + return (*Object_StreamLocation)(nil) } - return true + r := &Object_StreamLocation{} + if m.Payload != nil { + r.Payload = m.Payload.(interface { + CloneVT() isObject_StreamLocation_Payload + }).CloneVT() + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (this *Object_StreamDistance_Status) EqualVT(thatIface isObject_StreamDistance_Payload) bool { - that, ok := thatIface.(*Object_StreamDistance_Status) - if !ok { - return false +func (m *Object_StreamLocation) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Object_StreamLocation_Location) CloneVT() isObject_StreamLocation_Payload { + if m == nil { + return (*Object_StreamLocation_Location)(nil) } - if this == that { - return true + r := &Object_StreamLocation_Location{ + Location: m.Location.CloneVT(), } - if this == nil && that != nil || this != nil && that == nil { - return false + return r +} + +func (m *Object_StreamLocation_Status) CloneVT() isObject_StreamLocation_Payload { + if m == nil { + return (*Object_StreamLocation_Status)(nil) } - if p, q := this.Status, that.Status; p != q { - if p == nil { - p = &status.Status{} - } - if q == nil { - q = &status.Status{} + r := &Object_StreamLocation_Status{} + if rhs := m.Status; rhs != nil { + if vtpb, ok := interface{}(rhs).(interface{ CloneVT() *status.Status }); ok { + r.Status = vtpb.CloneVT() + } else { + r.Status = proto.Clone(rhs).(*status.Status) } - if equal, ok := interface{}(p).(interface{ EqualVT(*status.Status) bool }); ok { - if !equal.EqualVT(q) { - return false - } - } else if !proto.Equal(p, q) { - return false + } + return r +} + +func (m *Object_Locations) CloneVT() *Object_Locations { + if m == nil { + return (*Object_Locations)(nil) + } + r := &Object_Locations{} + if rhs := m.Locations; rhs != nil { + tmpContainer := make([]*Object_Location, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() } + r.Locations = tmpContainer } - return true + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (this *Object_ID) EqualVT(that *Object_ID) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false +func (m *Object_Locations) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Object) CloneVT() *Object { + if m == nil { + return (*Object)(nil) } - if this.Id != that.Id { - return false + r := &Object{} + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - return string(this.unknownFields) == string(that.unknownFields) + return r } -func (this *Object_ID) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Object_ID) - if !ok { - return false +func (m *Object) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Control_CreateIndexRequest) CloneVT() *Control_CreateIndexRequest { + if m == nil { + return (*Control_CreateIndexRequest)(nil) } - return this.EqualVT(that) + r := &Control_CreateIndexRequest{ + PoolSize: m.PoolSize, + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (this *Object_IDs) EqualVT(that *Object_IDs) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false + +func (m *Control_CreateIndexRequest) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Control) CloneVT() *Control { + if m == nil { + return (*Control)(nil) } - if len(this.Ids) != len(that.Ids) { - return false + r := &Control{} + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - for i, vx := range this.Ids { - vy := that.Ids[i] - if vx != vy { - return false + return r +} + +func (m *Control) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Discoverer_Request) CloneVT() *Discoverer_Request { + if m == nil { + return (*Discoverer_Request)(nil) + } + r := &Discoverer_Request{ + Name: m.Name, + Namespace: m.Namespace, + Node: m.Node, + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Discoverer_Request) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Discoverer) CloneVT() *Discoverer { + if m == nil { + return (*Discoverer)(nil) + } + r := &Discoverer{} + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Discoverer) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Info_Index_Count) CloneVT() *Info_Index_Count { + if m == nil { + return (*Info_Index_Count)(nil) + } + r := &Info_Index_Count{ + Stored: m.Stored, + Uncommitted: m.Uncommitted, + Indexing: m.Indexing, + Saving: m.Saving, + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Info_Index_Count) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Info_Index_UUID_Committed) CloneVT() *Info_Index_UUID_Committed { + if m == nil { + return (*Info_Index_UUID_Committed)(nil) + } + r := &Info_Index_UUID_Committed{ + Uuid: m.Uuid, + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Info_Index_UUID_Committed) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Info_Index_UUID_Uncommitted) CloneVT() *Info_Index_UUID_Uncommitted { + if m == nil { + return (*Info_Index_UUID_Uncommitted)(nil) + } + r := &Info_Index_UUID_Uncommitted{ + Uuid: m.Uuid, + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Info_Index_UUID_Uncommitted) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Info_Index_UUID) CloneVT() *Info_Index_UUID { + if m == nil { + return (*Info_Index_UUID)(nil) + } + r := &Info_Index_UUID{} + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Info_Index_UUID) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Info_Index) CloneVT() *Info_Index { + if m == nil { + return (*Info_Index)(nil) + } + r := &Info_Index{} + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Info_Index) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Info_Pod) CloneVT() *Info_Pod { + if m == nil { + return (*Info_Pod)(nil) + } + r := &Info_Pod{ + AppName: m.AppName, + Name: m.Name, + Namespace: m.Namespace, + Ip: m.Ip, + Cpu: m.Cpu.CloneVT(), + Memory: m.Memory.CloneVT(), + Node: m.Node.CloneVT(), + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Info_Pod) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Info_Node) CloneVT() *Info_Node { + if m == nil { + return (*Info_Node)(nil) + } + r := &Info_Node{ + Name: m.Name, + InternalAddr: m.InternalAddr, + ExternalAddr: m.ExternalAddr, + Cpu: m.Cpu.CloneVT(), + Memory: m.Memory.CloneVT(), + Pods: m.Pods.CloneVT(), + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Info_Node) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Info_CPU) CloneVT() *Info_CPU { + if m == nil { + return (*Info_CPU)(nil) + } + r := &Info_CPU{ + Limit: m.Limit, + Request: m.Request, + Usage: m.Usage, + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Info_CPU) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Info_Memory) CloneVT() *Info_Memory { + if m == nil { + return (*Info_Memory)(nil) + } + r := &Info_Memory{ + Limit: m.Limit, + Request: m.Request, + Usage: m.Usage, + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Info_Memory) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Info_Pods) CloneVT() *Info_Pods { + if m == nil { + return (*Info_Pods)(nil) + } + r := &Info_Pods{} + if rhs := m.Pods; rhs != nil { + tmpContainer := make([]*Info_Pod, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() } + r.Pods = tmpContainer } - return string(this.unknownFields) == string(that.unknownFields) + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (this *Object_IDs) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Object_IDs) - if !ok { - return false +func (m *Info_Pods) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Info_Nodes) CloneVT() *Info_Nodes { + if m == nil { + return (*Info_Nodes)(nil) } - return this.EqualVT(that) + r := &Info_Nodes{} + if rhs := m.Nodes; rhs != nil { + tmpContainer := make([]*Info_Node, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() + } + r.Nodes = tmpContainer + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (this *Object_Vector) EqualVT(that *Object_Vector) bool { + +func (m *Info_Nodes) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Info_IPs) CloneVT() *Info_IPs { + if m == nil { + return (*Info_IPs)(nil) + } + r := &Info_IPs{} + if rhs := m.Ip; rhs != nil { + tmpContainer := make([]string, len(rhs)) + copy(tmpContainer, rhs) + r.Ip = tmpContainer + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Info_IPs) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Info) CloneVT() *Info { + if m == nil { + return (*Info)(nil) + } + r := &Info{} + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Info) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Empty) CloneVT() *Empty { + if m == nil { + return (*Empty)(nil) + } + r := &Empty{} + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Empty) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (this *Search_Request) EqualVT(that *Search_Request) bool { if this == that { return true } else if this == nil || that == nil { return false } - if this.Id != that.Id { - return false - } if len(this.Vector) != len(that.Vector) { return false } @@ -1240,33 +1585,36 @@ func (this *Object_Vector) EqualVT(that *Object_Vector) bool { return false } } + if !this.Config.EqualVT(that.Config) { + return false + } return string(this.unknownFields) == string(that.unknownFields) } -func (this *Object_Vector) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Object_Vector) +func (this *Search_Request) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Search_Request) if !ok { return false } return this.EqualVT(that) } -func (this *Object_Vectors) EqualVT(that *Object_Vectors) bool { +func (this *Search_MultiRequest) EqualVT(that *Search_MultiRequest) bool { if this == that { return true } else if this == nil || that == nil { return false } - if len(this.Vectors) != len(that.Vectors) { + if len(this.Requests) != len(that.Requests) { return false } - for i, vx := range this.Vectors { - vy := that.Vectors[i] + for i, vx := range this.Requests { + vy := that.Requests[i] if p, q := vx, vy; p != q { if p == nil { - p = &Object_Vector{} + p = &Search_Request{} } if q == nil { - q = &Object_Vector{} + q = &Search_Request{} } if !p.EqualVT(q) { return false @@ -1276,146 +1624,239 @@ func (this *Object_Vectors) EqualVT(that *Object_Vectors) bool { return string(this.unknownFields) == string(that.unknownFields) } -func (this *Object_Vectors) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Object_Vectors) +func (this *Search_MultiRequest) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Search_MultiRequest) if !ok { return false } return this.EqualVT(that) } -func (this *Object_StreamVector) EqualVT(that *Object_StreamVector) bool { +func (this *Search_IDRequest) EqualVT(that *Search_IDRequest) bool { if this == that { return true } else if this == nil || that == nil { return false } - if this.Payload == nil && that.Payload != nil { + if this.Id != that.Id { + return false + } + if !this.Config.EqualVT(that.Config) { return false - } else if this.Payload != nil { - if that.Payload == nil { - return false - } - if !this.Payload.(interface { - EqualVT(isObject_StreamVector_Payload) bool - }).EqualVT(that.Payload) { - return false - } } return string(this.unknownFields) == string(that.unknownFields) } -func (this *Object_StreamVector) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Object_StreamVector) +func (this *Search_IDRequest) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Search_IDRequest) if !ok { return false } return this.EqualVT(that) } -func (this *Object_StreamVector_Vector) EqualVT(thatIface isObject_StreamVector_Payload) bool { - that, ok := thatIface.(*Object_StreamVector_Vector) +func (this *Search_MultiIDRequest) EqualVT(that *Search_MultiIDRequest) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if len(this.Requests) != len(that.Requests) { + return false + } + for i, vx := range this.Requests { + vy := that.Requests[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &Search_IDRequest{} + } + if q == nil { + q = &Search_IDRequest{} + } + if !p.EqualVT(q) { + return false + } + } + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Search_MultiIDRequest) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Search_MultiIDRequest) if !ok { return false } + return this.EqualVT(that) +} +func (this *Search_ObjectRequest) EqualVT(that *Search_ObjectRequest) bool { if this == that { return true + } else if this == nil || that == nil { + return false } - if this == nil && that != nil || this != nil && that == nil { + if string(this.Object) != string(that.Object) { return false } - if p, q := this.Vector, that.Vector; p != q { - if p == nil { - p = &Object_Vector{} - } - if q == nil { - q = &Object_Vector{} - } - if !p.EqualVT(q) { - return false - } + if !this.Config.EqualVT(that.Config) { + return false } - return true + if !this.Vectorizer.EqualVT(that.Vectorizer) { + return false + } + return string(this.unknownFields) == string(that.unknownFields) } -func (this *Object_StreamVector_Status) EqualVT(thatIface isObject_StreamVector_Payload) bool { - that, ok := thatIface.(*Object_StreamVector_Status) +func (this *Search_ObjectRequest) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Search_ObjectRequest) if !ok { return false } + return this.EqualVT(that) +} +func (this *Search_MultiObjectRequest) EqualVT(that *Search_MultiObjectRequest) bool { if this == that { return true + } else if this == nil || that == nil { + return false } - if this == nil && that != nil || this != nil && that == nil { + if len(this.Requests) != len(that.Requests) { return false } - if p, q := this.Status, that.Status; p != q { - if p == nil { - p = &status.Status{} - } - if q == nil { - q = &status.Status{} - } - if equal, ok := interface{}(p).(interface{ EqualVT(*status.Status) bool }); ok { - if !equal.EqualVT(q) { + for i, vx := range this.Requests { + vy := that.Requests[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &Search_ObjectRequest{} + } + if q == nil { + q = &Search_ObjectRequest{} + } + if !p.EqualVT(q) { return false } - } else if !proto.Equal(p, q) { - return false } } - return true + return string(this.unknownFields) == string(that.unknownFields) } -func (this *Object_ReshapeVector) EqualVT(that *Object_ReshapeVector) bool { +func (this *Search_MultiObjectRequest) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Search_MultiObjectRequest) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Search_Config) EqualVT(that *Search_Config) bool { if this == that { return true } else if this == nil || that == nil { return false } - if string(this.Object) != string(that.Object) { + if this.RequestId != that.RequestId { return false } - if len(this.Shape) != len(that.Shape) { + if this.Num != that.Num { return false } - for i, vx := range this.Shape { - vy := that.Shape[i] - if vx != vy { - return false - } + if this.Radius != that.Radius { + return false + } + if this.Epsilon != that.Epsilon { + return false + } + if this.Timeout != that.Timeout { + return false + } + if !this.IngressFilters.EqualVT(that.IngressFilters) { + return false + } + if !this.EgressFilters.EqualVT(that.EgressFilters) { + return false + } + if this.MinNum != that.MinNum { + return false + } + if this.AggregationAlgorithm != that.AggregationAlgorithm { + return false } return string(this.unknownFields) == string(that.unknownFields) } -func (this *Object_ReshapeVector) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Object_ReshapeVector) +func (this *Search_Config) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Search_Config) if !ok { return false } return this.EqualVT(that) } -func (this *Object_Blob) EqualVT(that *Object_Blob) bool { +func (this *Search_Response) EqualVT(that *Search_Response) bool { if this == that { return true } else if this == nil || that == nil { return false } - if this.Id != that.Id { + if this.RequestId != that.RequestId { return false } - if string(this.Object) != string(that.Object) { + if len(this.Results) != len(that.Results) { return false } + for i, vx := range this.Results { + vy := that.Results[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &Object_Distance{} + } + if q == nil { + q = &Object_Distance{} + } + if !p.EqualVT(q) { + return false + } + } + } return string(this.unknownFields) == string(that.unknownFields) } -func (this *Object_Blob) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Object_Blob) +func (this *Search_Response) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Search_Response) if !ok { return false } return this.EqualVT(that) } -func (this *Object_StreamBlob) EqualVT(that *Object_StreamBlob) bool { +func (this *Search_Responses) EqualVT(that *Search_Responses) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if len(this.Responses) != len(that.Responses) { + return false + } + for i, vx := range this.Responses { + vy := that.Responses[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &Search_Response{} + } + if q == nil { + q = &Search_Response{} + } + if !p.EqualVT(q) { + return false + } + } + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Search_Responses) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Search_Responses) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Search_StreamResponse) EqualVT(that *Search_StreamResponse) bool { if this == that { return true } else if this == nil || that == nil { @@ -1428,7 +1869,7 @@ func (this *Object_StreamBlob) EqualVT(that *Object_StreamBlob) bool { return false } if !this.Payload.(interface { - EqualVT(isObject_StreamBlob_Payload) bool + EqualVT(isSearch_StreamResponse_Payload) bool }).EqualVT(that.Payload) { return false } @@ -1436,15 +1877,15 @@ func (this *Object_StreamBlob) EqualVT(that *Object_StreamBlob) bool { return string(this.unknownFields) == string(that.unknownFields) } -func (this *Object_StreamBlob) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Object_StreamBlob) +func (this *Search_StreamResponse) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Search_StreamResponse) if !ok { return false } return this.EqualVT(that) } -func (this *Object_StreamBlob_Blob) EqualVT(thatIface isObject_StreamBlob_Payload) bool { - that, ok := thatIface.(*Object_StreamBlob_Blob) +func (this *Search_StreamResponse_Response) EqualVT(thatIface isSearch_StreamResponse_Payload) bool { + that, ok := thatIface.(*Search_StreamResponse_Response) if !ok { return false } @@ -1454,12 +1895,12 @@ func (this *Object_StreamBlob_Blob) EqualVT(thatIface isObject_StreamBlob_Payloa if this == nil && that != nil || this != nil && that == nil { return false } - if p, q := this.Blob, that.Blob; p != q { + if p, q := this.Response, that.Response; p != q { if p == nil { - p = &Object_Blob{} + p = &Search_Response{} } if q == nil { - q = &Object_Blob{} + q = &Search_Response{} } if !p.EqualVT(q) { return false @@ -1468,8 +1909,8 @@ func (this *Object_StreamBlob_Blob) EqualVT(thatIface isObject_StreamBlob_Payloa return true } -func (this *Object_StreamBlob_Status) EqualVT(thatIface isObject_StreamBlob_Payload) bool { - that, ok := thatIface.(*Object_StreamBlob_Status) +func (this *Search_StreamResponse_Status) EqualVT(thatIface isSearch_StreamResponse_Payload) bool { + that, ok := thatIface.(*Search_StreamResponse_Status) if !ok { return false } @@ -1497,136 +1938,132 @@ func (this *Object_StreamBlob_Status) EqualVT(thatIface isObject_StreamBlob_Payl return true } -func (this *Object_Location) EqualVT(that *Object_Location) bool { +func (this *Search) EqualVT(that *Search) bool { if this == that { return true } else if this == nil || that == nil { return false } - if this.Name != that.Name { + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Search) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Search) + if !ok { return false } - if this.Uuid != that.Uuid { + return this.EqualVT(that) +} +func (this *Filter_Target) EqualVT(that *Filter_Target) bool { + if this == that { + return true + } else if this == nil || that == nil { return false } - if len(this.Ips) != len(that.Ips) { + if this.Host != that.Host { return false } - for i, vx := range this.Ips { - vy := that.Ips[i] - if vx != vy { - return false - } + if this.Port != that.Port { + return false } return string(this.unknownFields) == string(that.unknownFields) } -func (this *Object_Location) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Object_Location) +func (this *Filter_Target) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Filter_Target) if !ok { return false } return this.EqualVT(that) } -func (this *Object_StreamLocation) EqualVT(that *Object_StreamLocation) bool { +func (this *Filter_Config) EqualVT(that *Filter_Config) bool { if this == that { return true } else if this == nil || that == nil { return false } - if this.Payload == nil && that.Payload != nil { + if len(this.Targets) != len(that.Targets) { return false - } else if this.Payload != nil { - if that.Payload == nil { - return false - } - if !this.Payload.(interface { - EqualVT(isObject_StreamLocation_Payload) bool - }).EqualVT(that.Payload) { - return false + } + for i, vx := range this.Targets { + vy := that.Targets[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &Filter_Target{} + } + if q == nil { + q = &Filter_Target{} + } + if !p.EqualVT(q) { + return false + } } } return string(this.unknownFields) == string(that.unknownFields) } -func (this *Object_StreamLocation) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Object_StreamLocation) +func (this *Filter_Config) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Filter_Config) if !ok { return false } return this.EqualVT(that) } -func (this *Object_StreamLocation_Location) EqualVT(thatIface isObject_StreamLocation_Payload) bool { - that, ok := thatIface.(*Object_StreamLocation_Location) - if !ok { - return false - } +func (this *Filter) EqualVT(that *Filter) bool { if this == that { return true - } - if this == nil && that != nil || this != nil && that == nil { + } else if this == nil || that == nil { return false } - if p, q := this.Location, that.Location; p != q { - if p == nil { - p = &Object_Location{} - } - if q == nil { - q = &Object_Location{} - } - if !p.EqualVT(q) { - return false - } - } - return true + return string(this.unknownFields) == string(that.unknownFields) } -func (this *Object_StreamLocation_Status) EqualVT(thatIface isObject_StreamLocation_Payload) bool { - that, ok := thatIface.(*Object_StreamLocation_Status) +func (this *Filter) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Filter) if !ok { return false } + return this.EqualVT(that) +} +func (this *Insert_Request) EqualVT(that *Insert_Request) bool { if this == that { return true + } else if this == nil || that == nil { + return false } - if this == nil && that != nil || this != nil && that == nil { + if !this.Vector.EqualVT(that.Vector) { return false } - if p, q := this.Status, that.Status; p != q { - if p == nil { - p = &status.Status{} - } - if q == nil { - q = &status.Status{} - } - if equal, ok := interface{}(p).(interface{ EqualVT(*status.Status) bool }); ok { - if !equal.EqualVT(q) { - return false - } - } else if !proto.Equal(p, q) { - return false - } + if !this.Config.EqualVT(that.Config) { + return false } - return true + return string(this.unknownFields) == string(that.unknownFields) } -func (this *Object_Locations) EqualVT(that *Object_Locations) bool { +func (this *Insert_Request) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Insert_Request) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Insert_MultiRequest) EqualVT(that *Insert_MultiRequest) bool { if this == that { return true } else if this == nil || that == nil { return false } - if len(this.Locations) != len(that.Locations) { + if len(this.Requests) != len(that.Requests) { return false } - for i, vx := range this.Locations { - vy := that.Locations[i] + for i, vx := range this.Requests { + vy := that.Requests[i] if p, q := vx, vy; p != q { if p == nil { - p = &Object_Location{} + p = &Insert_Request{} } if q == nil { - q = &Object_Location{} + q = &Insert_Request{} } if !p.EqualVT(q) { return false @@ -1636,90 +2073,97 @@ func (this *Object_Locations) EqualVT(that *Object_Locations) bool { return string(this.unknownFields) == string(that.unknownFields) } -func (this *Object_Locations) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Object_Locations) +func (this *Insert_MultiRequest) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Insert_MultiRequest) if !ok { return false } return this.EqualVT(that) } -func (this *Object) EqualVT(that *Object) bool { +func (this *Insert_ObjectRequest) EqualVT(that *Insert_ObjectRequest) bool { if this == that { return true } else if this == nil || that == nil { return false } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *Object) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Object) - if !ok { + if !this.Object.EqualVT(that.Object) { return false } - return this.EqualVT(that) -} -func (this *Control_CreateIndexRequest) EqualVT(that *Control_CreateIndexRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { + if !this.Config.EqualVT(that.Config) { return false } - if this.PoolSize != that.PoolSize { + if !this.Vectorizer.EqualVT(that.Vectorizer) { return false } return string(this.unknownFields) == string(that.unknownFields) } -func (this *Control_CreateIndexRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Control_CreateIndexRequest) +func (this *Insert_ObjectRequest) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Insert_ObjectRequest) if !ok { return false } return this.EqualVT(that) } -func (this *Control) EqualVT(that *Control) bool { +func (this *Insert_MultiObjectRequest) EqualVT(that *Insert_MultiObjectRequest) bool { if this == that { return true } else if this == nil || that == nil { return false } + if len(this.Requests) != len(that.Requests) { + return false + } + for i, vx := range this.Requests { + vy := that.Requests[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &Insert_ObjectRequest{} + } + if q == nil { + q = &Insert_ObjectRequest{} + } + if !p.EqualVT(q) { + return false + } + } + } return string(this.unknownFields) == string(that.unknownFields) } -func (this *Control) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Control) +func (this *Insert_MultiObjectRequest) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Insert_MultiObjectRequest) if !ok { return false } return this.EqualVT(that) } -func (this *Discoverer_Request) EqualVT(that *Discoverer_Request) bool { +func (this *Insert_Config) EqualVT(that *Insert_Config) bool { if this == that { return true } else if this == nil || that == nil { return false } - if this.Name != that.Name { + if this.SkipStrictExistCheck != that.SkipStrictExistCheck { return false } - if this.Namespace != that.Namespace { + if !this.Filters.EqualVT(that.Filters) { return false } - if this.Node != that.Node { + if this.Timestamp != that.Timestamp { return false } return string(this.unknownFields) == string(that.unknownFields) } -func (this *Discoverer_Request) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Discoverer_Request) +func (this *Insert_Config) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Insert_Config) if !ok { return false } return this.EqualVT(that) } -func (this *Discoverer) EqualVT(that *Discoverer) bool { +func (this *Insert) EqualVT(that *Insert) bool { if this == that { return true } else if this == nil || that == nil { @@ -1728,249 +2172,366 @@ func (this *Discoverer) EqualVT(that *Discoverer) bool { return string(this.unknownFields) == string(that.unknownFields) } -func (this *Discoverer) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Discoverer) +func (this *Insert) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Insert) if !ok { return false } return this.EqualVT(that) } -func (this *Info_Index_Count) EqualVT(that *Info_Index_Count) bool { +func (this *Update_Request) EqualVT(that *Update_Request) bool { if this == that { return true } else if this == nil || that == nil { return false } - if this.Stored != that.Stored { - return false - } - if this.Uncommitted != that.Uncommitted { - return false - } - if this.Indexing != that.Indexing { + if !this.Vector.EqualVT(that.Vector) { return false } - if this.Saving != that.Saving { + if !this.Config.EqualVT(that.Config) { return false } return string(this.unknownFields) == string(that.unknownFields) } -func (this *Info_Index_Count) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Info_Index_Count) +func (this *Update_Request) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Update_Request) if !ok { return false } return this.EqualVT(that) } -func (this *Info_Index_UUID_Committed) EqualVT(that *Info_Index_UUID_Committed) bool { +func (this *Update_MultiRequest) EqualVT(that *Update_MultiRequest) bool { if this == that { return true } else if this == nil || that == nil { return false } - if this.Uuid != that.Uuid { + if len(this.Requests) != len(that.Requests) { return false } + for i, vx := range this.Requests { + vy := that.Requests[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &Update_Request{} + } + if q == nil { + q = &Update_Request{} + } + if !p.EqualVT(q) { + return false + } + } + } return string(this.unknownFields) == string(that.unknownFields) } -func (this *Info_Index_UUID_Committed) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Info_Index_UUID_Committed) +func (this *Update_MultiRequest) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Update_MultiRequest) if !ok { return false } return this.EqualVT(that) } -func (this *Info_Index_UUID_Uncommitted) EqualVT(that *Info_Index_UUID_Uncommitted) bool { +func (this *Update_ObjectRequest) EqualVT(that *Update_ObjectRequest) bool { if this == that { return true } else if this == nil || that == nil { return false } - if this.Uuid != that.Uuid { + if !this.Object.EqualVT(that.Object) { + return false + } + if !this.Config.EqualVT(that.Config) { + return false + } + if !this.Vectorizer.EqualVT(that.Vectorizer) { return false } return string(this.unknownFields) == string(that.unknownFields) } -func (this *Info_Index_UUID_Uncommitted) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Info_Index_UUID_Uncommitted) +func (this *Update_ObjectRequest) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Update_ObjectRequest) if !ok { return false } return this.EqualVT(that) } -func (this *Info_Index_UUID) EqualVT(that *Info_Index_UUID) bool { +func (this *Update_MultiObjectRequest) EqualVT(that *Update_MultiObjectRequest) bool { if this == that { return true } else if this == nil || that == nil { return false } + if len(this.Requests) != len(that.Requests) { + return false + } + for i, vx := range this.Requests { + vy := that.Requests[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &Update_ObjectRequest{} + } + if q == nil { + q = &Update_ObjectRequest{} + } + if !p.EqualVT(q) { + return false + } + } + } return string(this.unknownFields) == string(that.unknownFields) } -func (this *Info_Index_UUID) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Info_Index_UUID) +func (this *Update_MultiObjectRequest) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Update_MultiObjectRequest) if !ok { return false } return this.EqualVT(that) } -func (this *Info_Index) EqualVT(that *Info_Index) bool { +func (this *Update_Config) EqualVT(that *Update_Config) bool { if this == that { return true } else if this == nil || that == nil { return false } + if this.SkipStrictExistCheck != that.SkipStrictExistCheck { + return false + } + if !this.Filters.EqualVT(that.Filters) { + return false + } + if this.Timestamp != that.Timestamp { + return false + } + if this.DisableBalancedUpdate != that.DisableBalancedUpdate { + return false + } return string(this.unknownFields) == string(that.unknownFields) } -func (this *Info_Index) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Info_Index) +func (this *Update_Config) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Update_Config) if !ok { return false } return this.EqualVT(that) } -func (this *Info_Pod) EqualVT(that *Info_Pod) bool { +func (this *Update) EqualVT(that *Update) bool { if this == that { return true } else if this == nil || that == nil { return false } - if this.AppName != that.AppName { + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Update) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Update) + if !ok { return false } - if this.Name != that.Name { + return this.EqualVT(that) +} +func (this *Upsert_Request) EqualVT(that *Upsert_Request) bool { + if this == that { + return true + } else if this == nil || that == nil { return false } - if this.Namespace != that.Namespace { + if !this.Vector.EqualVT(that.Vector) { return false } - if this.Ip != that.Ip { + if !this.Config.EqualVT(that.Config) { return false } - if !this.Cpu.EqualVT(that.Cpu) { + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Upsert_Request) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Upsert_Request) + if !ok { return false } - if !this.Memory.EqualVT(that.Memory) { + return this.EqualVT(that) +} +func (this *Upsert_MultiRequest) EqualVT(that *Upsert_MultiRequest) bool { + if this == that { + return true + } else if this == nil || that == nil { return false } - if !this.Node.EqualVT(that.Node) { + if len(this.Requests) != len(that.Requests) { return false } + for i, vx := range this.Requests { + vy := that.Requests[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &Upsert_Request{} + } + if q == nil { + q = &Upsert_Request{} + } + if !p.EqualVT(q) { + return false + } + } + } return string(this.unknownFields) == string(that.unknownFields) } -func (this *Info_Pod) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Info_Pod) +func (this *Upsert_MultiRequest) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Upsert_MultiRequest) if !ok { return false } return this.EqualVT(that) } -func (this *Info_Node) EqualVT(that *Info_Node) bool { +func (this *Upsert_ObjectRequest) EqualVT(that *Upsert_ObjectRequest) bool { if this == that { return true } else if this == nil || that == nil { return false } - if this.Name != that.Name { + if !this.Object.EqualVT(that.Object) { return false } - if this.InternalAddr != that.InternalAddr { + if !this.Config.EqualVT(that.Config) { return false } - if this.ExternalAddr != that.ExternalAddr { + if !this.Vectorizer.EqualVT(that.Vectorizer) { return false } - if !this.Cpu.EqualVT(that.Cpu) { + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Upsert_ObjectRequest) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Upsert_ObjectRequest) + if !ok { return false } - if !this.Memory.EqualVT(that.Memory) { + return this.EqualVT(that) +} +func (this *Upsert_MultiObjectRequest) EqualVT(that *Upsert_MultiObjectRequest) bool { + if this == that { + return true + } else if this == nil || that == nil { return false } - if !this.Pods.EqualVT(that.Pods) { + if len(this.Requests) != len(that.Requests) { return false } + for i, vx := range this.Requests { + vy := that.Requests[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &Upsert_ObjectRequest{} + } + if q == nil { + q = &Upsert_ObjectRequest{} + } + if !p.EqualVT(q) { + return false + } + } + } return string(this.unknownFields) == string(that.unknownFields) } -func (this *Info_Node) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Info_Node) +func (this *Upsert_MultiObjectRequest) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Upsert_MultiObjectRequest) if !ok { return false } return this.EqualVT(that) } -func (this *Info_CPU) EqualVT(that *Info_CPU) bool { +func (this *Upsert_Config) EqualVT(that *Upsert_Config) bool { if this == that { return true } else if this == nil || that == nil { return false } - if this.Limit != that.Limit { + if this.SkipStrictExistCheck != that.SkipStrictExistCheck { return false } - if this.Request != that.Request { + if !this.Filters.EqualVT(that.Filters) { return false } - if this.Usage != that.Usage { + if this.Timestamp != that.Timestamp { + return false + } + if this.DisableBalancedUpdate != that.DisableBalancedUpdate { return false } return string(this.unknownFields) == string(that.unknownFields) } -func (this *Info_CPU) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Info_CPU) +func (this *Upsert_Config) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Upsert_Config) if !ok { return false } return this.EqualVT(that) } -func (this *Info_Memory) EqualVT(that *Info_Memory) bool { +func (this *Upsert) EqualVT(that *Upsert) bool { if this == that { return true } else if this == nil || that == nil { return false } - if this.Limit != that.Limit { + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Upsert) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Upsert) + if !ok { return false } - if this.Request != that.Request { + return this.EqualVT(that) +} +func (this *Remove_Request) EqualVT(that *Remove_Request) bool { + if this == that { + return true + } else if this == nil || that == nil { return false } - if this.Usage != that.Usage { + if !this.Id.EqualVT(that.Id) { + return false + } + if !this.Config.EqualVT(that.Config) { return false } return string(this.unknownFields) == string(that.unknownFields) } -func (this *Info_Memory) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Info_Memory) +func (this *Remove_Request) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Remove_Request) if !ok { return false } return this.EqualVT(that) } -func (this *Info_Pods) EqualVT(that *Info_Pods) bool { +func (this *Remove_MultiRequest) EqualVT(that *Remove_MultiRequest) bool { if this == that { return true } else if this == nil || that == nil { return false } - if len(this.Pods) != len(that.Pods) { + if len(this.Requests) != len(that.Requests) { return false } - for i, vx := range this.Pods { - vy := that.Pods[i] + for i, vx := range this.Requests { + vy := that.Requests[i] if p, q := vx, vy; p != q { if p == nil { - p = &Info_Pod{} + p = &Remove_Request{} } if q == nil { - q = &Info_Pod{} + q = &Remove_Request{} } if !p.EqualVT(q) { return false @@ -1980,716 +2541,1077 @@ func (this *Info_Pods) EqualVT(that *Info_Pods) bool { return string(this.unknownFields) == string(that.unknownFields) } -func (this *Info_Pods) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Info_Pods) +func (this *Remove_MultiRequest) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Remove_MultiRequest) if !ok { return false } return this.EqualVT(that) } -func (this *Info_Nodes) EqualVT(that *Info_Nodes) bool { +func (this *Remove_Config) EqualVT(that *Remove_Config) bool { if this == that { return true } else if this == nil || that == nil { return false } - if len(this.Nodes) != len(that.Nodes) { + if this.SkipStrictExistCheck != that.SkipStrictExistCheck { return false } - for i, vx := range this.Nodes { - vy := that.Nodes[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &Info_Node{} - } - if q == nil { - q = &Info_Node{} - } - if !p.EqualVT(q) { - return false - } - } + if this.Timestamp != that.Timestamp { + return false } return string(this.unknownFields) == string(that.unknownFields) } -func (this *Info_Nodes) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Info_Nodes) +func (this *Remove_Config) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Remove_Config) if !ok { return false } return this.EqualVT(that) } -func (this *Info_IPs) EqualVT(that *Info_IPs) bool { +func (this *Remove) EqualVT(that *Remove) bool { if this == that { return true } else if this == nil || that == nil { return false } - if len(this.Ip) != len(that.Ip) { - return false - } - for i, vx := range this.Ip { - vy := that.Ip[i] - if vx != vy { - return false - } - } return string(this.unknownFields) == string(that.unknownFields) } -func (this *Info_IPs) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Info_IPs) +func (this *Remove) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Remove) if !ok { return false } return this.EqualVT(that) } -func (this *Info) EqualVT(that *Info) bool { +func (this *Object_VectorRequest) EqualVT(that *Object_VectorRequest) bool { if this == that { return true } else if this == nil || that == nil { return false } + if !this.Id.EqualVT(that.Id) { + return false + } + if !this.Filters.EqualVT(that.Filters) { + return false + } return string(this.unknownFields) == string(that.unknownFields) } -func (this *Info) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Info) +func (this *Object_VectorRequest) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Object_VectorRequest) if !ok { return false } return this.EqualVT(that) } -func (this *Empty) EqualVT(that *Empty) bool { +func (this *Object_Distance) EqualVT(that *Object_Distance) bool { if this == that { return true } else if this == nil || that == nil { return false } + if this.Id != that.Id { + return false + } + if this.Distance != that.Distance { + return false + } return string(this.unknownFields) == string(that.unknownFields) } -func (this *Empty) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Empty) +func (this *Object_Distance) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Object_Distance) if !ok { return false } return this.EqualVT(that) } -func (m *Search_Request) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil +func (this *Object_StreamDistance) EqualVT(that *Object_StreamDistance) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err + if this.Payload == nil && that.Payload != nil { + return false + } else if this.Payload != nil { + if that.Payload == nil { + return false + } + if !this.Payload.(interface { + EqualVT(isObject_StreamDistance_Payload) bool + }).EqualVT(that.Payload) { + return false + } } - return dAtA[:n], nil + return string(this.unknownFields) == string(that.unknownFields) } -func (m *Search_Request) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) +func (this *Object_StreamDistance) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Object_StreamDistance) + if !ok { + return false + } + return this.EqualVT(that) } - -func (m *Search_Request) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil +func (this *Object_StreamDistance_Distance) EqualVT(thatIface isObject_StreamDistance_Payload) bool { + that, ok := thatIface.(*Object_StreamDistance_Distance) + if !ok { + return false } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) + if this == that { + return true } - if m.Config != nil { - size, err := m.Config.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 + if this == nil && that != nil || this != nil && that == nil { + return false } - if len(m.Vector) > 0 { - for iNdEx := len(m.Vector) - 1; iNdEx >= 0; iNdEx-- { - f1 := math.Float32bits(float32(m.Vector[iNdEx])) - i -= 4 - binary.LittleEndian.PutUint32(dAtA[i:], uint32(f1)) + if p, q := this.Distance, that.Distance; p != q { + if p == nil { + p = &Object_Distance{} + } + if q == nil { + q = &Object_Distance{} + } + if !p.EqualVT(q) { + return false } - i = encodeVarint(dAtA, i, uint64(len(m.Vector)*4)) - i-- - dAtA[i] = 0xa } - return len(dAtA) - i, nil + return true } -func (m *Search_MultiRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err +func (this *Object_StreamDistance_Status) EqualVT(thatIface isObject_StreamDistance_Payload) bool { + that, ok := thatIface.(*Object_StreamDistance_Status) + if !ok { + return false } - return dAtA[:n], nil -} - -func (m *Search_MultiRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *Search_MultiRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil + if this == that { + return true } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) + if this == nil && that != nil || this != nil && that == nil { + return false } - if len(m.Requests) > 0 { - for iNdEx := len(m.Requests) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Requests[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if p, q := this.Status, that.Status; p != q { + if p == nil { + p = &status.Status{} + } + if q == nil { + q = &status.Status{} + } + if equal, ok := interface{}(p).(interface{ EqualVT(*status.Status) bool }); ok { + if !equal.EqualVT(q) { + return false } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa + } else if !proto.Equal(p, q) { + return false } } - return len(dAtA) - i, nil + return true } -func (m *Search_IDRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil +func (this *Object_ID) EqualVT(that *Object_ID) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err + if this.Id != that.Id { + return false } - return dAtA[:n], nil + return string(this.unknownFields) == string(that.unknownFields) } -func (m *Search_IDRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) +func (this *Object_ID) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Object_ID) + if !ok { + return false + } + return this.EqualVT(that) } - -func (m *Search_IDRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil +func (this *Object_IDs) EqualVT(that *Object_IDs) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) + if len(this.Ids) != len(that.Ids) { + return false } - if m.Config != nil { - size, err := m.Config.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + for i, vx := range this.Ids { + vy := that.Ids[i] + if vx != vy { + return false } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 } - if len(m.Id) > 0 { - i -= len(m.Id) - copy(dAtA[i:], m.Id) - i = encodeVarint(dAtA, i, uint64(len(m.Id))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil + return string(this.unknownFields) == string(that.unknownFields) } -func (m *Search_MultiIDRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil +func (this *Object_IDs) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Object_IDs) + if !ok { + return false } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err + return this.EqualVT(that) +} +func (this *Object_Vector) EqualVT(that *Object_Vector) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false } - return dAtA[:n], nil + if this.Id != that.Id { + return false + } + if len(this.Vector) != len(that.Vector) { + return false + } + for i, vx := range this.Vector { + vy := that.Vector[i] + if vx != vy { + return false + } + } + return string(this.unknownFields) == string(that.unknownFields) } -func (m *Search_MultiIDRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) +func (this *Object_Vector) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Object_Vector) + if !ok { + return false + } + return this.EqualVT(that) } - -func (m *Search_MultiIDRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil +func (this *Object_Vectors) EqualVT(that *Object_Vectors) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) + if len(this.Vectors) != len(that.Vectors) { + return false } - if len(m.Requests) > 0 { - for iNdEx := len(m.Requests) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Requests[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + for i, vx := range this.Vectors { + vy := that.Vectors[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &Object_Vector{} + } + if q == nil { + q = &Object_Vector{} + } + if !p.EqualVT(q) { + return false } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa } } - return len(dAtA) - i, nil + return string(this.unknownFields) == string(that.unknownFields) } -func (m *Search_ObjectRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err +func (this *Object_Vectors) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Object_Vectors) + if !ok { + return false } - return dAtA[:n], nil + return this.EqualVT(that) } - -func (m *Search_ObjectRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) +func (this *Object_StreamVector) EqualVT(that *Object_StreamVector) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Payload == nil && that.Payload != nil { + return false + } else if this.Payload != nil { + if that.Payload == nil { + return false + } + if !this.Payload.(interface { + EqualVT(isObject_StreamVector_Payload) bool + }).EqualVT(that.Payload) { + return false + } + } + return string(this.unknownFields) == string(that.unknownFields) } -func (m *Search_ObjectRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil +func (this *Object_StreamVector) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Object_StreamVector) + if !ok { + return false } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) + return this.EqualVT(that) +} +func (this *Object_StreamVector_Vector) EqualVT(thatIface isObject_StreamVector_Payload) bool { + that, ok := thatIface.(*Object_StreamVector_Vector) + if !ok { + return false } - if m.Vectorizer != nil { - size, err := m.Vectorizer.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.Vector, that.Vector; p != q { + if p == nil { + p = &Object_Vector{} + } + if q == nil { + q = &Object_Vector{} + } + if !p.EqualVT(q) { + return false } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x1a } - if m.Config != nil { - size, err := m.Config.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + return true +} + +func (this *Object_StreamVector_Status) EqualVT(thatIface isObject_StreamVector_Payload) bool { + that, ok := thatIface.(*Object_StreamVector_Status) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.Status, that.Status; p != q { + if p == nil { + p = &status.Status{} + } + if q == nil { + q = &status.Status{} + } + if equal, ok := interface{}(p).(interface{ EqualVT(*status.Status) bool }); ok { + if !equal.EqualVT(q) { + return false + } + } else if !proto.Equal(p, q) { + return false } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 } - if len(m.Object) > 0 { - i -= len(m.Object) - copy(dAtA[i:], m.Object) - i = encodeVarint(dAtA, i, uint64(len(m.Object))) - i-- - dAtA[i] = 0xa + return true +} + +func (this *Object_ReshapeVector) EqualVT(that *Object_ReshapeVector) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false } - return len(dAtA) - i, nil + if string(this.Object) != string(that.Object) { + return false + } + if len(this.Shape) != len(that.Shape) { + return false + } + for i, vx := range this.Shape { + vy := that.Shape[i] + if vx != vy { + return false + } + } + return string(this.unknownFields) == string(that.unknownFields) } -func (m *Search_MultiObjectRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil +func (this *Object_ReshapeVector) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Object_ReshapeVector) + if !ok { + return false } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err + return this.EqualVT(that) +} +func (this *Object_Blob) EqualVT(that *Object_Blob) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false } - return dAtA[:n], nil + if this.Id != that.Id { + return false + } + if string(this.Object) != string(that.Object) { + return false + } + return string(this.unknownFields) == string(that.unknownFields) } -func (m *Search_MultiObjectRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) +func (this *Object_Blob) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Object_Blob) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Object_StreamBlob) EqualVT(that *Object_StreamBlob) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Payload == nil && that.Payload != nil { + return false + } else if this.Payload != nil { + if that.Payload == nil { + return false + } + if !this.Payload.(interface { + EqualVT(isObject_StreamBlob_Payload) bool + }).EqualVT(that.Payload) { + return false + } + } + return string(this.unknownFields) == string(that.unknownFields) } -func (m *Search_MultiObjectRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil +func (this *Object_StreamBlob) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Object_StreamBlob) + if !ok { + return false } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) + return this.EqualVT(that) +} +func (this *Object_StreamBlob_Blob) EqualVT(thatIface isObject_StreamBlob_Payload) bool { + that, ok := thatIface.(*Object_StreamBlob_Blob) + if !ok { + return false } - if len(m.Requests) > 0 { - for iNdEx := len(m.Requests) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Requests[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.Blob, that.Blob; p != q { + if p == nil { + p = &Object_Blob{} + } + if q == nil { + q = &Object_Blob{} + } + if !p.EqualVT(q) { + return false } } - return len(dAtA) - i, nil + return true } -func (m *Search_Config) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil +func (this *Object_StreamBlob_Status) EqualVT(thatIface isObject_StreamBlob_Payload) bool { + that, ok := thatIface.(*Object_StreamBlob_Status) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.Status, that.Status; p != q { + if p == nil { + p = &status.Status{} + } + if q == nil { + q = &status.Status{} + } + if equal, ok := interface{}(p).(interface{ EqualVT(*status.Status) bool }); ok { + if !equal.EqualVT(q) { + return false + } + } else if !proto.Equal(p, q) { + return false + } + } + return true +} + +func (this *Object_Location) EqualVT(that *Object_Location) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Name != that.Name { + return false + } + if this.Uuid != that.Uuid { + return false + } + if len(this.Ips) != len(that.Ips) { + return false + } + for i, vx := range this.Ips { + vy := that.Ips[i] + if vx != vy { + return false + } + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Object_Location) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Object_Location) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Object_StreamLocation) EqualVT(that *Object_StreamLocation) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Payload == nil && that.Payload != nil { + return false + } else if this.Payload != nil { + if that.Payload == nil { + return false + } + if !this.Payload.(interface { + EqualVT(isObject_StreamLocation_Payload) bool + }).EqualVT(that.Payload) { + return false + } + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Object_StreamLocation) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Object_StreamLocation) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Object_StreamLocation_Location) EqualVT(thatIface isObject_StreamLocation_Payload) bool { + that, ok := thatIface.(*Object_StreamLocation_Location) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.Location, that.Location; p != q { + if p == nil { + p = &Object_Location{} + } + if q == nil { + q = &Object_Location{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *Object_StreamLocation_Status) EqualVT(thatIface isObject_StreamLocation_Payload) bool { + that, ok := thatIface.(*Object_StreamLocation_Status) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.Status, that.Status; p != q { + if p == nil { + p = &status.Status{} + } + if q == nil { + q = &status.Status{} + } + if equal, ok := interface{}(p).(interface{ EqualVT(*status.Status) bool }); ok { + if !equal.EqualVT(q) { + return false + } + } else if !proto.Equal(p, q) { + return false + } + } + return true +} + +func (this *Object_Locations) EqualVT(that *Object_Locations) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if len(this.Locations) != len(that.Locations) { + return false + } + for i, vx := range this.Locations { + vy := that.Locations[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &Object_Location{} + } + if q == nil { + q = &Object_Location{} + } + if !p.EqualVT(q) { + return false + } + } + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Object_Locations) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Object_Locations) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Object) EqualVT(that *Object) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Object) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Object) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Control_CreateIndexRequest) EqualVT(that *Control_CreateIndexRequest) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.PoolSize != that.PoolSize { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Control_CreateIndexRequest) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Control_CreateIndexRequest) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Control) EqualVT(that *Control) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Control) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Control) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Discoverer_Request) EqualVT(that *Discoverer_Request) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Name != that.Name { + return false + } + if this.Namespace != that.Namespace { + return false + } + if this.Node != that.Node { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Discoverer_Request) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Discoverer_Request) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Discoverer) EqualVT(that *Discoverer) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Discoverer) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Discoverer) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Info_Index_Count) EqualVT(that *Info_Index_Count) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Stored != that.Stored { + return false + } + if this.Uncommitted != that.Uncommitted { + return false + } + if this.Indexing != that.Indexing { + return false + } + if this.Saving != that.Saving { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Info_Index_Count) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Info_Index_Count) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Info_Index_UUID_Committed) EqualVT(that *Info_Index_UUID_Committed) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Uuid != that.Uuid { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Info_Index_UUID_Committed) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Info_Index_UUID_Committed) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Info_Index_UUID_Uncommitted) EqualVT(that *Info_Index_UUID_Uncommitted) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Uuid != that.Uuid { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Info_Index_UUID_Uncommitted) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Info_Index_UUID_Uncommitted) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Info_Index_UUID) EqualVT(that *Info_Index_UUID) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Info_Index_UUID) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Info_Index_UUID) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Info_Index) EqualVT(that *Info_Index) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Info_Index) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Info_Index) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Info_Pod) EqualVT(that *Info_Pod) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.AppName != that.AppName { + return false + } + if this.Name != that.Name { + return false + } + if this.Namespace != that.Namespace { + return false + } + if this.Ip != that.Ip { + return false + } + if !this.Cpu.EqualVT(that.Cpu) { + return false } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err + if !this.Memory.EqualVT(that.Memory) { + return false } - return dAtA[:n], nil -} - -func (m *Search_Config) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) + if !this.Node.EqualVT(that.Node) { + return false + } + return string(this.unknownFields) == string(that.unknownFields) } -func (m *Search_Config) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil +func (this *Info_Pod) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Info_Pod) + if !ok { + return false } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) + return this.EqualVT(that) +} +func (this *Info_Node) EqualVT(that *Info_Node) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false } - if m.AggregationAlgorithm != 0 { - i = encodeVarint(dAtA, i, uint64(m.AggregationAlgorithm)) - i-- - dAtA[i] = 0x48 + if this.Name != that.Name { + return false } - if m.MinNum != 0 { - i = encodeVarint(dAtA, i, uint64(m.MinNum)) - i-- - dAtA[i] = 0x40 + if this.InternalAddr != that.InternalAddr { + return false } - if m.EgressFilters != nil { - size, err := m.EgressFilters.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x3a + if this.ExternalAddr != that.ExternalAddr { + return false } - if m.IngressFilters != nil { - size, err := m.IngressFilters.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x32 + if !this.Cpu.EqualVT(that.Cpu) { + return false } - if m.Timeout != 0 { - i = encodeVarint(dAtA, i, uint64(m.Timeout)) - i-- - dAtA[i] = 0x28 + if !this.Memory.EqualVT(that.Memory) { + return false } - if m.Epsilon != 0 { - i -= 4 - binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Epsilon)))) - i-- - dAtA[i] = 0x25 + if !this.Pods.EqualVT(that.Pods) { + return false } - if m.Radius != 0 { - i -= 4 - binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Radius)))) - i-- - dAtA[i] = 0x1d + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Info_Node) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Info_Node) + if !ok { + return false } - if m.Num != 0 { - i = encodeVarint(dAtA, i, uint64(m.Num)) - i-- - dAtA[i] = 0x10 + return this.EqualVT(that) +} +func (this *Info_CPU) EqualVT(that *Info_CPU) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false } - if len(m.RequestId) > 0 { - i -= len(m.RequestId) - copy(dAtA[i:], m.RequestId) - i = encodeVarint(dAtA, i, uint64(len(m.RequestId))) - i-- - dAtA[i] = 0xa + if this.Limit != that.Limit { + return false } - return len(dAtA) - i, nil -} - -func (m *Search_Response) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil + if this.Request != that.Request { + return false } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err + if this.Usage != that.Usage { + return false } - return dAtA[:n], nil + return string(this.unknownFields) == string(that.unknownFields) } -func (m *Search_Response) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) +func (this *Info_CPU) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Info_CPU) + if !ok { + return false + } + return this.EqualVT(that) } - -func (m *Search_Response) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil +func (this *Info_Memory) EqualVT(that *Info_Memory) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) + if this.Limit != that.Limit { + return false } - if len(m.Results) > 0 { - for iNdEx := len(m.Results) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Results[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 - } + if this.Request != that.Request { + return false } - if len(m.RequestId) > 0 { - i -= len(m.RequestId) - copy(dAtA[i:], m.RequestId) - i = encodeVarint(dAtA, i, uint64(len(m.RequestId))) - i-- - dAtA[i] = 0xa + if this.Usage != that.Usage { + return false } - return len(dAtA) - i, nil + return string(this.unknownFields) == string(that.unknownFields) } -func (m *Search_Responses) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err +func (this *Info_Memory) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Info_Memory) + if !ok { + return false } - return dAtA[:n], nil -} - -func (m *Search_Responses) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) + return this.EqualVT(that) } - -func (m *Search_Responses) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil +func (this *Info_Pods) EqualVT(that *Info_Pods) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) + if len(this.Pods) != len(that.Pods) { + return false } - if len(m.Responses) > 0 { - for iNdEx := len(m.Responses) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Responses[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + for i, vx := range this.Pods { + vy := that.Pods[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &Info_Pod{} + } + if q == nil { + q = &Info_Pod{} + } + if !p.EqualVT(q) { + return false } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa } } - return len(dAtA) - i, nil -} - -func (m *Search_StreamResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil + return string(this.unknownFields) == string(that.unknownFields) } -func (m *Search_StreamResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) +func (this *Info_Pods) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Info_Pods) + if !ok { + return false + } + return this.EqualVT(that) } - -func (m *Search_StreamResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil +func (this *Info_Nodes) EqualVT(that *Info_Nodes) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) + if len(this.Nodes) != len(that.Nodes) { + return false } - if vtmsg, ok := m.Payload.(interface { - MarshalToSizedBufferVT([]byte) (int, error) - }); ok { - size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + for i, vx := range this.Nodes { + vy := that.Nodes[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &Info_Node{} + } + if q == nil { + q = &Info_Node{} + } + if !p.EqualVT(q) { + return false + } } - i -= size } - return len(dAtA) - i, nil + return string(this.unknownFields) == string(that.unknownFields) } -func (m *Search_StreamResponse_Response) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) +func (this *Info_Nodes) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Info_Nodes) + if !ok { + return false + } + return this.EqualVT(that) } - -func (m *Search_StreamResponse_Response) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - i := len(dAtA) - if m.Response != nil { - size, err := m.Response.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err +func (this *Info_IPs) EqualVT(that *Info_IPs) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if len(this.Ip) != len(that.Ip) { + return false + } + for i, vx := range this.Ip { + vy := that.Ip[i] + if vx != vy { + return false } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa } - return len(dAtA) - i, nil -} -func (m *Search_StreamResponse_Status) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) + return string(this.unknownFields) == string(that.unknownFields) } -func (m *Search_StreamResponse_Status) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - i := len(dAtA) - if m.Status != nil { - if vtmsg, ok := interface{}(m.Status).(interface { - MarshalToSizedBufferVT([]byte) (int, error) - }); ok { - size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - } else { - encoded, err := proto.Marshal(m.Status) - if err != nil { - return 0, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = encodeVarint(dAtA, i, uint64(len(encoded))) - } - i-- - dAtA[i] = 0x12 +func (this *Info_IPs) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Info_IPs) + if !ok { + return false } - return len(dAtA) - i, nil + return this.EqualVT(that) } -func (m *Search) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err +func (this *Info) EqualVT(that *Info) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false } - return dAtA[:n], nil -} - -func (m *Search) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) + return string(this.unknownFields) == string(that.unknownFields) } -func (m *Search) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil +func (this *Info) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Info) + if !ok { + return false } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) + return this.EqualVT(that) +} +func (this *Empty) EqualVT(that *Empty) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false } - return len(dAtA) - i, nil + return string(this.unknownFields) == string(that.unknownFields) } -func (m *Filter_Target) MarshalVT() (dAtA []byte, err error) { +func (this *Empty) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Empty) + if !ok { + return false + } + return this.EqualVT(that) +} +func (m *Search_Request) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -2702,12 +3624,12 @@ func (m *Filter_Target) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Filter_Target) MarshalToVT(dAtA []byte) (int, error) { +func (m *Search_Request) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Filter_Target) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Search_Request) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -2719,22 +3641,30 @@ func (m *Filter_Target) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Port != 0 { - i = encodeVarint(dAtA, i, uint64(m.Port)) + if m.Config != nil { + size, err := m.Config.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x10 + dAtA[i] = 0x12 } - if len(m.Host) > 0 { - i -= len(m.Host) - copy(dAtA[i:], m.Host) - i = encodeVarint(dAtA, i, uint64(len(m.Host))) + if len(m.Vector) > 0 { + for iNdEx := len(m.Vector) - 1; iNdEx >= 0; iNdEx-- { + f1 := math.Float32bits(float32(m.Vector[iNdEx])) + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(f1)) + } + i = encodeVarint(dAtA, i, uint64(len(m.Vector)*4)) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *Filter_Config) MarshalVT() (dAtA []byte, err error) { +func (m *Search_MultiRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -2747,12 +3677,12 @@ func (m *Filter_Config) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Filter_Config) MarshalToVT(dAtA []byte) (int, error) { +func (m *Search_MultiRequest) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Filter_Config) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Search_MultiRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -2764,9 +3694,9 @@ func (m *Filter_Config) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Targets) > 0 { - for iNdEx := len(m.Targets) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Targets[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if len(m.Requests) > 0 { + for iNdEx := len(m.Requests) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Requests[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -2779,40 +3709,7 @@ func (m *Filter_Config) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *Filter) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *Filter) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *Filter) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *Insert_Request) MarshalVT() (dAtA []byte, err error) { +func (m *Search_IDRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -2825,12 +3722,12 @@ func (m *Insert_Request) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Insert_Request) MarshalToVT(dAtA []byte) (int, error) { +func (m *Search_IDRequest) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Insert_Request) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Search_IDRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -2851,21 +3748,18 @@ func (m *Insert_Request) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i = encodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x12 - } - if m.Vector != nil { - size, err := m.Vector.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) + } + if len(m.Id) > 0 { + i -= len(m.Id) + copy(dAtA[i:], m.Id) + i = encodeVarint(dAtA, i, uint64(len(m.Id))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *Insert_MultiRequest) MarshalVT() (dAtA []byte, err error) { +func (m *Search_MultiIDRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -2878,12 +3772,12 @@ func (m *Insert_MultiRequest) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Insert_MultiRequest) MarshalToVT(dAtA []byte) (int, error) { +func (m *Search_MultiIDRequest) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Insert_MultiRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Search_MultiIDRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -2910,7 +3804,7 @@ func (m *Insert_MultiRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *Insert_ObjectRequest) MarshalVT() (dAtA []byte, err error) { +func (m *Search_ObjectRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -2923,12 +3817,12 @@ func (m *Insert_ObjectRequest) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Insert_ObjectRequest) MarshalToVT(dAtA []byte) (int, error) { +func (m *Search_ObjectRequest) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Insert_ObjectRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Search_ObjectRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -2960,20 +3854,17 @@ func (m *Insert_ObjectRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) i-- dAtA[i] = 0x12 } - if m.Object != nil { - size, err := m.Object.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) + if len(m.Object) > 0 { + i -= len(m.Object) + copy(dAtA[i:], m.Object) + i = encodeVarint(dAtA, i, uint64(len(m.Object))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *Insert_MultiObjectRequest) MarshalVT() (dAtA []byte, err error) { +func (m *Search_MultiObjectRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -2986,12 +3877,12 @@ func (m *Insert_MultiObjectRequest) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Insert_MultiObjectRequest) MarshalToVT(dAtA []byte) (int, error) { +func (m *Search_MultiObjectRequest) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Insert_MultiObjectRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Search_MultiObjectRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3018,7 +3909,7 @@ func (m *Insert_MultiObjectRequest) MarshalToSizedBufferVT(dAtA []byte) (int, er return len(dAtA) - i, nil } -func (m *Insert_Config) MarshalVT() (dAtA []byte, err error) { +func (m *Search_Config) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3031,12 +3922,12 @@ func (m *Insert_Config) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Insert_Config) MarshalToVT(dAtA []byte) (int, error) { +func (m *Search_Config) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Insert_Config) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Search_Config) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3048,68 +3939,69 @@ func (m *Insert_Config) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Timestamp != 0 { - i = encodeVarint(dAtA, i, uint64(m.Timestamp)) + if m.AggregationAlgorithm != 0 { + i = encodeVarint(dAtA, i, uint64(m.AggregationAlgorithm)) i-- - dAtA[i] = 0x18 + dAtA[i] = 0x48 } - if m.Filters != nil { - size, err := m.Filters.MarshalToSizedBufferVT(dAtA[:i]) + if m.MinNum != 0 { + i = encodeVarint(dAtA, i, uint64(m.MinNum)) + i-- + dAtA[i] = 0x40 + } + if m.EgressFilters != nil { + size, err := m.EgressFilters.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x12 + dAtA[i] = 0x3a } - if m.SkipStrictExistCheck { - i-- - if m.SkipStrictExistCheck { - dAtA[i] = 1 - } else { - dAtA[i] = 0 + if m.IngressFilters != nil { + size, err := m.IngressFilters.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x8 + dAtA[i] = 0x32 } - return len(dAtA) - i, nil -} - -func (m *Insert) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil + if m.Timeout != 0 { + i = encodeVarint(dAtA, i, uint64(m.Timeout)) + i-- + dAtA[i] = 0x28 } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err + if m.Epsilon != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Epsilon)))) + i-- + dAtA[i] = 0x25 } - return dAtA[:n], nil -} - -func (m *Insert) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *Insert) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil + if m.Radius != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Radius)))) + i-- + dAtA[i] = 0x1d } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) + if m.Num != 0 { + i = encodeVarint(dAtA, i, uint64(m.Num)) + i-- + dAtA[i] = 0x10 + } + if len(m.RequestId) > 0 { + i -= len(m.RequestId) + copy(dAtA[i:], m.RequestId) + i = encodeVarint(dAtA, i, uint64(len(m.RequestId))) + i-- + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *Update_Request) MarshalVT() (dAtA []byte, err error) { +func (m *Search_Response) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3122,12 +4014,12 @@ func (m *Update_Request) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Update_Request) MarshalToVT(dAtA []byte) (int, error) { +func (m *Search_Response) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Update_Request) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Search_Response) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3139,30 +4031,29 @@ func (m *Update_Request) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Config != nil { - size, err := m.Config.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if len(m.Results) > 0 { + for iNdEx := len(m.Results) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Results[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 } - if m.Vector != nil { - size, err := m.Vector.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) + if len(m.RequestId) > 0 { + i -= len(m.RequestId) + copy(dAtA[i:], m.RequestId) + i = encodeVarint(dAtA, i, uint64(len(m.RequestId))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *Update_MultiRequest) MarshalVT() (dAtA []byte, err error) { +func (m *Search_Responses) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3175,12 +4066,12 @@ func (m *Update_MultiRequest) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Update_MultiRequest) MarshalToVT(dAtA []byte) (int, error) { +func (m *Search_Responses) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Update_MultiRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Search_Responses) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3192,9 +4083,9 @@ func (m *Update_MultiRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Requests) > 0 { - for iNdEx := len(m.Requests) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Requests[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if len(m.Responses) > 0 { + for iNdEx := len(m.Responses) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Responses[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -3207,7 +4098,7 @@ func (m *Update_MultiRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *Update_ObjectRequest) MarshalVT() (dAtA []byte, err error) { +func (m *Search_StreamResponse) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3220,12 +4111,12 @@ func (m *Update_ObjectRequest) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Update_ObjectRequest) MarshalToVT(dAtA []byte) (int, error) { +func (m *Search_StreamResponse) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Update_ObjectRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Search_StreamResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3237,40 +4128,102 @@ func (m *Update_ObjectRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Vectorizer != nil { - size, err := m.Vectorizer.MarshalToSizedBufferVT(dAtA[:i]) + if vtmsg, ok := m.Payload.(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x1a } - if m.Config != nil { - size, err := m.Config.MarshalToSizedBufferVT(dAtA[:i]) + return len(dAtA) - i, nil +} + +func (m *Search_StreamResponse_Response) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Search_StreamResponse_Response) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Response != nil { + size, err := m.Response.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x12 + dAtA[i] = 0xa } - if m.Object != nil { - size, err := m.Object.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + return len(dAtA) - i, nil +} +func (m *Search_StreamResponse_Status) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Search_StreamResponse_Status) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Status != nil { + if vtmsg, ok := interface{}(m.Status).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Status) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = encodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0xa + dAtA[i] = 0x12 + } + return len(dAtA) - i, nil +} +func (m *Search) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Search) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Search) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } return len(dAtA) - i, nil } -func (m *Update_MultiObjectRequest) MarshalVT() (dAtA []byte, err error) { +func (m *Filter_Target) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3283,12 +4236,12 @@ func (m *Update_MultiObjectRequest) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Update_MultiObjectRequest) MarshalToVT(dAtA []byte) (int, error) { +func (m *Filter_Target) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Update_MultiObjectRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Filter_Target) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3300,22 +4253,22 @@ func (m *Update_MultiObjectRequest) MarshalToSizedBufferVT(dAtA []byte) (int, er i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Requests) > 0 { - for iNdEx := len(m.Requests) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Requests[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } + if m.Port != 0 { + i = encodeVarint(dAtA, i, uint64(m.Port)) + i-- + dAtA[i] = 0x10 + } + if len(m.Host) > 0 { + i -= len(m.Host) + copy(dAtA[i:], m.Host) + i = encodeVarint(dAtA, i, uint64(len(m.Host))) + i-- + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *Update_Config) MarshalVT() (dAtA []byte, err error) { +func (m *Filter_Config) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3328,12 +4281,12 @@ func (m *Update_Config) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Update_Config) MarshalToVT(dAtA []byte) (int, error) { +func (m *Filter_Config) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Update_Config) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Filter_Config) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3345,45 +4298,22 @@ func (m *Update_Config) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.DisableBalancedUpdate { - i-- - if m.DisableBalancedUpdate { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x20 - } - if m.Timestamp != 0 { - i = encodeVarint(dAtA, i, uint64(m.Timestamp)) - i-- - dAtA[i] = 0x18 - } - if m.Filters != nil { - size, err := m.Filters.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 - } - if m.SkipStrictExistCheck { - i-- - if m.SkipStrictExistCheck { - dAtA[i] = 1 - } else { - dAtA[i] = 0 + if len(m.Targets) > 0 { + for iNdEx := len(m.Targets) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Targets[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa } - i-- - dAtA[i] = 0x8 } return len(dAtA) - i, nil } -func (m *Update) MarshalVT() (dAtA []byte, err error) { +func (m *Filter) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3396,12 +4326,12 @@ func (m *Update) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Update) MarshalToVT(dAtA []byte) (int, error) { +func (m *Filter) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Update) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Filter) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3416,7 +4346,7 @@ func (m *Update) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *Upsert_Request) MarshalVT() (dAtA []byte, err error) { +func (m *Insert_Request) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3429,12 +4359,12 @@ func (m *Upsert_Request) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Upsert_Request) MarshalToVT(dAtA []byte) (int, error) { +func (m *Insert_Request) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Upsert_Request) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Insert_Request) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3469,7 +4399,7 @@ func (m *Upsert_Request) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *Upsert_MultiRequest) MarshalVT() (dAtA []byte, err error) { +func (m *Insert_MultiRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3482,12 +4412,12 @@ func (m *Upsert_MultiRequest) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Upsert_MultiRequest) MarshalToVT(dAtA []byte) (int, error) { +func (m *Insert_MultiRequest) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Upsert_MultiRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Insert_MultiRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3514,7 +4444,7 @@ func (m *Upsert_MultiRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *Upsert_ObjectRequest) MarshalVT() (dAtA []byte, err error) { +func (m *Insert_ObjectRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3527,12 +4457,12 @@ func (m *Upsert_ObjectRequest) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Upsert_ObjectRequest) MarshalToVT(dAtA []byte) (int, error) { +func (m *Insert_ObjectRequest) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Upsert_ObjectRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Insert_ObjectRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3577,7 +4507,7 @@ func (m *Upsert_ObjectRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *Upsert_MultiObjectRequest) MarshalVT() (dAtA []byte, err error) { +func (m *Insert_MultiObjectRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3590,12 +4520,12 @@ func (m *Upsert_MultiObjectRequest) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Upsert_MultiObjectRequest) MarshalToVT(dAtA []byte) (int, error) { +func (m *Insert_MultiObjectRequest) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Upsert_MultiObjectRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Insert_MultiObjectRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3622,7 +4552,7 @@ func (m *Upsert_MultiObjectRequest) MarshalToSizedBufferVT(dAtA []byte) (int, er return len(dAtA) - i, nil } -func (m *Upsert_Config) MarshalVT() (dAtA []byte, err error) { +func (m *Insert_Config) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3635,12 +4565,12 @@ func (m *Upsert_Config) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Upsert_Config) MarshalToVT(dAtA []byte) (int, error) { +func (m *Insert_Config) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Upsert_Config) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Insert_Config) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3652,16 +4582,6 @@ func (m *Upsert_Config) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.DisableBalancedUpdate { - i-- - if m.DisableBalancedUpdate { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x20 - } if m.Timestamp != 0 { i = encodeVarint(dAtA, i, uint64(m.Timestamp)) i-- @@ -3690,7 +4610,7 @@ func (m *Upsert_Config) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *Upsert) MarshalVT() (dAtA []byte, err error) { +func (m *Insert) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3703,12 +4623,12 @@ func (m *Upsert) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Upsert) MarshalToVT(dAtA []byte) (int, error) { +func (m *Insert) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Upsert) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Insert) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3723,7 +4643,7 @@ func (m *Upsert) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *Remove_Request) MarshalVT() (dAtA []byte, err error) { +func (m *Update_Request) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3736,12 +4656,110 @@ func (m *Remove_Request) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Remove_Request) MarshalToVT(dAtA []byte) (int, error) { +func (m *Update_Request) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Remove_Request) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Update_Request) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Config != nil { + size, err := m.Config.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Vector != nil { + size, err := m.Vector.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *Update_MultiRequest) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Update_MultiRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Update_MultiRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Requests) > 0 { + for iNdEx := len(m.Requests) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Requests[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *Update_ObjectRequest) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Update_ObjectRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Update_ObjectRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3753,6 +4771,16 @@ func (m *Remove_Request) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.Vectorizer != nil { + size, err := m.Vectorizer.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } if m.Config != nil { size, err := m.Config.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { @@ -3763,8 +4791,8 @@ func (m *Remove_Request) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i-- dAtA[i] = 0x12 } - if m.Id != nil { - size, err := m.Id.MarshalToSizedBufferVT(dAtA[:i]) + if m.Object != nil { + size, err := m.Object.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -3776,7 +4804,7 @@ func (m *Remove_Request) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *Remove_MultiRequest) MarshalVT() (dAtA []byte, err error) { +func (m *Update_MultiObjectRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3789,12 +4817,12 @@ func (m *Remove_MultiRequest) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Remove_MultiRequest) MarshalToVT(dAtA []byte) (int, error) { +func (m *Update_MultiObjectRequest) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Remove_MultiRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Update_MultiObjectRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3821,7 +4849,7 @@ func (m *Remove_MultiRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *Remove_Config) MarshalVT() (dAtA []byte, err error) { +func (m *Update_Config) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3834,12 +4862,12 @@ func (m *Remove_Config) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Remove_Config) MarshalToVT(dAtA []byte) (int, error) { +func (m *Update_Config) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Remove_Config) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Update_Config) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3851,11 +4879,31 @@ func (m *Remove_Config) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.DisableBalancedUpdate { + i-- + if m.DisableBalancedUpdate { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } if m.Timestamp != 0 { i = encodeVarint(dAtA, i, uint64(m.Timestamp)) i-- dAtA[i] = 0x18 } + if m.Filters != nil { + size, err := m.Filters.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } if m.SkipStrictExistCheck { i-- if m.SkipStrictExistCheck { @@ -3869,7 +4917,7 @@ func (m *Remove_Config) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *Remove) MarshalVT() (dAtA []byte, err error) { +func (m *Update) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3882,12 +4930,12 @@ func (m *Remove) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Remove) MarshalToVT(dAtA []byte) (int, error) { +func (m *Update) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Remove) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Update) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3902,7 +4950,7 @@ func (m *Remove) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *Object_VectorRequest) MarshalVT() (dAtA []byte, err error) { +func (m *Upsert_Request) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3915,12 +4963,12 @@ func (m *Object_VectorRequest) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Object_VectorRequest) MarshalToVT(dAtA []byte) (int, error) { +func (m *Upsert_Request) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Object_VectorRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Upsert_Request) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3932,8 +4980,8 @@ func (m *Object_VectorRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Filters != nil { - size, err := m.Filters.MarshalToSizedBufferVT(dAtA[:i]) + if m.Config != nil { + size, err := m.Config.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -3942,8 +4990,8 @@ func (m *Object_VectorRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) i-- dAtA[i] = 0x12 } - if m.Id != nil { - size, err := m.Id.MarshalToSizedBufferVT(dAtA[:i]) + if m.Vector != nil { + size, err := m.Vector.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -3955,7 +5003,7 @@ func (m *Object_VectorRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *Object_Distance) MarshalVT() (dAtA []byte, err error) { +func (m *Upsert_MultiRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3968,12 +5016,12 @@ func (m *Object_Distance) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Object_Distance) MarshalToVT(dAtA []byte) (int, error) { +func (m *Upsert_MultiRequest) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Object_Distance) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Upsert_MultiRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3985,23 +5033,22 @@ func (m *Object_Distance) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Distance != 0 { - i -= 4 - binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Distance)))) - i-- - dAtA[i] = 0x15 - } - if len(m.Id) > 0 { - i -= len(m.Id) - copy(dAtA[i:], m.Id) - i = encodeVarint(dAtA, i, uint64(len(m.Id))) - i-- - dAtA[i] = 0xa + if len(m.Requests) > 0 { + for iNdEx := len(m.Requests) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Requests[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } } return len(dAtA) - i, nil } -func (m *Object_StreamDistance) MarshalVT() (dAtA []byte, err error) { +func (m *Upsert_ObjectRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4014,12 +5061,12 @@ func (m *Object_StreamDistance) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Object_StreamDistance) MarshalToVT(dAtA []byte) (int, error) { +func (m *Upsert_ObjectRequest) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Object_StreamDistance) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Upsert_ObjectRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4031,109 +5078,40 @@ func (m *Object_StreamDistance) MarshalToSizedBufferVT(dAtA []byte) (int, error) i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if vtmsg, ok := m.Payload.(interface { - MarshalToSizedBufferVT([]byte) (int, error) - }); ok { - size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if m.Vectorizer != nil { + size, err := m.Vectorizer.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a } - return len(dAtA) - i, nil -} - -func (m *Object_StreamDistance_Distance) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *Object_StreamDistance_Distance) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - i := len(dAtA) - if m.Distance != nil { - size, err := m.Distance.MarshalToSizedBufferVT(dAtA[:i]) + if m.Config != nil { + size, err := m.Config.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} -func (m *Object_StreamDistance_Status) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *Object_StreamDistance_Status) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - i := len(dAtA) - if m.Status != nil { - if vtmsg, ok := interface{}(m.Status).(interface { - MarshalToSizedBufferVT([]byte) (int, error) - }); ok { - size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - } else { - encoded, err := proto.Marshal(m.Status) - if err != nil { - return 0, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = encodeVarint(dAtA, i, uint64(len(encoded))) - } - i-- dAtA[i] = 0x12 } - return len(dAtA) - i, nil -} -func (m *Object_ID) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *Object_ID) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *Object_ID) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.Id) > 0 { - i -= len(m.Id) - copy(dAtA[i:], m.Id) - i = encodeVarint(dAtA, i, uint64(len(m.Id))) + if m.Object != nil { + size, err := m.Object.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *Object_IDs) MarshalVT() (dAtA []byte, err error) { +func (m *Upsert_MultiObjectRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4146,12 +5124,12 @@ func (m *Object_IDs) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Object_IDs) MarshalToVT(dAtA []byte) (int, error) { +func (m *Upsert_MultiObjectRequest) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Object_IDs) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Upsert_MultiObjectRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4163,11 +5141,14 @@ func (m *Object_IDs) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Ids) > 0 { - for iNdEx := len(m.Ids) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Ids[iNdEx]) - copy(dAtA[i:], m.Ids[iNdEx]) - i = encodeVarint(dAtA, i, uint64(len(m.Ids[iNdEx]))) + if len(m.Requests) > 0 { + for iNdEx := len(m.Requests) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Requests[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0xa } @@ -4175,7 +5156,7 @@ func (m *Object_IDs) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *Object_Vector) MarshalVT() (dAtA []byte, err error) { +func (m *Upsert_Config) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4188,12 +5169,12 @@ func (m *Object_Vector) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Object_Vector) MarshalToVT(dAtA []byte) (int, error) { +func (m *Upsert_Config) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Object_Vector) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Upsert_Config) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4205,27 +5186,45 @@ func (m *Object_Vector) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Vector) > 0 { - for iNdEx := len(m.Vector) - 1; iNdEx >= 0; iNdEx-- { - f1 := math.Float32bits(float32(m.Vector[iNdEx])) - i -= 4 - binary.LittleEndian.PutUint32(dAtA[i:], uint32(f1)) + if m.DisableBalancedUpdate { + i-- + if m.DisableBalancedUpdate { + dAtA[i] = 1 + } else { + dAtA[i] = 0 } - i = encodeVarint(dAtA, i, uint64(len(m.Vector)*4)) + i-- + dAtA[i] = 0x20 + } + if m.Timestamp != 0 { + i = encodeVarint(dAtA, i, uint64(m.Timestamp)) + i-- + dAtA[i] = 0x18 + } + if m.Filters != nil { + size, err := m.Filters.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x12 } - if len(m.Id) > 0 { - i -= len(m.Id) - copy(dAtA[i:], m.Id) - i = encodeVarint(dAtA, i, uint64(len(m.Id))) + if m.SkipStrictExistCheck { i-- - dAtA[i] = 0xa + if m.SkipStrictExistCheck { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 } return len(dAtA) - i, nil } -func (m *Object_Vectors) MarshalVT() (dAtA []byte, err error) { +func (m *Upsert) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4238,12 +5237,12 @@ func (m *Object_Vectors) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Object_Vectors) MarshalToVT(dAtA []byte) (int, error) { +func (m *Upsert) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Object_Vectors) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Upsert) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4255,22 +5254,10 @@ func (m *Object_Vectors) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Vectors) > 0 { - for iNdEx := len(m.Vectors) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Vectors[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - } return len(dAtA) - i, nil } -func (m *Object_StreamVector) MarshalVT() (dAtA []byte, err error) { +func (m *Remove_Request) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4283,12 +5270,12 @@ func (m *Object_StreamVector) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Object_StreamVector) MarshalToVT(dAtA []byte) (int, error) { +func (m *Remove_Request) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Object_StreamVector) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Remove_Request) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4300,27 +5287,18 @@ func (m *Object_StreamVector) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if vtmsg, ok := m.Payload.(interface { - MarshalToSizedBufferVT([]byte) (int, error) - }); ok { - size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if m.Config != nil { + size, err := m.Config.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 } - return len(dAtA) - i, nil -} - -func (m *Object_StreamVector_Vector) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *Object_StreamVector_Vector) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - i := len(dAtA) - if m.Vector != nil { - size, err := m.Vector.MarshalToSizedBufferVT(dAtA[:i]) + if m.Id != nil { + size, err := m.Id.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -4331,38 +5309,53 @@ func (m *Object_StreamVector_Vector) MarshalToSizedBufferVT(dAtA []byte) (int, e } return len(dAtA) - i, nil } -func (m *Object_StreamVector_Status) MarshalToVT(dAtA []byte) (int, error) { + +func (m *Remove_MultiRequest) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Remove_MultiRequest) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Object_StreamVector_Status) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Remove_MultiRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } i := len(dAtA) - if m.Status != nil { - if vtmsg, ok := interface{}(m.Status).(interface { - MarshalToSizedBufferVT([]byte) (int, error) - }); ok { - size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Requests) > 0 { + for iNdEx := len(m.Requests) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Requests[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = encodeVarint(dAtA, i, uint64(size)) - } else { - encoded, err := proto.Marshal(m.Status) - if err != nil { - return 0, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = encodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa } - i-- - dAtA[i] = 0x12 } return len(dAtA) - i, nil } -func (m *Object_ReshapeVector) MarshalVT() (dAtA []byte, err error) { + +func (m *Remove_Config) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4375,12 +5368,12 @@ func (m *Object_ReshapeVector) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Object_ReshapeVector) MarshalToVT(dAtA []byte) (int, error) { +func (m *Remove_Config) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Object_ReshapeVector) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Remove_Config) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4392,38 +5385,25 @@ func (m *Object_ReshapeVector) MarshalToSizedBufferVT(dAtA []byte) (int, error) i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Shape) > 0 { - var pksize2 int - for _, num := range m.Shape { - pksize2 += sov(uint64(num)) - } - i -= pksize2 - j1 := i - for _, num1 := range m.Shape { - num := uint64(num1) - for num >= 1<<7 { - dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j1++ - } - dAtA[j1] = uint8(num) - j1++ - } - i = encodeVarint(dAtA, i, uint64(pksize2)) + if m.Timestamp != 0 { + i = encodeVarint(dAtA, i, uint64(m.Timestamp)) i-- - dAtA[i] = 0x12 + dAtA[i] = 0x18 } - if len(m.Object) > 0 { - i -= len(m.Object) - copy(dAtA[i:], m.Object) - i = encodeVarint(dAtA, i, uint64(len(m.Object))) + if m.SkipStrictExistCheck { i-- - dAtA[i] = 0xa + if m.SkipStrictExistCheck { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 } return len(dAtA) - i, nil } -func (m *Object_Blob) MarshalVT() (dAtA []byte, err error) { +func (m *Remove) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4436,12 +5416,12 @@ func (m *Object_Blob) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Object_Blob) MarshalToVT(dAtA []byte) (int, error) { +func (m *Remove) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Object_Blob) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Remove) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4453,24 +5433,10 @@ func (m *Object_Blob) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Object) > 0 { - i -= len(m.Object) - copy(dAtA[i:], m.Object) - i = encodeVarint(dAtA, i, uint64(len(m.Object))) - i-- - dAtA[i] = 0x12 - } - if len(m.Id) > 0 { - i -= len(m.Id) - copy(dAtA[i:], m.Id) - i = encodeVarint(dAtA, i, uint64(len(m.Id))) - i-- - dAtA[i] = 0xa - } return len(dAtA) - i, nil } -func (m *Object_StreamBlob) MarshalVT() (dAtA []byte, err error) { +func (m *Object_VectorRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4483,12 +5449,12 @@ func (m *Object_StreamBlob) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Object_StreamBlob) MarshalToVT(dAtA []byte) (int, error) { +func (m *Object_VectorRequest) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Object_StreamBlob) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Object_VectorRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4500,27 +5466,18 @@ func (m *Object_StreamBlob) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if vtmsg, ok := m.Payload.(interface { - MarshalToSizedBufferVT([]byte) (int, error) - }); ok { - size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if m.Filters != nil { + size, err := m.Filters.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 } - return len(dAtA) - i, nil -} - -func (m *Object_StreamBlob_Blob) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *Object_StreamBlob_Blob) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - i := len(dAtA) - if m.Blob != nil { - size, err := m.Blob.MarshalToSizedBufferVT(dAtA[:i]) + if m.Id != nil { + size, err := m.Id.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -4531,38 +5488,8 @@ func (m *Object_StreamBlob_Blob) MarshalToSizedBufferVT(dAtA []byte) (int, error } return len(dAtA) - i, nil } -func (m *Object_StreamBlob_Status) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} -func (m *Object_StreamBlob_Status) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - i := len(dAtA) - if m.Status != nil { - if vtmsg, ok := interface{}(m.Status).(interface { - MarshalToSizedBufferVT([]byte) (int, error) - }); ok { - size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - } else { - encoded, err := proto.Marshal(m.Status) - if err != nil { - return 0, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = encodeVarint(dAtA, i, uint64(len(encoded))) - } - i-- - dAtA[i] = 0x12 - } - return len(dAtA) - i, nil -} -func (m *Object_Location) MarshalVT() (dAtA []byte, err error) { +func (m *Object_Distance) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4575,12 +5502,12 @@ func (m *Object_Location) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Object_Location) MarshalToVT(dAtA []byte) (int, error) { +func (m *Object_Distance) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Object_Location) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Object_Distance) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4592,33 +5519,23 @@ func (m *Object_Location) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Ips) > 0 { - for iNdEx := len(m.Ips) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Ips[iNdEx]) - copy(dAtA[i:], m.Ips[iNdEx]) - i = encodeVarint(dAtA, i, uint64(len(m.Ips[iNdEx]))) - i-- - dAtA[i] = 0x1a - } - } - if len(m.Uuid) > 0 { - i -= len(m.Uuid) - copy(dAtA[i:], m.Uuid) - i = encodeVarint(dAtA, i, uint64(len(m.Uuid))) + if m.Distance != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Distance)))) i-- - dAtA[i] = 0x12 + dAtA[i] = 0x15 } - if len(m.Name) > 0 { - i -= len(m.Name) - copy(dAtA[i:], m.Name) - i = encodeVarint(dAtA, i, uint64(len(m.Name))) + if len(m.Id) > 0 { + i -= len(m.Id) + copy(dAtA[i:], m.Id) + i = encodeVarint(dAtA, i, uint64(len(m.Id))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *Object_StreamLocation) MarshalVT() (dAtA []byte, err error) { +func (m *Object_StreamDistance) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4631,12 +5548,12 @@ func (m *Object_StreamLocation) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Object_StreamLocation) MarshalToVT(dAtA []byte) (int, error) { +func (m *Object_StreamDistance) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Object_StreamLocation) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Object_StreamDistance) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4660,15 +5577,15 @@ func (m *Object_StreamLocation) MarshalToSizedBufferVT(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *Object_StreamLocation_Location) MarshalToVT(dAtA []byte) (int, error) { +func (m *Object_StreamDistance_Distance) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Object_StreamLocation_Location) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Object_StreamDistance_Distance) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) - if m.Location != nil { - size, err := m.Location.MarshalToSizedBufferVT(dAtA[:i]) + if m.Distance != nil { + size, err := m.Distance.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -4679,12 +5596,12 @@ func (m *Object_StreamLocation_Location) MarshalToSizedBufferVT(dAtA []byte) (in } return len(dAtA) - i, nil } -func (m *Object_StreamLocation_Status) MarshalToVT(dAtA []byte) (int, error) { +func (m *Object_StreamDistance_Status) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Object_StreamLocation_Status) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Object_StreamDistance_Status) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) if m.Status != nil { if vtmsg, ok := interface{}(m.Status).(interface { @@ -4710,7 +5627,7 @@ func (m *Object_StreamLocation_Status) MarshalToSizedBufferVT(dAtA []byte) (int, } return len(dAtA) - i, nil } -func (m *Object_Locations) MarshalVT() (dAtA []byte, err error) { +func (m *Object_ID) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4723,12 +5640,12 @@ func (m *Object_Locations) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Object_Locations) MarshalToVT(dAtA []byte) (int, error) { +func (m *Object_ID) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Object_Locations) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Object_ID) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4740,22 +5657,17 @@ func (m *Object_Locations) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Locations) > 0 { - for iNdEx := len(m.Locations) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Locations[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } + if len(m.Id) > 0 { + i -= len(m.Id) + copy(dAtA[i:], m.Id) + i = encodeVarint(dAtA, i, uint64(len(m.Id))) + i-- + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *Object) MarshalVT() (dAtA []byte, err error) { +func (m *Object_IDs) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4768,12 +5680,12 @@ func (m *Object) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Object) MarshalToVT(dAtA []byte) (int, error) { +func (m *Object_IDs) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Object) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Object_IDs) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4785,10 +5697,19 @@ func (m *Object) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if len(m.Ids) > 0 { + for iNdEx := len(m.Ids) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Ids[iNdEx]) + copy(dAtA[i:], m.Ids[iNdEx]) + i = encodeVarint(dAtA, i, uint64(len(m.Ids[iNdEx]))) + i-- + dAtA[i] = 0xa + } + } return len(dAtA) - i, nil } -func (m *Control_CreateIndexRequest) MarshalVT() (dAtA []byte, err error) { +func (m *Object_Vector) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4801,12 +5722,12 @@ func (m *Control_CreateIndexRequest) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Control_CreateIndexRequest) MarshalToVT(dAtA []byte) (int, error) { +func (m *Object_Vector) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Control_CreateIndexRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Object_Vector) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4818,15 +5739,27 @@ func (m *Control_CreateIndexRequest) MarshalToSizedBufferVT(dAtA []byte) (int, e i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.PoolSize != 0 { - i = encodeVarint(dAtA, i, uint64(m.PoolSize)) + if len(m.Vector) > 0 { + for iNdEx := len(m.Vector) - 1; iNdEx >= 0; iNdEx-- { + f1 := math.Float32bits(float32(m.Vector[iNdEx])) + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(f1)) + } + i = encodeVarint(dAtA, i, uint64(len(m.Vector)*4)) i-- - dAtA[i] = 0x8 + dAtA[i] = 0x12 + } + if len(m.Id) > 0 { + i -= len(m.Id) + copy(dAtA[i:], m.Id) + i = encodeVarint(dAtA, i, uint64(len(m.Id))) + i-- + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *Control) MarshalVT() (dAtA []byte, err error) { +func (m *Object_Vectors) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4839,12 +5772,12 @@ func (m *Control) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Control) MarshalToVT(dAtA []byte) (int, error) { +func (m *Object_Vectors) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Control) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Object_Vectors) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4856,10 +5789,22 @@ func (m *Control) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if len(m.Vectors) > 0 { + for iNdEx := len(m.Vectors) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Vectors[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + } return len(dAtA) - i, nil } -func (m *Discoverer_Request) MarshalVT() (dAtA []byte, err error) { +func (m *Object_StreamVector) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4872,12 +5817,12 @@ func (m *Discoverer_Request) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Discoverer_Request) MarshalToVT(dAtA []byte) (int, error) { +func (m *Object_StreamVector) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Discoverer_Request) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Object_StreamVector) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4889,127 +5834,69 @@ func (m *Discoverer_Request) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Node) > 0 { - i -= len(m.Node) - copy(dAtA[i:], m.Node) - i = encodeVarint(dAtA, i, uint64(len(m.Node))) - i-- - dAtA[i] = 0x1a - } - if len(m.Namespace) > 0 { - i -= len(m.Namespace) - copy(dAtA[i:], m.Namespace) - i = encodeVarint(dAtA, i, uint64(len(m.Namespace))) - i-- - dAtA[i] = 0x12 - } - if len(m.Name) > 0 { - i -= len(m.Name) - copy(dAtA[i:], m.Name) - i = encodeVarint(dAtA, i, uint64(len(m.Name))) - i-- - dAtA[i] = 0xa + if vtmsg, ok := m.Payload.(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size } return len(dAtA) - i, nil } -func (m *Discoverer) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *Discoverer) MarshalToVT(dAtA []byte) (int, error) { +func (m *Object_StreamVector_Vector) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Discoverer) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } +func (m *Object_StreamVector_Vector) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) + if m.Vector != nil { + size, err := m.Vector.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa } return len(dAtA) - i, nil } - -func (m *Info_Index_Count) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *Info_Index_Count) MarshalToVT(dAtA []byte) (int, error) { +func (m *Object_StreamVector_Status) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Info_Index_Count) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } +func (m *Object_StreamVector_Status) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.Saving { - i-- - if m.Saving { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x20 - } - if m.Indexing { - i-- - if m.Indexing { - dAtA[i] = 1 + if m.Status != nil { + if vtmsg, ok := interface{}(m.Status).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) } else { - dAtA[i] = 0 + encoded, err := proto.Marshal(m.Status) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = encodeVarint(dAtA, i, uint64(len(encoded))) } i-- - dAtA[i] = 0x18 - } - if m.Uncommitted != 0 { - i = encodeVarint(dAtA, i, uint64(m.Uncommitted)) - i-- - dAtA[i] = 0x10 - } - if m.Stored != 0 { - i = encodeVarint(dAtA, i, uint64(m.Stored)) - i-- - dAtA[i] = 0x8 + dAtA[i] = 0x12 } return len(dAtA) - i, nil } - -func (m *Info_Index_UUID_Committed) MarshalVT() (dAtA []byte, err error) { +func (m *Object_ReshapeVector) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5022,12 +5909,12 @@ func (m *Info_Index_UUID_Committed) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Info_Index_UUID_Committed) MarshalToVT(dAtA []byte) (int, error) { +func (m *Object_ReshapeVector) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Info_Index_UUID_Committed) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Object_ReshapeVector) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5039,17 +5926,38 @@ func (m *Info_Index_UUID_Committed) MarshalToSizedBufferVT(dAtA []byte) (int, er i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Uuid) > 0 { - i -= len(m.Uuid) - copy(dAtA[i:], m.Uuid) - i = encodeVarint(dAtA, i, uint64(len(m.Uuid))) + if len(m.Shape) > 0 { + var pksize2 int + for _, num := range m.Shape { + pksize2 += sov(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num1 := range m.Shape { + num := uint64(num1) + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ + } + i = encodeVarint(dAtA, i, uint64(pksize2)) + i-- + dAtA[i] = 0x12 + } + if len(m.Object) > 0 { + i -= len(m.Object) + copy(dAtA[i:], m.Object) + i = encodeVarint(dAtA, i, uint64(len(m.Object))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *Info_Index_UUID_Uncommitted) MarshalVT() (dAtA []byte, err error) { +func (m *Object_Blob) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5062,12 +5970,12 @@ func (m *Info_Index_UUID_Uncommitted) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Info_Index_UUID_Uncommitted) MarshalToVT(dAtA []byte) (int, error) { +func (m *Object_Blob) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Info_Index_UUID_Uncommitted) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Object_Blob) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5079,17 +5987,24 @@ func (m *Info_Index_UUID_Uncommitted) MarshalToSizedBufferVT(dAtA []byte) (int, i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Uuid) > 0 { - i -= len(m.Uuid) - copy(dAtA[i:], m.Uuid) - i = encodeVarint(dAtA, i, uint64(len(m.Uuid))) + if len(m.Object) > 0 { + i -= len(m.Object) + copy(dAtA[i:], m.Object) + i = encodeVarint(dAtA, i, uint64(len(m.Object))) + i-- + dAtA[i] = 0x12 + } + if len(m.Id) > 0 { + i -= len(m.Id) + copy(dAtA[i:], m.Id) + i = encodeVarint(dAtA, i, uint64(len(m.Id))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *Info_Index_UUID) MarshalVT() (dAtA []byte, err error) { +func (m *Object_StreamBlob) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5102,12 +6017,12 @@ func (m *Info_Index_UUID) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Info_Index_UUID) MarshalToVT(dAtA []byte) (int, error) { +func (m *Object_StreamBlob) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Info_Index_UUID) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Object_StreamBlob) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5119,43 +6034,69 @@ func (m *Info_Index_UUID) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if vtmsg, ok := m.Payload.(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } return len(dAtA) - i, nil } -func (m *Info_Index) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } +func (m *Object_StreamBlob_Blob) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil + return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Info_Index) MarshalToVT(dAtA []byte) (int, error) { +func (m *Object_StreamBlob_Blob) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Blob != nil { + size, err := m.Blob.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} +func (m *Object_StreamBlob_Status) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Info_Index) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } +func (m *Object_StreamBlob_Status) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) + if m.Status != nil { + if vtmsg, ok := interface{}(m.Status).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Status) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = encodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x12 } return len(dAtA) - i, nil } - -func (m *Info_Pod) MarshalVT() (dAtA []byte, err error) { +func (m *Object_Location) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5168,12 +6109,12 @@ func (m *Info_Pod) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Info_Pod) MarshalToVT(dAtA []byte) (int, error) { +func (m *Object_Location) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Info_Pod) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Object_Location) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5185,68 +6126,33 @@ func (m *Info_Pod) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Node != nil { - size, err := m.Node.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x3a - } - if m.Memory != nil { - size, err := m.Memory.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x32 - } - if m.Cpu != nil { - size, err := m.Cpu.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if len(m.Ips) > 0 { + for iNdEx := len(m.Ips) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Ips[iNdEx]) + copy(dAtA[i:], m.Ips[iNdEx]) + i = encodeVarint(dAtA, i, uint64(len(m.Ips[iNdEx]))) + i-- + dAtA[i] = 0x1a } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x2a - } - if len(m.Ip) > 0 { - i -= len(m.Ip) - copy(dAtA[i:], m.Ip) - i = encodeVarint(dAtA, i, uint64(len(m.Ip))) - i-- - dAtA[i] = 0x22 } - if len(m.Namespace) > 0 { - i -= len(m.Namespace) - copy(dAtA[i:], m.Namespace) - i = encodeVarint(dAtA, i, uint64(len(m.Namespace))) + if len(m.Uuid) > 0 { + i -= len(m.Uuid) + copy(dAtA[i:], m.Uuid) + i = encodeVarint(dAtA, i, uint64(len(m.Uuid))) i-- - dAtA[i] = 0x1a + dAtA[i] = 0x12 } if len(m.Name) > 0 { i -= len(m.Name) copy(dAtA[i:], m.Name) i = encodeVarint(dAtA, i, uint64(len(m.Name))) i-- - dAtA[i] = 0x12 - } - if len(m.AppName) > 0 { - i -= len(m.AppName) - copy(dAtA[i:], m.AppName) - i = encodeVarint(dAtA, i, uint64(len(m.AppName))) - i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *Info_Node) MarshalVT() (dAtA []byte, err error) { +func (m *Object_StreamLocation) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5259,12 +6165,12 @@ func (m *Info_Node) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Info_Node) MarshalToVT(dAtA []byte) (int, error) { +func (m *Object_StreamLocation) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Info_Node) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Object_StreamLocation) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5276,61 +6182,69 @@ func (m *Info_Node) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Pods != nil { - size, err := m.Pods.MarshalToSizedBufferVT(dAtA[:i]) + if vtmsg, ok := m.Payload.(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x32 } - if m.Memory != nil { - size, err := m.Memory.MarshalToSizedBufferVT(dAtA[:i]) + return len(dAtA) - i, nil +} + +func (m *Object_StreamLocation_Location) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Object_StreamLocation_Location) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Location != nil { + size, err := m.Location.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x2a + dAtA[i] = 0xa } - if m.Cpu != nil { - size, err := m.Cpu.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + return len(dAtA) - i, nil +} +func (m *Object_StreamLocation_Status) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Object_StreamLocation_Status) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Status != nil { + if vtmsg, ok := interface{}(m.Status).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Status) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = encodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x22 - } - if len(m.ExternalAddr) > 0 { - i -= len(m.ExternalAddr) - copy(dAtA[i:], m.ExternalAddr) - i = encodeVarint(dAtA, i, uint64(len(m.ExternalAddr))) - i-- - dAtA[i] = 0x1a - } - if len(m.InternalAddr) > 0 { - i -= len(m.InternalAddr) - copy(dAtA[i:], m.InternalAddr) - i = encodeVarint(dAtA, i, uint64(len(m.InternalAddr))) i-- dAtA[i] = 0x12 } - if len(m.Name) > 0 { - i -= len(m.Name) - copy(dAtA[i:], m.Name) - i = encodeVarint(dAtA, i, uint64(len(m.Name))) - i-- - dAtA[i] = 0xa - } return len(dAtA) - i, nil } - -func (m *Info_CPU) MarshalVT() (dAtA []byte, err error) { +func (m *Object_Locations) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5343,12 +6257,12 @@ func (m *Info_CPU) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Info_CPU) MarshalToVT(dAtA []byte) (int, error) { +func (m *Object_Locations) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Info_CPU) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Object_Locations) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5360,28 +6274,22 @@ func (m *Info_CPU) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Usage != 0 { - i -= 8 - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Usage)))) - i-- - dAtA[i] = 0x19 - } - if m.Request != 0 { - i -= 8 - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Request)))) - i-- - dAtA[i] = 0x11 - } - if m.Limit != 0 { - i -= 8 - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Limit)))) - i-- - dAtA[i] = 0x9 + if len(m.Locations) > 0 { + for iNdEx := len(m.Locations) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Locations[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } } return len(dAtA) - i, nil } -func (m *Info_Memory) MarshalVT() (dAtA []byte, err error) { +func (m *Object) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5394,12 +6302,12 @@ func (m *Info_Memory) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Info_Memory) MarshalToVT(dAtA []byte) (int, error) { +func (m *Object) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Info_Memory) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Object) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5411,28 +6319,10 @@ func (m *Info_Memory) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Usage != 0 { - i -= 8 - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Usage)))) - i-- - dAtA[i] = 0x19 - } - if m.Request != 0 { - i -= 8 - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Request)))) - i-- - dAtA[i] = 0x11 - } - if m.Limit != 0 { - i -= 8 - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Limit)))) - i-- - dAtA[i] = 0x9 - } return len(dAtA) - i, nil } -func (m *Info_Pods) MarshalVT() (dAtA []byte, err error) { +func (m *Control_CreateIndexRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5445,12 +6335,12 @@ func (m *Info_Pods) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Info_Pods) MarshalToVT(dAtA []byte) (int, error) { +func (m *Control_CreateIndexRequest) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Info_Pods) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Control_CreateIndexRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5462,22 +6352,15 @@ func (m *Info_Pods) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Pods) > 0 { - for iNdEx := len(m.Pods) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Pods[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } + if m.PoolSize != 0 { + i = encodeVarint(dAtA, i, uint64(m.PoolSize)) + i-- + dAtA[i] = 0x8 } return len(dAtA) - i, nil } -func (m *Info_Nodes) MarshalVT() (dAtA []byte, err error) { +func (m *Control) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5490,12 +6373,12 @@ func (m *Info_Nodes) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Info_Nodes) MarshalToVT(dAtA []byte) (int, error) { +func (m *Control) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Info_Nodes) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Control) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5507,22 +6390,10 @@ func (m *Info_Nodes) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Nodes) > 0 { - for iNdEx := len(m.Nodes) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Nodes[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - } return len(dAtA) - i, nil } -func (m *Info_IPs) MarshalVT() (dAtA []byte, err error) { +func (m *Discoverer_Request) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5535,12 +6406,12 @@ func (m *Info_IPs) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Info_IPs) MarshalToVT(dAtA []byte) (int, error) { +func (m *Discoverer_Request) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Info_IPs) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Discoverer_Request) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5552,19 +6423,31 @@ func (m *Info_IPs) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Ip) > 0 { - for iNdEx := len(m.Ip) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Ip[iNdEx]) - copy(dAtA[i:], m.Ip[iNdEx]) - i = encodeVarint(dAtA, i, uint64(len(m.Ip[iNdEx]))) - i-- - dAtA[i] = 0xa - } + if len(m.Node) > 0 { + i -= len(m.Node) + copy(dAtA[i:], m.Node) + i = encodeVarint(dAtA, i, uint64(len(m.Node))) + i-- + dAtA[i] = 0x1a + } + if len(m.Namespace) > 0 { + i -= len(m.Namespace) + copy(dAtA[i:], m.Namespace) + i = encodeVarint(dAtA, i, uint64(len(m.Namespace))) + i-- + dAtA[i] = 0x12 + } + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = encodeVarint(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *Info) MarshalVT() (dAtA []byte, err error) { +func (m *Discoverer) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5577,12 +6460,12 @@ func (m *Info) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Info) MarshalToVT(dAtA []byte) (int, error) { +func (m *Discoverer) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Info) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Discoverer) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5597,7 +6480,7 @@ func (m *Info) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *Empty) MarshalVT() (dAtA []byte, err error) { +func (m *Info_Index_Count) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -5610,12 +6493,12 @@ func (m *Empty) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Empty) MarshalToVT(dAtA []byte) (int, error) { +func (m *Info_Index_Count) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Empty) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Info_Index_Count) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -5627,1281 +6510,670 @@ func (m *Empty) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - return len(dAtA) - i, nil -} - -func encodeVarint(dAtA []byte, offset int, v uint64) int { - offset -= sov(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} - -var vtprotoPool_Search_Request = sync.Pool{ - New: func() interface{} { - return &Search_Request{} - }, -} - -func (m *Search_Request) ResetVT() { - f0 := m.Vector[:0] - m.Config.ReturnToVTPool() - m.Reset() - m.Vector = f0 -} -func (m *Search_Request) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Search_Request.Put(m) - } -} -func Search_RequestFromVTPool() *Search_Request { - return vtprotoPool_Search_Request.Get().(*Search_Request) -} - -var vtprotoPool_Search_MultiRequest = sync.Pool{ - New: func() interface{} { - return &Search_MultiRequest{} - }, -} - -func (m *Search_MultiRequest) ResetVT() { - for _, mm := range m.Requests { - mm.ResetVT() - } - m.Reset() -} -func (m *Search_MultiRequest) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Search_MultiRequest.Put(m) - } -} -func Search_MultiRequestFromVTPool() *Search_MultiRequest { - return vtprotoPool_Search_MultiRequest.Get().(*Search_MultiRequest) -} - -var vtprotoPool_Search_IDRequest = sync.Pool{ - New: func() interface{} { - return &Search_IDRequest{} - }, -} - -func (m *Search_IDRequest) ResetVT() { - m.Config.ReturnToVTPool() - m.Reset() -} -func (m *Search_IDRequest) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Search_IDRequest.Put(m) - } -} -func Search_IDRequestFromVTPool() *Search_IDRequest { - return vtprotoPool_Search_IDRequest.Get().(*Search_IDRequest) -} - -var vtprotoPool_Search_MultiIDRequest = sync.Pool{ - New: func() interface{} { - return &Search_MultiIDRequest{} - }, -} - -func (m *Search_MultiIDRequest) ResetVT() { - for _, mm := range m.Requests { - mm.ResetVT() - } - m.Reset() -} -func (m *Search_MultiIDRequest) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Search_MultiIDRequest.Put(m) - } -} -func Search_MultiIDRequestFromVTPool() *Search_MultiIDRequest { - return vtprotoPool_Search_MultiIDRequest.Get().(*Search_MultiIDRequest) -} - -var vtprotoPool_Search_ObjectRequest = sync.Pool{ - New: func() interface{} { - return &Search_ObjectRequest{} - }, -} - -func (m *Search_ObjectRequest) ResetVT() { - f0 := m.Object[:0] - m.Config.ReturnToVTPool() - m.Vectorizer.ReturnToVTPool() - m.Reset() - m.Object = f0 -} -func (m *Search_ObjectRequest) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Search_ObjectRequest.Put(m) - } -} -func Search_ObjectRequestFromVTPool() *Search_ObjectRequest { - return vtprotoPool_Search_ObjectRequest.Get().(*Search_ObjectRequest) -} - -var vtprotoPool_Search_MultiObjectRequest = sync.Pool{ - New: func() interface{} { - return &Search_MultiObjectRequest{} - }, -} - -func (m *Search_MultiObjectRequest) ResetVT() { - for _, mm := range m.Requests { - mm.ResetVT() - } - m.Reset() -} -func (m *Search_MultiObjectRequest) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Search_MultiObjectRequest.Put(m) - } -} -func Search_MultiObjectRequestFromVTPool() *Search_MultiObjectRequest { - return vtprotoPool_Search_MultiObjectRequest.Get().(*Search_MultiObjectRequest) -} - -var vtprotoPool_Search_Config = sync.Pool{ - New: func() interface{} { - return &Search_Config{} - }, -} - -func (m *Search_Config) ResetVT() { - m.IngressFilters.ReturnToVTPool() - m.EgressFilters.ReturnToVTPool() - m.Reset() -} -func (m *Search_Config) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Search_Config.Put(m) - } -} -func Search_ConfigFromVTPool() *Search_Config { - return vtprotoPool_Search_Config.Get().(*Search_Config) -} - -var vtprotoPool_Search_Response = sync.Pool{ - New: func() interface{} { - return &Search_Response{} - }, -} - -func (m *Search_Response) ResetVT() { - for _, mm := range m.Results { - mm.ResetVT() - } - m.Reset() -} -func (m *Search_Response) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Search_Response.Put(m) - } -} -func Search_ResponseFromVTPool() *Search_Response { - return vtprotoPool_Search_Response.Get().(*Search_Response) -} - -var vtprotoPool_Search_Responses = sync.Pool{ - New: func() interface{} { - return &Search_Responses{} - }, -} - -func (m *Search_Responses) ResetVT() { - for _, mm := range m.Responses { - mm.ResetVT() + if m.Saving { + i-- + if m.Saving { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 } - m.Reset() -} -func (m *Search_Responses) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Search_Responses.Put(m) + if m.Indexing { + i-- + if m.Indexing { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 } -} -func Search_ResponsesFromVTPool() *Search_Responses { - return vtprotoPool_Search_Responses.Get().(*Search_Responses) -} - -var vtprotoPool_Search = sync.Pool{ - New: func() interface{} { - return &Search{} - }, -} - -func (m *Search) ResetVT() { - m.Reset() -} -func (m *Search) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Search.Put(m) + if m.Uncommitted != 0 { + i = encodeVarint(dAtA, i, uint64(m.Uncommitted)) + i-- + dAtA[i] = 0x10 } -} -func SearchFromVTPool() *Search { - return vtprotoPool_Search.Get().(*Search) -} - -var vtprotoPool_Filter_Target = sync.Pool{ - New: func() interface{} { - return &Filter_Target{} - }, -} - -func (m *Filter_Target) ResetVT() { - m.Reset() -} -func (m *Filter_Target) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Filter_Target.Put(m) + if m.Stored != 0 { + i = encodeVarint(dAtA, i, uint64(m.Stored)) + i-- + dAtA[i] = 0x8 } -} -func Filter_TargetFromVTPool() *Filter_Target { - return vtprotoPool_Filter_Target.Get().(*Filter_Target) -} - -var vtprotoPool_Filter_Config = sync.Pool{ - New: func() interface{} { - return &Filter_Config{} - }, + return len(dAtA) - i, nil } -func (m *Filter_Config) ResetVT() { - for _, mm := range m.Targets { - mm.ResetVT() +func (m *Info_Index_UUID_Committed) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil } - m.Reset() -} -func (m *Filter_Config) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Filter_Config.Put(m) + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err } -} -func Filter_ConfigFromVTPool() *Filter_Config { - return vtprotoPool_Filter_Config.Get().(*Filter_Config) + return dAtA[:n], nil } -var vtprotoPool_Filter = sync.Pool{ - New: func() interface{} { - return &Filter{} - }, +func (m *Info_Index_UUID_Committed) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Filter) ResetVT() { - m.Reset() -} -func (m *Filter) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Filter.Put(m) +func (m *Info_Index_UUID_Committed) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil } -} -func FilterFromVTPool() *Filter { - return vtprotoPool_Filter.Get().(*Filter) -} - -var vtprotoPool_Insert_Request = sync.Pool{ - New: func() interface{} { - return &Insert_Request{} - }, -} - -func (m *Insert_Request) ResetVT() { - m.Vector.ReturnToVTPool() - m.Config.ReturnToVTPool() - m.Reset() -} -func (m *Insert_Request) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Insert_Request.Put(m) + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } -} -func Insert_RequestFromVTPool() *Insert_Request { - return vtprotoPool_Insert_Request.Get().(*Insert_Request) -} - -var vtprotoPool_Insert_MultiRequest = sync.Pool{ - New: func() interface{} { - return &Insert_MultiRequest{} - }, + if len(m.Uuid) > 0 { + i -= len(m.Uuid) + copy(dAtA[i:], m.Uuid) + i = encodeVarint(dAtA, i, uint64(len(m.Uuid))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil } -func (m *Insert_MultiRequest) ResetVT() { - for _, mm := range m.Requests { - mm.ResetVT() +func (m *Info_Index_UUID_Uncommitted) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil } - m.Reset() -} -func (m *Insert_MultiRequest) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Insert_MultiRequest.Put(m) + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err } -} -func Insert_MultiRequestFromVTPool() *Insert_MultiRequest { - return vtprotoPool_Insert_MultiRequest.Get().(*Insert_MultiRequest) + return dAtA[:n], nil } -var vtprotoPool_Insert_ObjectRequest = sync.Pool{ - New: func() interface{} { - return &Insert_ObjectRequest{} - }, +func (m *Info_Index_UUID_Uncommitted) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Insert_ObjectRequest) ResetVT() { - m.Object.ReturnToVTPool() - m.Config.ReturnToVTPool() - m.Vectorizer.ReturnToVTPool() - m.Reset() -} -func (m *Insert_ObjectRequest) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Insert_ObjectRequest.Put(m) +func (m *Info_Index_UUID_Uncommitted) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil } -} -func Insert_ObjectRequestFromVTPool() *Insert_ObjectRequest { - return vtprotoPool_Insert_ObjectRequest.Get().(*Insert_ObjectRequest) -} - -var vtprotoPool_Insert_MultiObjectRequest = sync.Pool{ - New: func() interface{} { - return &Insert_MultiObjectRequest{} - }, -} - -func (m *Insert_MultiObjectRequest) ResetVT() { - for _, mm := range m.Requests { - mm.ResetVT() + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } - m.Reset() -} -func (m *Insert_MultiObjectRequest) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Insert_MultiObjectRequest.Put(m) + if len(m.Uuid) > 0 { + i -= len(m.Uuid) + copy(dAtA[i:], m.Uuid) + i = encodeVarint(dAtA, i, uint64(len(m.Uuid))) + i-- + dAtA[i] = 0xa } -} -func Insert_MultiObjectRequestFromVTPool() *Insert_MultiObjectRequest { - return vtprotoPool_Insert_MultiObjectRequest.Get().(*Insert_MultiObjectRequest) -} - -var vtprotoPool_Insert_Config = sync.Pool{ - New: func() interface{} { - return &Insert_Config{} - }, + return len(dAtA) - i, nil } -func (m *Insert_Config) ResetVT() { - m.Filters.ReturnToVTPool() - m.Reset() -} -func (m *Insert_Config) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Insert_Config.Put(m) +func (m *Info_Index_UUID) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil } -} -func Insert_ConfigFromVTPool() *Insert_Config { - return vtprotoPool_Insert_Config.Get().(*Insert_Config) -} - -var vtprotoPool_Insert = sync.Pool{ - New: func() interface{} { - return &Insert{} - }, -} - -func (m *Insert) ResetVT() { - m.Reset() -} -func (m *Insert) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Insert.Put(m) + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err } -} -func InsertFromVTPool() *Insert { - return vtprotoPool_Insert.Get().(*Insert) + return dAtA[:n], nil } -var vtprotoPool_Update_Request = sync.Pool{ - New: func() interface{} { - return &Update_Request{} - }, +func (m *Info_Index_UUID) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Update_Request) ResetVT() { - m.Vector.ReturnToVTPool() - m.Config.ReturnToVTPool() - m.Reset() -} -func (m *Update_Request) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Update_Request.Put(m) +func (m *Info_Index_UUID) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil } -} -func Update_RequestFromVTPool() *Update_Request { - return vtprotoPool_Update_Request.Get().(*Update_Request) -} - -var vtprotoPool_Update_MultiRequest = sync.Pool{ - New: func() interface{} { - return &Update_MultiRequest{} - }, + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + return len(dAtA) - i, nil } -func (m *Update_MultiRequest) ResetVT() { - for _, mm := range m.Requests { - mm.ResetVT() +func (m *Info_Index) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil } - m.Reset() -} -func (m *Update_MultiRequest) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Update_MultiRequest.Put(m) + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err } -} -func Update_MultiRequestFromVTPool() *Update_MultiRequest { - return vtprotoPool_Update_MultiRequest.Get().(*Update_MultiRequest) + return dAtA[:n], nil } -var vtprotoPool_Update_ObjectRequest = sync.Pool{ - New: func() interface{} { - return &Update_ObjectRequest{} - }, +func (m *Info_Index) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Update_ObjectRequest) ResetVT() { - m.Object.ReturnToVTPool() - m.Config.ReturnToVTPool() - m.Vectorizer.ReturnToVTPool() - m.Reset() -} -func (m *Update_ObjectRequest) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Update_ObjectRequest.Put(m) +func (m *Info_Index) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil } -} -func Update_ObjectRequestFromVTPool() *Update_ObjectRequest { - return vtprotoPool_Update_ObjectRequest.Get().(*Update_ObjectRequest) -} - -var vtprotoPool_Update_MultiObjectRequest = sync.Pool{ - New: func() interface{} { - return &Update_MultiObjectRequest{} - }, + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + return len(dAtA) - i, nil } -func (m *Update_MultiObjectRequest) ResetVT() { - for _, mm := range m.Requests { - mm.ResetVT() +func (m *Info_Pod) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil } - m.Reset() -} -func (m *Update_MultiObjectRequest) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Update_MultiObjectRequest.Put(m) + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err } -} -func Update_MultiObjectRequestFromVTPool() *Update_MultiObjectRequest { - return vtprotoPool_Update_MultiObjectRequest.Get().(*Update_MultiObjectRequest) + return dAtA[:n], nil } -var vtprotoPool_Update_Config = sync.Pool{ - New: func() interface{} { - return &Update_Config{} - }, +func (m *Info_Pod) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Update_Config) ResetVT() { - m.Filters.ReturnToVTPool() - m.Reset() -} -func (m *Update_Config) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Update_Config.Put(m) +func (m *Info_Pod) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil } -} -func Update_ConfigFromVTPool() *Update_Config { - return vtprotoPool_Update_Config.Get().(*Update_Config) -} - -var vtprotoPool_Update = sync.Pool{ - New: func() interface{} { - return &Update{} - }, -} - -func (m *Update) ResetVT() { - m.Reset() -} -func (m *Update) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Update.Put(m) + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } -} -func UpdateFromVTPool() *Update { - return vtprotoPool_Update.Get().(*Update) -} - -var vtprotoPool_Upsert_Request = sync.Pool{ - New: func() interface{} { - return &Upsert_Request{} - }, -} - -func (m *Upsert_Request) ResetVT() { - m.Vector.ReturnToVTPool() - m.Config.ReturnToVTPool() - m.Reset() -} -func (m *Upsert_Request) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Upsert_Request.Put(m) + if m.Node != nil { + size, err := m.Node.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3a } -} -func Upsert_RequestFromVTPool() *Upsert_Request { - return vtprotoPool_Upsert_Request.Get().(*Upsert_Request) -} - -var vtprotoPool_Upsert_MultiRequest = sync.Pool{ - New: func() interface{} { - return &Upsert_MultiRequest{} - }, -} - -func (m *Upsert_MultiRequest) ResetVT() { - for _, mm := range m.Requests { - mm.ResetVT() + if m.Memory != nil { + size, err := m.Memory.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 } - m.Reset() -} -func (m *Upsert_MultiRequest) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Upsert_MultiRequest.Put(m) + if m.Cpu != nil { + size, err := m.Cpu.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a } -} -func Upsert_MultiRequestFromVTPool() *Upsert_MultiRequest { - return vtprotoPool_Upsert_MultiRequest.Get().(*Upsert_MultiRequest) -} - -var vtprotoPool_Upsert_ObjectRequest = sync.Pool{ - New: func() interface{} { - return &Upsert_ObjectRequest{} - }, -} - -func (m *Upsert_ObjectRequest) ResetVT() { - m.Object.ReturnToVTPool() - m.Config.ReturnToVTPool() - m.Vectorizer.ReturnToVTPool() - m.Reset() -} -func (m *Upsert_ObjectRequest) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Upsert_ObjectRequest.Put(m) + if len(m.Ip) > 0 { + i -= len(m.Ip) + copy(dAtA[i:], m.Ip) + i = encodeVarint(dAtA, i, uint64(len(m.Ip))) + i-- + dAtA[i] = 0x22 } -} -func Upsert_ObjectRequestFromVTPool() *Upsert_ObjectRequest { - return vtprotoPool_Upsert_ObjectRequest.Get().(*Upsert_ObjectRequest) -} - -var vtprotoPool_Upsert_MultiObjectRequest = sync.Pool{ - New: func() interface{} { - return &Upsert_MultiObjectRequest{} - }, -} - -func (m *Upsert_MultiObjectRequest) ResetVT() { - for _, mm := range m.Requests { - mm.ResetVT() + if len(m.Namespace) > 0 { + i -= len(m.Namespace) + copy(dAtA[i:], m.Namespace) + i = encodeVarint(dAtA, i, uint64(len(m.Namespace))) + i-- + dAtA[i] = 0x1a + } + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = encodeVarint(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0x12 } - m.Reset() -} -func (m *Upsert_MultiObjectRequest) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Upsert_MultiObjectRequest.Put(m) + if len(m.AppName) > 0 { + i -= len(m.AppName) + copy(dAtA[i:], m.AppName) + i = encodeVarint(dAtA, i, uint64(len(m.AppName))) + i-- + dAtA[i] = 0xa } -} -func Upsert_MultiObjectRequestFromVTPool() *Upsert_MultiObjectRequest { - return vtprotoPool_Upsert_MultiObjectRequest.Get().(*Upsert_MultiObjectRequest) -} - -var vtprotoPool_Upsert_Config = sync.Pool{ - New: func() interface{} { - return &Upsert_Config{} - }, + return len(dAtA) - i, nil } -func (m *Upsert_Config) ResetVT() { - m.Filters.ReturnToVTPool() - m.Reset() -} -func (m *Upsert_Config) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Upsert_Config.Put(m) +func (m *Info_Node) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil } -} -func Upsert_ConfigFromVTPool() *Upsert_Config { - return vtprotoPool_Upsert_Config.Get().(*Upsert_Config) -} - -var vtprotoPool_Upsert = sync.Pool{ - New: func() interface{} { - return &Upsert{} - }, -} - -func (m *Upsert) ResetVT() { - m.Reset() -} -func (m *Upsert) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Upsert.Put(m) + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err } -} -func UpsertFromVTPool() *Upsert { - return vtprotoPool_Upsert.Get().(*Upsert) + return dAtA[:n], nil } -var vtprotoPool_Remove_Request = sync.Pool{ - New: func() interface{} { - return &Remove_Request{} - }, +func (m *Info_Node) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Remove_Request) ResetVT() { - m.Id.ReturnToVTPool() - m.Config.ReturnToVTPool() - m.Reset() -} -func (m *Remove_Request) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Remove_Request.Put(m) +func (m *Info_Node) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil } -} -func Remove_RequestFromVTPool() *Remove_Request { - return vtprotoPool_Remove_Request.Get().(*Remove_Request) -} - -var vtprotoPool_Remove_MultiRequest = sync.Pool{ - New: func() interface{} { - return &Remove_MultiRequest{} - }, -} - -func (m *Remove_MultiRequest) ResetVT() { - for _, mm := range m.Requests { - mm.ResetVT() + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } - m.Reset() -} -func (m *Remove_MultiRequest) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Remove_MultiRequest.Put(m) + if m.Pods != nil { + size, err := m.Pods.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 } -} -func Remove_MultiRequestFromVTPool() *Remove_MultiRequest { - return vtprotoPool_Remove_MultiRequest.Get().(*Remove_MultiRequest) -} - -var vtprotoPool_Remove_Config = sync.Pool{ - New: func() interface{} { - return &Remove_Config{} - }, -} - -func (m *Remove_Config) ResetVT() { - m.Reset() -} -func (m *Remove_Config) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Remove_Config.Put(m) + if m.Memory != nil { + size, err := m.Memory.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a } -} -func Remove_ConfigFromVTPool() *Remove_Config { - return vtprotoPool_Remove_Config.Get().(*Remove_Config) -} - -var vtprotoPool_Remove = sync.Pool{ - New: func() interface{} { - return &Remove{} - }, -} - -func (m *Remove) ResetVT() { - m.Reset() -} -func (m *Remove) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Remove.Put(m) + if m.Cpu != nil { + size, err := m.Cpu.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 } -} -func RemoveFromVTPool() *Remove { - return vtprotoPool_Remove.Get().(*Remove) -} - -var vtprotoPool_Object_VectorRequest = sync.Pool{ - New: func() interface{} { - return &Object_VectorRequest{} - }, -} - -func (m *Object_VectorRequest) ResetVT() { - m.Id.ReturnToVTPool() - m.Filters.ReturnToVTPool() - m.Reset() -} -func (m *Object_VectorRequest) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Object_VectorRequest.Put(m) + if len(m.ExternalAddr) > 0 { + i -= len(m.ExternalAddr) + copy(dAtA[i:], m.ExternalAddr) + i = encodeVarint(dAtA, i, uint64(len(m.ExternalAddr))) + i-- + dAtA[i] = 0x1a } -} -func Object_VectorRequestFromVTPool() *Object_VectorRequest { - return vtprotoPool_Object_VectorRequest.Get().(*Object_VectorRequest) -} - -var vtprotoPool_Object_Distance = sync.Pool{ - New: func() interface{} { - return &Object_Distance{} - }, -} - -func (m *Object_Distance) ResetVT() { - m.Reset() -} -func (m *Object_Distance) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Object_Distance.Put(m) + if len(m.InternalAddr) > 0 { + i -= len(m.InternalAddr) + copy(dAtA[i:], m.InternalAddr) + i = encodeVarint(dAtA, i, uint64(len(m.InternalAddr))) + i-- + dAtA[i] = 0x12 } -} -func Object_DistanceFromVTPool() *Object_Distance { - return vtprotoPool_Object_Distance.Get().(*Object_Distance) -} - -var vtprotoPool_Object_ID = sync.Pool{ - New: func() interface{} { - return &Object_ID{} - }, -} - -func (m *Object_ID) ResetVT() { - m.Reset() -} -func (m *Object_ID) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Object_ID.Put(m) + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = encodeVarint(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0xa } -} -func Object_IDFromVTPool() *Object_ID { - return vtprotoPool_Object_ID.Get().(*Object_ID) -} - -var vtprotoPool_Object_IDs = sync.Pool{ - New: func() interface{} { - return &Object_IDs{} - }, + return len(dAtA) - i, nil } -func (m *Object_IDs) ResetVT() { - f0 := m.Ids[:0] - m.Reset() - m.Ids = f0 -} -func (m *Object_IDs) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Object_IDs.Put(m) +func (m *Info_CPU) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil } -} -func Object_IDsFromVTPool() *Object_IDs { - return vtprotoPool_Object_IDs.Get().(*Object_IDs) -} - -var vtprotoPool_Object_Vector = sync.Pool{ - New: func() interface{} { - return &Object_Vector{} - }, -} - -func (m *Object_Vector) ResetVT() { - f0 := m.Vector[:0] - m.Reset() - m.Vector = f0 -} -func (m *Object_Vector) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Object_Vector.Put(m) + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err } -} -func Object_VectorFromVTPool() *Object_Vector { - return vtprotoPool_Object_Vector.Get().(*Object_Vector) + return dAtA[:n], nil } -var vtprotoPool_Object_Vectors = sync.Pool{ - New: func() interface{} { - return &Object_Vectors{} - }, +func (m *Info_CPU) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Object_Vectors) ResetVT() { - for _, mm := range m.Vectors { - mm.ResetVT() +func (m *Info_CPU) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil } - m.Reset() -} -func (m *Object_Vectors) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Object_Vectors.Put(m) + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } -} -func Object_VectorsFromVTPool() *Object_Vectors { - return vtprotoPool_Object_Vectors.Get().(*Object_Vectors) -} - -var vtprotoPool_Object_ReshapeVector = sync.Pool{ - New: func() interface{} { - return &Object_ReshapeVector{} - }, -} - -func (m *Object_ReshapeVector) ResetVT() { - f0 := m.Object[:0] - f1 := m.Shape[:0] - m.Reset() - m.Object = f0 - m.Shape = f1 -} -func (m *Object_ReshapeVector) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Object_ReshapeVector.Put(m) + if m.Usage != 0 { + i -= 8 + binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Usage)))) + i-- + dAtA[i] = 0x19 } -} -func Object_ReshapeVectorFromVTPool() *Object_ReshapeVector { - return vtprotoPool_Object_ReshapeVector.Get().(*Object_ReshapeVector) -} - -var vtprotoPool_Object_Blob = sync.Pool{ - New: func() interface{} { - return &Object_Blob{} - }, -} - -func (m *Object_Blob) ResetVT() { - f0 := m.Object[:0] - m.Reset() - m.Object = f0 -} -func (m *Object_Blob) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Object_Blob.Put(m) + if m.Request != 0 { + i -= 8 + binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Request)))) + i-- + dAtA[i] = 0x11 } -} -func Object_BlobFromVTPool() *Object_Blob { - return vtprotoPool_Object_Blob.Get().(*Object_Blob) -} - -var vtprotoPool_Object_Location = sync.Pool{ - New: func() interface{} { - return &Object_Location{} - }, -} - -func (m *Object_Location) ResetVT() { - f0 := m.Ips[:0] - m.Reset() - m.Ips = f0 -} -func (m *Object_Location) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Object_Location.Put(m) + if m.Limit != 0 { + i -= 8 + binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Limit)))) + i-- + dAtA[i] = 0x9 } -} -func Object_LocationFromVTPool() *Object_Location { - return vtprotoPool_Object_Location.Get().(*Object_Location) -} - -var vtprotoPool_Object_Locations = sync.Pool{ - New: func() interface{} { - return &Object_Locations{} - }, + return len(dAtA) - i, nil } -func (m *Object_Locations) ResetVT() { - for _, mm := range m.Locations { - mm.ResetVT() +func (m *Info_Memory) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil } - m.Reset() -} -func (m *Object_Locations) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Object_Locations.Put(m) + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err } -} -func Object_LocationsFromVTPool() *Object_Locations { - return vtprotoPool_Object_Locations.Get().(*Object_Locations) + return dAtA[:n], nil } -var vtprotoPool_Object = sync.Pool{ - New: func() interface{} { - return &Object{} - }, +func (m *Info_Memory) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Object) ResetVT() { - m.Reset() -} -func (m *Object) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Object.Put(m) +func (m *Info_Memory) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil } -} -func ObjectFromVTPool() *Object { - return vtprotoPool_Object.Get().(*Object) -} - -var vtprotoPool_Control_CreateIndexRequest = sync.Pool{ - New: func() interface{} { - return &Control_CreateIndexRequest{} - }, -} - -func (m *Control_CreateIndexRequest) ResetVT() { - m.Reset() -} -func (m *Control_CreateIndexRequest) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Control_CreateIndexRequest.Put(m) + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } -} -func Control_CreateIndexRequestFromVTPool() *Control_CreateIndexRequest { - return vtprotoPool_Control_CreateIndexRequest.Get().(*Control_CreateIndexRequest) -} - -var vtprotoPool_Control = sync.Pool{ - New: func() interface{} { - return &Control{} - }, -} - -func (m *Control) ResetVT() { - m.Reset() -} -func (m *Control) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Control.Put(m) + if m.Usage != 0 { + i -= 8 + binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Usage)))) + i-- + dAtA[i] = 0x19 } -} -func ControlFromVTPool() *Control { - return vtprotoPool_Control.Get().(*Control) -} - -var vtprotoPool_Discoverer_Request = sync.Pool{ - New: func() interface{} { - return &Discoverer_Request{} - }, -} - -func (m *Discoverer_Request) ResetVT() { - m.Reset() -} -func (m *Discoverer_Request) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Discoverer_Request.Put(m) + if m.Request != 0 { + i -= 8 + binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Request)))) + i-- + dAtA[i] = 0x11 } -} -func Discoverer_RequestFromVTPool() *Discoverer_Request { - return vtprotoPool_Discoverer_Request.Get().(*Discoverer_Request) -} - -var vtprotoPool_Discoverer = sync.Pool{ - New: func() interface{} { - return &Discoverer{} - }, -} - -func (m *Discoverer) ResetVT() { - m.Reset() -} -func (m *Discoverer) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Discoverer.Put(m) + if m.Limit != 0 { + i -= 8 + binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Limit)))) + i-- + dAtA[i] = 0x9 } -} -func DiscovererFromVTPool() *Discoverer { - return vtprotoPool_Discoverer.Get().(*Discoverer) -} - -var vtprotoPool_Info_Index_Count = sync.Pool{ - New: func() interface{} { - return &Info_Index_Count{} - }, + return len(dAtA) - i, nil } -func (m *Info_Index_Count) ResetVT() { - m.Reset() -} -func (m *Info_Index_Count) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Info_Index_Count.Put(m) +func (m *Info_Pods) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil } -} -func Info_Index_CountFromVTPool() *Info_Index_Count { - return vtprotoPool_Info_Index_Count.Get().(*Info_Index_Count) + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil } -var vtprotoPool_Info_Index_UUID = sync.Pool{ - New: func() interface{} { - return &Info_Index_UUID{} - }, +func (m *Info_Pods) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Info_Index_UUID) ResetVT() { - m.Reset() -} -func (m *Info_Index_UUID) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Info_Index_UUID.Put(m) +func (m *Info_Pods) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil } -} -func Info_Index_UUIDFromVTPool() *Info_Index_UUID { - return vtprotoPool_Info_Index_UUID.Get().(*Info_Index_UUID) -} - -var vtprotoPool_Info_Index = sync.Pool{ - New: func() interface{} { - return &Info_Index{} - }, + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Pods) > 0 { + for iNdEx := len(m.Pods) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Pods[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil } -func (m *Info_Index) ResetVT() { - m.Reset() -} -func (m *Info_Index) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Info_Index.Put(m) +func (m *Info_Nodes) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil } -} -func Info_IndexFromVTPool() *Info_Index { - return vtprotoPool_Info_Index.Get().(*Info_Index) + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil } -var vtprotoPool_Info_Pod = sync.Pool{ - New: func() interface{} { - return &Info_Pod{} - }, +func (m *Info_Nodes) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Info_Pod) ResetVT() { - m.Cpu.ReturnToVTPool() - m.Memory.ReturnToVTPool() - m.Node.ReturnToVTPool() - m.Reset() -} -func (m *Info_Pod) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Info_Pod.Put(m) +func (m *Info_Nodes) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil } -} -func Info_PodFromVTPool() *Info_Pod { - return vtprotoPool_Info_Pod.Get().(*Info_Pod) -} - -var vtprotoPool_Info_Node = sync.Pool{ - New: func() interface{} { - return &Info_Node{} - }, + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Nodes) > 0 { + for iNdEx := len(m.Nodes) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Nodes[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil } -func (m *Info_Node) ResetVT() { - m.Cpu.ReturnToVTPool() - m.Memory.ReturnToVTPool() - m.Pods.ReturnToVTPool() - m.Reset() -} -func (m *Info_Node) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Info_Node.Put(m) +func (m *Info_IPs) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil } -} -func Info_NodeFromVTPool() *Info_Node { - return vtprotoPool_Info_Node.Get().(*Info_Node) + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil } -var vtprotoPool_Info_CPU = sync.Pool{ - New: func() interface{} { - return &Info_CPU{} - }, +func (m *Info_IPs) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Info_CPU) ResetVT() { - m.Reset() -} -func (m *Info_CPU) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Info_CPU.Put(m) +func (m *Info_IPs) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil } -} -func Info_CPUFromVTPool() *Info_CPU { - return vtprotoPool_Info_CPU.Get().(*Info_CPU) -} - -var vtprotoPool_Info_Memory = sync.Pool{ - New: func() interface{} { - return &Info_Memory{} - }, + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Ip) > 0 { + for iNdEx := len(m.Ip) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Ip[iNdEx]) + copy(dAtA[i:], m.Ip[iNdEx]) + i = encodeVarint(dAtA, i, uint64(len(m.Ip[iNdEx]))) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil } -func (m *Info_Memory) ResetVT() { - m.Reset() -} -func (m *Info_Memory) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Info_Memory.Put(m) +func (m *Info) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil } -} -func Info_MemoryFromVTPool() *Info_Memory { - return vtprotoPool_Info_Memory.Get().(*Info_Memory) + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil } -var vtprotoPool_Info_Pods = sync.Pool{ - New: func() interface{} { - return &Info_Pods{} - }, +func (m *Info) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Info_Pods) ResetVT() { - for _, mm := range m.Pods { - mm.ResetVT() +func (m *Info) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil } - m.Reset() -} -func (m *Info_Pods) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Info_Pods.Put(m) + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } -} -func Info_PodsFromVTPool() *Info_Pods { - return vtprotoPool_Info_Pods.Get().(*Info_Pods) -} - -var vtprotoPool_Info_Nodes = sync.Pool{ - New: func() interface{} { - return &Info_Nodes{} - }, + return len(dAtA) - i, nil } -func (m *Info_Nodes) ResetVT() { - for _, mm := range m.Nodes { - mm.ResetVT() +func (m *Empty) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil } - m.Reset() -} -func (m *Info_Nodes) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Info_Nodes.Put(m) + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err } -} -func Info_NodesFromVTPool() *Info_Nodes { - return vtprotoPool_Info_Nodes.Get().(*Info_Nodes) + return dAtA[:n], nil } -var vtprotoPool_Info_IPs = sync.Pool{ - New: func() interface{} { - return &Info_IPs{} - }, +func (m *Empty) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Info_IPs) ResetVT() { - f0 := m.Ip[:0] - m.Reset() - m.Ip = f0 -} -func (m *Info_IPs) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Info_IPs.Put(m) +func (m *Empty) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil } -} -func Info_IPsFromVTPool() *Info_IPs { - return vtprotoPool_Info_IPs.Get().(*Info_IPs) -} - -var vtprotoPool_Info = sync.Pool{ - New: func() interface{} { - return &Info{} - }, + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + return len(dAtA) - i, nil } -func (m *Info) ResetVT() { - m.Reset() -} -func (m *Info) ReturnToVTPool() { - if m != nil { - m.ResetVT() - vtprotoPool_Info.Put(m) +func encodeVarint(dAtA []byte, offset int, v uint64) int { + offset -= sov(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ } -} -func InfoFromVTPool() *Info { - return vtprotoPool_Info.Get().(*Info) + dAtA[offset] = uint8(v) + return base } func (m *Search_Request) SizeVT() (n int) { if m == nil { @@ -8287,7 +8559,7 @@ func (m *Search_Request) UnmarshalVT(dAtA []byte) error { } var elementCount int elementCount = packedLen / 4 - if elementCount != 0 && len(m.Vector) == 0 && cap(m.Vector) < elementCount { + if elementCount != 0 && len(m.Vector) == 0 { m.Vector = make([]float32, 0, elementCount) } for iNdEx < postIndex { @@ -8333,7 +8605,7 @@ func (m *Search_Request) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Config == nil { - m.Config = Search_ConfigFromVTPool() + m.Config = &Search_Config{} } if err := m.Config.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -8419,14 +8691,7 @@ func (m *Search_MultiRequest) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if len(m.Requests) == cap(m.Requests) { - m.Requests = append(m.Requests, &Search_Request{}) - } else { - m.Requests = m.Requests[:len(m.Requests)+1] - if m.Requests[len(m.Requests)-1] == nil { - m.Requests[len(m.Requests)-1] = &Search_Request{} - } - } + m.Requests = append(m.Requests, &Search_Request{}) if err := m.Requests[len(m.Requests)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -8544,7 +8809,7 @@ func (m *Search_IDRequest) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Config == nil { - m.Config = Search_ConfigFromVTPool() + m.Config = &Search_Config{} } if err := m.Config.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -8630,14 +8895,7 @@ func (m *Search_MultiIDRequest) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if len(m.Requests) == cap(m.Requests) { - m.Requests = append(m.Requests, &Search_IDRequest{}) - } else { - m.Requests = m.Requests[:len(m.Requests)+1] - if m.Requests[len(m.Requests)-1] == nil { - m.Requests[len(m.Requests)-1] = &Search_IDRequest{} - } - } + m.Requests = append(m.Requests, &Search_IDRequest{}) if err := m.Requests[len(m.Requests)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -8757,7 +9015,7 @@ func (m *Search_ObjectRequest) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Config == nil { - m.Config = Search_ConfigFromVTPool() + m.Config = &Search_Config{} } if err := m.Config.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -8793,7 +9051,7 @@ func (m *Search_ObjectRequest) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Vectorizer == nil { - m.Vectorizer = Filter_TargetFromVTPool() + m.Vectorizer = &Filter_Target{} } if err := m.Vectorizer.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -8879,14 +9137,7 @@ func (m *Search_MultiObjectRequest) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if len(m.Requests) == cap(m.Requests) { - m.Requests = append(m.Requests, &Search_ObjectRequest{}) - } else { - m.Requests = m.Requests[:len(m.Requests)+1] - if m.Requests[len(m.Requests)-1] == nil { - m.Requests[len(m.Requests)-1] = &Search_ObjectRequest{} - } - } + m.Requests = append(m.Requests, &Search_ObjectRequest{}) if err := m.Requests[len(m.Requests)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -9064,7 +9315,7 @@ func (m *Search_Config) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.IngressFilters == nil { - m.IngressFilters = Filter_ConfigFromVTPool() + m.IngressFilters = &Filter_Config{} } if err := m.IngressFilters.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -9100,7 +9351,7 @@ func (m *Search_Config) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.EgressFilters == nil { - m.EgressFilters = Filter_ConfigFromVTPool() + m.EgressFilters = &Filter_Config{} } if err := m.EgressFilters.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -9256,14 +9507,7 @@ func (m *Search_Response) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if len(m.Results) == cap(m.Results) { - m.Results = append(m.Results, &Object_Distance{}) - } else { - m.Results = m.Results[:len(m.Results)+1] - if m.Results[len(m.Results)-1] == nil { - m.Results[len(m.Results)-1] = &Object_Distance{} - } - } + m.Results = append(m.Results, &Object_Distance{}) if err := m.Results[len(m.Results)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -9348,14 +9592,7 @@ func (m *Search_Responses) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if len(m.Responses) == cap(m.Responses) { - m.Responses = append(m.Responses, &Search_Response{}) - } else { - m.Responses = m.Responses[:len(m.Responses)+1] - if m.Responses[len(m.Responses)-1] == nil { - m.Responses[len(m.Responses)-1] = &Search_Response{} - } - } + m.Responses = append(m.Responses, &Search_Response{}) if err := m.Responses[len(m.Responses)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -9742,14 +9979,7 @@ func (m *Filter_Config) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if len(m.Targets) == cap(m.Targets) { - m.Targets = append(m.Targets, &Filter_Target{}) - } else { - m.Targets = m.Targets[:len(m.Targets)+1] - if m.Targets[len(m.Targets)-1] == nil { - m.Targets[len(m.Targets)-1] = &Filter_Target{} - } - } + m.Targets = append(m.Targets, &Filter_Target{}) if err := m.Targets[len(m.Targets)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -9886,7 +10116,7 @@ func (m *Insert_Request) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Vector == nil { - m.Vector = Object_VectorFromVTPool() + m.Vector = &Object_Vector{} } if err := m.Vector.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -9922,7 +10152,7 @@ func (m *Insert_Request) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Config == nil { - m.Config = Insert_ConfigFromVTPool() + m.Config = &Insert_Config{} } if err := m.Config.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -10008,14 +10238,7 @@ func (m *Insert_MultiRequest) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if len(m.Requests) == cap(m.Requests) { - m.Requests = append(m.Requests, &Insert_Request{}) - } else { - m.Requests = m.Requests[:len(m.Requests)+1] - if m.Requests[len(m.Requests)-1] == nil { - m.Requests[len(m.Requests)-1] = &Insert_Request{} - } - } + m.Requests = append(m.Requests, &Insert_Request{}) if err := m.Requests[len(m.Requests)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -10101,7 +10324,7 @@ func (m *Insert_ObjectRequest) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Object == nil { - m.Object = Object_BlobFromVTPool() + m.Object = &Object_Blob{} } if err := m.Object.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -10137,7 +10360,7 @@ func (m *Insert_ObjectRequest) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Config == nil { - m.Config = Insert_ConfigFromVTPool() + m.Config = &Insert_Config{} } if err := m.Config.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -10173,7 +10396,7 @@ func (m *Insert_ObjectRequest) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Vectorizer == nil { - m.Vectorizer = Filter_TargetFromVTPool() + m.Vectorizer = &Filter_Target{} } if err := m.Vectorizer.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -10259,14 +10482,7 @@ func (m *Insert_MultiObjectRequest) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if len(m.Requests) == cap(m.Requests) { - m.Requests = append(m.Requests, &Insert_ObjectRequest{}) - } else { - m.Requests = m.Requests[:len(m.Requests)+1] - if m.Requests[len(m.Requests)-1] == nil { - m.Requests[len(m.Requests)-1] = &Insert_ObjectRequest{} - } - } + m.Requests = append(m.Requests, &Insert_ObjectRequest{}) if err := m.Requests[len(m.Requests)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -10372,7 +10588,7 @@ func (m *Insert_Config) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Filters == nil { - m.Filters = Filter_ConfigFromVTPool() + m.Filters = &Filter_Config{} } if err := m.Filters.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -10529,7 +10745,7 @@ func (m *Update_Request) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Vector == nil { - m.Vector = Object_VectorFromVTPool() + m.Vector = &Object_Vector{} } if err := m.Vector.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -10565,7 +10781,7 @@ func (m *Update_Request) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Config == nil { - m.Config = Update_ConfigFromVTPool() + m.Config = &Update_Config{} } if err := m.Config.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -10651,14 +10867,7 @@ func (m *Update_MultiRequest) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if len(m.Requests) == cap(m.Requests) { - m.Requests = append(m.Requests, &Update_Request{}) - } else { - m.Requests = m.Requests[:len(m.Requests)+1] - if m.Requests[len(m.Requests)-1] == nil { - m.Requests[len(m.Requests)-1] = &Update_Request{} - } - } + m.Requests = append(m.Requests, &Update_Request{}) if err := m.Requests[len(m.Requests)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -10744,7 +10953,7 @@ func (m *Update_ObjectRequest) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Object == nil { - m.Object = Object_BlobFromVTPool() + m.Object = &Object_Blob{} } if err := m.Object.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -10780,7 +10989,7 @@ func (m *Update_ObjectRequest) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Config == nil { - m.Config = Update_ConfigFromVTPool() + m.Config = &Update_Config{} } if err := m.Config.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -10816,7 +11025,7 @@ func (m *Update_ObjectRequest) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Vectorizer == nil { - m.Vectorizer = Filter_TargetFromVTPool() + m.Vectorizer = &Filter_Target{} } if err := m.Vectorizer.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -10902,14 +11111,7 @@ func (m *Update_MultiObjectRequest) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if len(m.Requests) == cap(m.Requests) { - m.Requests = append(m.Requests, &Update_ObjectRequest{}) - } else { - m.Requests = m.Requests[:len(m.Requests)+1] - if m.Requests[len(m.Requests)-1] == nil { - m.Requests[len(m.Requests)-1] = &Update_ObjectRequest{} - } - } + m.Requests = append(m.Requests, &Update_ObjectRequest{}) if err := m.Requests[len(m.Requests)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -11015,7 +11217,7 @@ func (m *Update_Config) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Filters == nil { - m.Filters = Filter_ConfigFromVTPool() + m.Filters = &Filter_Config{} } if err := m.Filters.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -11192,7 +11394,7 @@ func (m *Upsert_Request) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Vector == nil { - m.Vector = Object_VectorFromVTPool() + m.Vector = &Object_Vector{} } if err := m.Vector.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -11228,7 +11430,7 @@ func (m *Upsert_Request) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Config == nil { - m.Config = Upsert_ConfigFromVTPool() + m.Config = &Upsert_Config{} } if err := m.Config.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -11314,14 +11516,7 @@ func (m *Upsert_MultiRequest) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if len(m.Requests) == cap(m.Requests) { - m.Requests = append(m.Requests, &Upsert_Request{}) - } else { - m.Requests = m.Requests[:len(m.Requests)+1] - if m.Requests[len(m.Requests)-1] == nil { - m.Requests[len(m.Requests)-1] = &Upsert_Request{} - } - } + m.Requests = append(m.Requests, &Upsert_Request{}) if err := m.Requests[len(m.Requests)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -11407,7 +11602,7 @@ func (m *Upsert_ObjectRequest) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Object == nil { - m.Object = Object_BlobFromVTPool() + m.Object = &Object_Blob{} } if err := m.Object.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -11443,7 +11638,7 @@ func (m *Upsert_ObjectRequest) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Config == nil { - m.Config = Upsert_ConfigFromVTPool() + m.Config = &Upsert_Config{} } if err := m.Config.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -11479,7 +11674,7 @@ func (m *Upsert_ObjectRequest) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Vectorizer == nil { - m.Vectorizer = Filter_TargetFromVTPool() + m.Vectorizer = &Filter_Target{} } if err := m.Vectorizer.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -11565,14 +11760,7 @@ func (m *Upsert_MultiObjectRequest) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if len(m.Requests) == cap(m.Requests) { - m.Requests = append(m.Requests, &Upsert_ObjectRequest{}) - } else { - m.Requests = m.Requests[:len(m.Requests)+1] - if m.Requests[len(m.Requests)-1] == nil { - m.Requests[len(m.Requests)-1] = &Upsert_ObjectRequest{} - } - } + m.Requests = append(m.Requests, &Upsert_ObjectRequest{}) if err := m.Requests[len(m.Requests)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -11678,7 +11866,7 @@ func (m *Upsert_Config) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Filters == nil { - m.Filters = Filter_ConfigFromVTPool() + m.Filters = &Filter_Config{} } if err := m.Filters.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -11855,7 +12043,7 @@ func (m *Remove_Request) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Id == nil { - m.Id = Object_IDFromVTPool() + m.Id = &Object_ID{} } if err := m.Id.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -11891,7 +12079,7 @@ func (m *Remove_Request) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Config == nil { - m.Config = Remove_ConfigFromVTPool() + m.Config = &Remove_Config{} } if err := m.Config.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -11977,14 +12165,7 @@ func (m *Remove_MultiRequest) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if len(m.Requests) == cap(m.Requests) { - m.Requests = append(m.Requests, &Remove_Request{}) - } else { - m.Requests = m.Requests[:len(m.Requests)+1] - if m.Requests[len(m.Requests)-1] == nil { - m.Requests[len(m.Requests)-1] = &Remove_Request{} - } - } + m.Requests = append(m.Requests, &Remove_Request{}) if err := m.Requests[len(m.Requests)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -12211,7 +12392,7 @@ func (m *Object_VectorRequest) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Id == nil { - m.Id = Object_IDFromVTPool() + m.Id = &Object_ID{} } if err := m.Id.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -12247,7 +12428,7 @@ func (m *Object_VectorRequest) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Filters == nil { - m.Filters = Filter_ConfigFromVTPool() + m.Filters = &Filter_Config{} } if err := m.Filters.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -12783,7 +12964,7 @@ func (m *Object_Vector) UnmarshalVT(dAtA []byte) error { } var elementCount int elementCount = packedLen / 4 - if elementCount != 0 && len(m.Vector) == 0 && cap(m.Vector) < elementCount { + if elementCount != 0 && len(m.Vector) == 0 { m.Vector = make([]float32, 0, elementCount) } for iNdEx < postIndex { @@ -12879,14 +13060,7 @@ func (m *Object_Vectors) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if len(m.Vectors) == cap(m.Vectors) { - m.Vectors = append(m.Vectors, &Object_Vector{}) - } else { - m.Vectors = m.Vectors[:len(m.Vectors)+1] - if m.Vectors[len(m.Vectors)-1] == nil { - m.Vectors[len(m.Vectors)-1] = &Object_Vector{} - } - } + m.Vectors = append(m.Vectors, &Object_Vector{}) if err := m.Vectors[len(m.Vectors)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -13177,7 +13351,7 @@ func (m *Object_ReshapeVector) UnmarshalVT(dAtA []byte) error { } } elementCount = count - if elementCount != 0 && len(m.Shape) == 0 && cap(m.Shape) < elementCount { + if elementCount != 0 && len(m.Shape) == 0 { m.Shape = make([]int32, 0, elementCount) } for iNdEx < postIndex { @@ -13843,14 +14017,7 @@ func (m *Object_Locations) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if len(m.Locations) == cap(m.Locations) { - m.Locations = append(m.Locations, &Object_Location{}) - } else { - m.Locations = m.Locations[:len(m.Locations)+1] - if m.Locations[len(m.Locations)-1] == nil { - m.Locations[len(m.Locations)-1] = &Object_Location{} - } - } + m.Locations = append(m.Locations, &Object_Location{}) if err := m.Locations[len(m.Locations)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -14831,7 +14998,7 @@ func (m *Info_Pod) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Cpu == nil { - m.Cpu = Info_CPUFromVTPool() + m.Cpu = &Info_CPU{} } if err := m.Cpu.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -14867,7 +15034,7 @@ func (m *Info_Pod) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Memory == nil { - m.Memory = Info_MemoryFromVTPool() + m.Memory = &Info_Memory{} } if err := m.Memory.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -14903,7 +15070,7 @@ func (m *Info_Pod) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Node == nil { - m.Node = Info_NodeFromVTPool() + m.Node = &Info_Node{} } if err := m.Node.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -15086,7 +15253,7 @@ func (m *Info_Node) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Cpu == nil { - m.Cpu = Info_CPUFromVTPool() + m.Cpu = &Info_CPU{} } if err := m.Cpu.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -15122,7 +15289,7 @@ func (m *Info_Node) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Memory == nil { - m.Memory = Info_MemoryFromVTPool() + m.Memory = &Info_Memory{} } if err := m.Memory.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -15158,7 +15325,7 @@ func (m *Info_Node) UnmarshalVT(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Pods == nil { - m.Pods = Info_PodsFromVTPool() + m.Pods = &Info_Pods{} } if err := m.Pods.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err @@ -15412,14 +15579,7 @@ func (m *Info_Pods) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if len(m.Pods) == cap(m.Pods) { - m.Pods = append(m.Pods, &Info_Pod{}) - } else { - m.Pods = m.Pods[:len(m.Pods)+1] - if m.Pods[len(m.Pods)-1] == nil { - m.Pods[len(m.Pods)-1] = &Info_Pod{} - } - } + m.Pods = append(m.Pods, &Info_Pod{}) if err := m.Pods[len(m.Pods)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -15504,14 +15664,7 @@ func (m *Info_Nodes) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if len(m.Nodes) == cap(m.Nodes) { - m.Nodes = append(m.Nodes, &Info_Node{}) - } else { - m.Nodes = m.Nodes[:len(m.Nodes)+1] - if m.Nodes[len(m.Nodes)-1] == nil { - m.Nodes[len(m.Nodes)-1] = &Info_Node{} - } - } + m.Nodes = append(m.Nodes, &Info_Node{}) if err := m.Nodes[len(m.Nodes)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } diff --git a/apis/grpc/v1/vald/filter_vtproto.pb.go b/apis/grpc/v1/vald/filter_vtproto.pb.go index 57d71c89e4..f11b3d409d 100644 --- a/apis/grpc/v1/vald/filter_vtproto.pb.go +++ b/apis/grpc/v1/vald/filter_vtproto.pb.go @@ -77,7 +77,7 @@ func NewFilterClient(cc grpc.ClientConnInterface) FilterClient { } func (c *filterClient) SearchObject(ctx context.Context, in *payload.Search_ObjectRequest, opts ...grpc.CallOption) (*payload.Search_Response, error) { - out := payload.Search_ResponseFromVTPool() + out := new(payload.Search_Response) err := c.cc.Invoke(ctx, "/vald.v1.Filter/SearchObject", in, out, opts...) if err != nil { return nil, err @@ -86,7 +86,7 @@ func (c *filterClient) SearchObject(ctx context.Context, in *payload.Search_Obje } func (c *filterClient) MultiSearchObject(ctx context.Context, in *payload.Search_MultiObjectRequest, opts ...grpc.CallOption) (*payload.Search_Responses, error) { - out := payload.Search_ResponsesFromVTPool() + out := new(payload.Search_Responses) err := c.cc.Invoke(ctx, "/vald.v1.Filter/MultiSearchObject", in, out, opts...) if err != nil { return nil, err @@ -126,7 +126,7 @@ func (x *filterStreamSearchObjectClient) Recv() (*payload.Search_StreamResponse, } func (c *filterClient) InsertObject(ctx context.Context, in *payload.Insert_ObjectRequest, opts ...grpc.CallOption) (*payload.Object_Location, error) { - out := payload.Object_LocationFromVTPool() + out := new(payload.Object_Location) err := c.cc.Invoke(ctx, "/vald.v1.Filter/InsertObject", in, out, opts...) if err != nil { return nil, err @@ -166,7 +166,7 @@ func (x *filterStreamInsertObjectClient) Recv() (*payload.Object_StreamLocation, } func (c *filterClient) MultiInsertObject(ctx context.Context, in *payload.Insert_MultiObjectRequest, opts ...grpc.CallOption) (*payload.Object_Locations, error) { - out := payload.Object_LocationsFromVTPool() + out := new(payload.Object_Locations) err := c.cc.Invoke(ctx, "/vald.v1.Filter/MultiInsertObject", in, out, opts...) if err != nil { return nil, err @@ -175,7 +175,7 @@ func (c *filterClient) MultiInsertObject(ctx context.Context, in *payload.Insert } func (c *filterClient) UpdateObject(ctx context.Context, in *payload.Update_ObjectRequest, opts ...grpc.CallOption) (*payload.Object_Location, error) { - out := payload.Object_LocationFromVTPool() + out := new(payload.Object_Location) err := c.cc.Invoke(ctx, "/vald.v1.Filter/UpdateObject", in, out, opts...) if err != nil { return nil, err @@ -215,7 +215,7 @@ func (x *filterStreamUpdateObjectClient) Recv() (*payload.Object_StreamLocation, } func (c *filterClient) MultiUpdateObject(ctx context.Context, in *payload.Update_MultiObjectRequest, opts ...grpc.CallOption) (*payload.Object_Locations, error) { - out := payload.Object_LocationsFromVTPool() + out := new(payload.Object_Locations) err := c.cc.Invoke(ctx, "/vald.v1.Filter/MultiUpdateObject", in, out, opts...) if err != nil { return nil, err @@ -224,7 +224,7 @@ func (c *filterClient) MultiUpdateObject(ctx context.Context, in *payload.Update } func (c *filterClient) UpsertObject(ctx context.Context, in *payload.Upsert_ObjectRequest, opts ...grpc.CallOption) (*payload.Object_Location, error) { - out := payload.Object_LocationFromVTPool() + out := new(payload.Object_Location) err := c.cc.Invoke(ctx, "/vald.v1.Filter/UpsertObject", in, out, opts...) if err != nil { return nil, err @@ -264,7 +264,7 @@ func (x *filterStreamUpsertObjectClient) Recv() (*payload.Object_StreamLocation, } func (c *filterClient) MultiUpsertObject(ctx context.Context, in *payload.Upsert_MultiObjectRequest, opts ...grpc.CallOption) (*payload.Object_Locations, error) { - out := payload.Object_LocationsFromVTPool() + out := new(payload.Object_Locations) err := c.cc.Invoke(ctx, "/vald.v1.Filter/MultiUpsertObject", in, out, opts...) if err != nil { return nil, err @@ -357,7 +357,7 @@ func RegisterFilterServer(s grpc.ServiceRegistrar, srv FilterServer) { } func _Filter_SearchObject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Search_ObjectRequestFromVTPool() + in := new(payload.Search_ObjectRequest) if err := dec(in); err != nil { return nil, err } @@ -375,7 +375,7 @@ func _Filter_SearchObject_Handler(srv interface{}, ctx context.Context, dec func } func _Filter_MultiSearchObject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Search_MultiObjectRequestFromVTPool() + in := new(payload.Search_MultiObjectRequest) if err := dec(in); err != nil { return nil, err } @@ -411,7 +411,7 @@ func (x *filterStreamSearchObjectServer) Send(m *payload.Search_StreamResponse) } func (x *filterStreamSearchObjectServer) Recv() (*payload.Search_ObjectRequest, error) { - m := payload.Search_ObjectRequestFromVTPool() + m := new(payload.Search_ObjectRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } @@ -419,7 +419,7 @@ func (x *filterStreamSearchObjectServer) Recv() (*payload.Search_ObjectRequest, } func _Filter_InsertObject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Insert_ObjectRequestFromVTPool() + in := new(payload.Insert_ObjectRequest) if err := dec(in); err != nil { return nil, err } @@ -455,7 +455,7 @@ func (x *filterStreamInsertObjectServer) Send(m *payload.Object_StreamLocation) } func (x *filterStreamInsertObjectServer) Recv() (*payload.Insert_ObjectRequest, error) { - m := payload.Insert_ObjectRequestFromVTPool() + m := new(payload.Insert_ObjectRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } @@ -463,7 +463,7 @@ func (x *filterStreamInsertObjectServer) Recv() (*payload.Insert_ObjectRequest, } func _Filter_MultiInsertObject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Insert_MultiObjectRequestFromVTPool() + in := new(payload.Insert_MultiObjectRequest) if err := dec(in); err != nil { return nil, err } @@ -481,7 +481,7 @@ func _Filter_MultiInsertObject_Handler(srv interface{}, ctx context.Context, dec } func _Filter_UpdateObject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Update_ObjectRequestFromVTPool() + in := new(payload.Update_ObjectRequest) if err := dec(in); err != nil { return nil, err } @@ -517,7 +517,7 @@ func (x *filterStreamUpdateObjectServer) Send(m *payload.Object_StreamLocation) } func (x *filterStreamUpdateObjectServer) Recv() (*payload.Update_ObjectRequest, error) { - m := payload.Update_ObjectRequestFromVTPool() + m := new(payload.Update_ObjectRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } @@ -525,7 +525,7 @@ func (x *filterStreamUpdateObjectServer) Recv() (*payload.Update_ObjectRequest, } func _Filter_MultiUpdateObject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Update_MultiObjectRequestFromVTPool() + in := new(payload.Update_MultiObjectRequest) if err := dec(in); err != nil { return nil, err } @@ -543,7 +543,7 @@ func _Filter_MultiUpdateObject_Handler(srv interface{}, ctx context.Context, dec } func _Filter_UpsertObject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Upsert_ObjectRequestFromVTPool() + in := new(payload.Upsert_ObjectRequest) if err := dec(in); err != nil { return nil, err } @@ -579,7 +579,7 @@ func (x *filterStreamUpsertObjectServer) Send(m *payload.Object_StreamLocation) } func (x *filterStreamUpsertObjectServer) Recv() (*payload.Upsert_ObjectRequest, error) { - m := payload.Upsert_ObjectRequestFromVTPool() + m := new(payload.Upsert_ObjectRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } @@ -587,7 +587,7 @@ func (x *filterStreamUpsertObjectServer) Recv() (*payload.Upsert_ObjectRequest, } func _Filter_MultiUpsertObject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Upsert_MultiObjectRequestFromVTPool() + in := new(payload.Upsert_MultiObjectRequest) if err := dec(in); err != nil { return nil, err } diff --git a/apis/grpc/v1/vald/insert_vtproto.pb.go b/apis/grpc/v1/vald/insert_vtproto.pb.go index c1be3635ef..987c33258d 100644 --- a/apis/grpc/v1/vald/insert_vtproto.pb.go +++ b/apis/grpc/v1/vald/insert_vtproto.pb.go @@ -59,7 +59,7 @@ func NewInsertClient(cc grpc.ClientConnInterface) InsertClient { } func (c *insertClient) Insert(ctx context.Context, in *payload.Insert_Request, opts ...grpc.CallOption) (*payload.Object_Location, error) { - out := payload.Object_LocationFromVTPool() + out := new(payload.Object_Location) err := c.cc.Invoke(ctx, "/vald.v1.Insert/Insert", in, out, opts...) if err != nil { return nil, err @@ -99,7 +99,7 @@ func (x *insertStreamInsertClient) Recv() (*payload.Object_StreamLocation, error } func (c *insertClient) MultiInsert(ctx context.Context, in *payload.Insert_MultiRequest, opts ...grpc.CallOption) (*payload.Object_Locations, error) { - out := payload.Object_LocationsFromVTPool() + out := new(payload.Object_Locations) err := c.cc.Invoke(ctx, "/vald.v1.Insert/MultiInsert", in, out, opts...) if err != nil { return nil, err @@ -147,7 +147,7 @@ func RegisterInsertServer(s grpc.ServiceRegistrar, srv InsertServer) { } func _Insert_Insert_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Insert_RequestFromVTPool() + in := new(payload.Insert_Request) if err := dec(in); err != nil { return nil, err } @@ -183,7 +183,7 @@ func (x *insertStreamInsertServer) Send(m *payload.Object_StreamLocation) error } func (x *insertStreamInsertServer) Recv() (*payload.Insert_Request, error) { - m := payload.Insert_RequestFromVTPool() + m := new(payload.Insert_Request) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } @@ -191,7 +191,7 @@ func (x *insertStreamInsertServer) Recv() (*payload.Insert_Request, error) { } func _Insert_MultiInsert_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Insert_MultiRequestFromVTPool() + in := new(payload.Insert_MultiRequest) if err := dec(in); err != nil { return nil, err } diff --git a/apis/grpc/v1/vald/object_vtproto.pb.go b/apis/grpc/v1/vald/object_vtproto.pb.go index 20d6bd0513..73e5f067f3 100644 --- a/apis/grpc/v1/vald/object_vtproto.pb.go +++ b/apis/grpc/v1/vald/object_vtproto.pb.go @@ -59,7 +59,7 @@ func NewObjectClient(cc grpc.ClientConnInterface) ObjectClient { } func (c *objectClient) Exists(ctx context.Context, in *payload.Object_ID, opts ...grpc.CallOption) (*payload.Object_ID, error) { - out := payload.Object_IDFromVTPool() + out := new(payload.Object_ID) err := c.cc.Invoke(ctx, "/vald.v1.Object/Exists", in, out, opts...) if err != nil { return nil, err @@ -68,7 +68,7 @@ func (c *objectClient) Exists(ctx context.Context, in *payload.Object_ID, opts . } func (c *objectClient) GetObject(ctx context.Context, in *payload.Object_VectorRequest, opts ...grpc.CallOption) (*payload.Object_Vector, error) { - out := payload.Object_VectorFromVTPool() + out := new(payload.Object_Vector) err := c.cc.Invoke(ctx, "/vald.v1.Object/GetObject", in, out, opts...) if err != nil { return nil, err @@ -147,7 +147,7 @@ func RegisterObjectServer(s grpc.ServiceRegistrar, srv ObjectServer) { } func _Object_Exists_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Object_IDFromVTPool() + in := new(payload.Object_ID) if err := dec(in); err != nil { return nil, err } @@ -165,7 +165,7 @@ func _Object_Exists_Handler(srv interface{}, ctx context.Context, dec func(inter } func _Object_GetObject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Object_VectorRequestFromVTPool() + in := new(payload.Object_VectorRequest) if err := dec(in); err != nil { return nil, err } @@ -201,7 +201,7 @@ func (x *objectStreamGetObjectServer) Send(m *payload.Object_StreamVector) error } func (x *objectStreamGetObjectServer) Recv() (*payload.Object_VectorRequest, error) { - m := payload.Object_VectorRequestFromVTPool() + m := new(payload.Object_VectorRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } diff --git a/apis/grpc/v1/vald/remove_vtproto.pb.go b/apis/grpc/v1/vald/remove_vtproto.pb.go index e0751243c6..74da1b9ba4 100644 --- a/apis/grpc/v1/vald/remove_vtproto.pb.go +++ b/apis/grpc/v1/vald/remove_vtproto.pb.go @@ -59,7 +59,7 @@ func NewRemoveClient(cc grpc.ClientConnInterface) RemoveClient { } func (c *removeClient) Remove(ctx context.Context, in *payload.Remove_Request, opts ...grpc.CallOption) (*payload.Object_Location, error) { - out := payload.Object_LocationFromVTPool() + out := new(payload.Object_Location) err := c.cc.Invoke(ctx, "/vald.v1.Remove/Remove", in, out, opts...) if err != nil { return nil, err @@ -99,7 +99,7 @@ func (x *removeStreamRemoveClient) Recv() (*payload.Object_StreamLocation, error } func (c *removeClient) MultiRemove(ctx context.Context, in *payload.Remove_MultiRequest, opts ...grpc.CallOption) (*payload.Object_Locations, error) { - out := payload.Object_LocationsFromVTPool() + out := new(payload.Object_Locations) err := c.cc.Invoke(ctx, "/vald.v1.Remove/MultiRemove", in, out, opts...) if err != nil { return nil, err @@ -147,7 +147,7 @@ func RegisterRemoveServer(s grpc.ServiceRegistrar, srv RemoveServer) { } func _Remove_Remove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Remove_RequestFromVTPool() + in := new(payload.Remove_Request) if err := dec(in); err != nil { return nil, err } @@ -183,7 +183,7 @@ func (x *removeStreamRemoveServer) Send(m *payload.Object_StreamLocation) error } func (x *removeStreamRemoveServer) Recv() (*payload.Remove_Request, error) { - m := payload.Remove_RequestFromVTPool() + m := new(payload.Remove_Request) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } @@ -191,7 +191,7 @@ func (x *removeStreamRemoveServer) Recv() (*payload.Remove_Request, error) { } func _Remove_MultiRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Remove_MultiRequestFromVTPool() + in := new(payload.Remove_MultiRequest) if err := dec(in); err != nil { return nil, err } diff --git a/apis/grpc/v1/vald/search_vtproto.pb.go b/apis/grpc/v1/vald/search_vtproto.pb.go index dfef37189f..05bef14d15 100644 --- a/apis/grpc/v1/vald/search_vtproto.pb.go +++ b/apis/grpc/v1/vald/search_vtproto.pb.go @@ -62,9 +62,11 @@ type SearchClient interface { StreamLinearSearch(ctx context.Context, opts ...grpc.CallOption) (Search_StreamLinearSearchClient, error) // A method to linear search indexed vectors by multiple IDs. StreamLinearSearchByID(ctx context.Context, opts ...grpc.CallOption) (Search_StreamLinearSearchByIDClient, error) - // A method to linear search indexed vectors by multiple vectors in a single request. + // A method to linear search indexed vectors by multiple vectors in a single + // request. MultiLinearSearch(ctx context.Context, in *payload.Search_MultiRequest, opts ...grpc.CallOption) (*payload.Search_Responses, error) - // A method to linear search indexed vectors by multiple IDs in a single request. + // A method to linear search indexed vectors by multiple IDs in a single + // request. MultiLinearSearchByID(ctx context.Context, in *payload.Search_MultiIDRequest, opts ...grpc.CallOption) (*payload.Search_Responses, error) } @@ -77,7 +79,7 @@ func NewSearchClient(cc grpc.ClientConnInterface) SearchClient { } func (c *searchClient) Search(ctx context.Context, in *payload.Search_Request, opts ...grpc.CallOption) (*payload.Search_Response, error) { - out := payload.Search_ResponseFromVTPool() + out := new(payload.Search_Response) err := c.cc.Invoke(ctx, "/vald.v1.Search/Search", in, out, opts...) if err != nil { return nil, err @@ -86,7 +88,7 @@ func (c *searchClient) Search(ctx context.Context, in *payload.Search_Request, o } func (c *searchClient) SearchByID(ctx context.Context, in *payload.Search_IDRequest, opts ...grpc.CallOption) (*payload.Search_Response, error) { - out := payload.Search_ResponseFromVTPool() + out := new(payload.Search_Response) err := c.cc.Invoke(ctx, "/vald.v1.Search/SearchByID", in, out, opts...) if err != nil { return nil, err @@ -157,7 +159,7 @@ func (x *searchStreamSearchByIDClient) Recv() (*payload.Search_StreamResponse, e } func (c *searchClient) MultiSearch(ctx context.Context, in *payload.Search_MultiRequest, opts ...grpc.CallOption) (*payload.Search_Responses, error) { - out := payload.Search_ResponsesFromVTPool() + out := new(payload.Search_Responses) err := c.cc.Invoke(ctx, "/vald.v1.Search/MultiSearch", in, out, opts...) if err != nil { return nil, err @@ -166,7 +168,7 @@ func (c *searchClient) MultiSearch(ctx context.Context, in *payload.Search_Multi } func (c *searchClient) MultiSearchByID(ctx context.Context, in *payload.Search_MultiIDRequest, opts ...grpc.CallOption) (*payload.Search_Responses, error) { - out := payload.Search_ResponsesFromVTPool() + out := new(payload.Search_Responses) err := c.cc.Invoke(ctx, "/vald.v1.Search/MultiSearchByID", in, out, opts...) if err != nil { return nil, err @@ -175,7 +177,7 @@ func (c *searchClient) MultiSearchByID(ctx context.Context, in *payload.Search_M } func (c *searchClient) LinearSearch(ctx context.Context, in *payload.Search_Request, opts ...grpc.CallOption) (*payload.Search_Response, error) { - out := payload.Search_ResponseFromVTPool() + out := new(payload.Search_Response) err := c.cc.Invoke(ctx, "/vald.v1.Search/LinearSearch", in, out, opts...) if err != nil { return nil, err @@ -184,7 +186,7 @@ func (c *searchClient) LinearSearch(ctx context.Context, in *payload.Search_Requ } func (c *searchClient) LinearSearchByID(ctx context.Context, in *payload.Search_IDRequest, opts ...grpc.CallOption) (*payload.Search_Response, error) { - out := payload.Search_ResponseFromVTPool() + out := new(payload.Search_Response) err := c.cc.Invoke(ctx, "/vald.v1.Search/LinearSearchByID", in, out, opts...) if err != nil { return nil, err @@ -255,7 +257,7 @@ func (x *searchStreamLinearSearchByIDClient) Recv() (*payload.Search_StreamRespo } func (c *searchClient) MultiLinearSearch(ctx context.Context, in *payload.Search_MultiRequest, opts ...grpc.CallOption) (*payload.Search_Responses, error) { - out := payload.Search_ResponsesFromVTPool() + out := new(payload.Search_Responses) err := c.cc.Invoke(ctx, "/vald.v1.Search/MultiLinearSearch", in, out, opts...) if err != nil { return nil, err @@ -264,7 +266,7 @@ func (c *searchClient) MultiLinearSearch(ctx context.Context, in *payload.Search } func (c *searchClient) MultiLinearSearchByID(ctx context.Context, in *payload.Search_MultiIDRequest, opts ...grpc.CallOption) (*payload.Search_Responses, error) { - out := payload.Search_ResponsesFromVTPool() + out := new(payload.Search_Responses) err := c.cc.Invoke(ctx, "/vald.v1.Search/MultiLinearSearchByID", in, out, opts...) if err != nil { return nil, err @@ -296,9 +298,11 @@ type SearchServer interface { StreamLinearSearch(Search_StreamLinearSearchServer) error // A method to linear search indexed vectors by multiple IDs. StreamLinearSearchByID(Search_StreamLinearSearchByIDServer) error - // A method to linear search indexed vectors by multiple vectors in a single request. + // A method to linear search indexed vectors by multiple vectors in a single + // request. MultiLinearSearch(context.Context, *payload.Search_MultiRequest) (*payload.Search_Responses, error) - // A method to linear search indexed vectors by multiple IDs in a single request. + // A method to linear search indexed vectors by multiple IDs in a single + // request. MultiLinearSearchByID(context.Context, *payload.Search_MultiIDRequest) (*payload.Search_Responses, error) mustEmbedUnimplementedSearchServer() } @@ -357,7 +361,7 @@ func RegisterSearchServer(s grpc.ServiceRegistrar, srv SearchServer) { } func _Search_Search_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Search_RequestFromVTPool() + in := new(payload.Search_Request) if err := dec(in); err != nil { return nil, err } @@ -375,7 +379,7 @@ func _Search_Search_Handler(srv interface{}, ctx context.Context, dec func(inter } func _Search_SearchByID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Search_IDRequestFromVTPool() + in := new(payload.Search_IDRequest) if err := dec(in); err != nil { return nil, err } @@ -411,7 +415,7 @@ func (x *searchStreamSearchServer) Send(m *payload.Search_StreamResponse) error } func (x *searchStreamSearchServer) Recv() (*payload.Search_Request, error) { - m := payload.Search_RequestFromVTPool() + m := new(payload.Search_Request) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } @@ -437,7 +441,7 @@ func (x *searchStreamSearchByIDServer) Send(m *payload.Search_StreamResponse) er } func (x *searchStreamSearchByIDServer) Recv() (*payload.Search_IDRequest, error) { - m := payload.Search_IDRequestFromVTPool() + m := new(payload.Search_IDRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } @@ -445,7 +449,7 @@ func (x *searchStreamSearchByIDServer) Recv() (*payload.Search_IDRequest, error) } func _Search_MultiSearch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Search_MultiRequestFromVTPool() + in := new(payload.Search_MultiRequest) if err := dec(in); err != nil { return nil, err } @@ -463,7 +467,7 @@ func _Search_MultiSearch_Handler(srv interface{}, ctx context.Context, dec func( } func _Search_MultiSearchByID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Search_MultiIDRequestFromVTPool() + in := new(payload.Search_MultiIDRequest) if err := dec(in); err != nil { return nil, err } @@ -481,7 +485,7 @@ func _Search_MultiSearchByID_Handler(srv interface{}, ctx context.Context, dec f } func _Search_LinearSearch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Search_RequestFromVTPool() + in := new(payload.Search_Request) if err := dec(in); err != nil { return nil, err } @@ -499,7 +503,7 @@ func _Search_LinearSearch_Handler(srv interface{}, ctx context.Context, dec func } func _Search_LinearSearchByID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Search_IDRequestFromVTPool() + in := new(payload.Search_IDRequest) if err := dec(in); err != nil { return nil, err } @@ -535,7 +539,7 @@ func (x *searchStreamLinearSearchServer) Send(m *payload.Search_StreamResponse) } func (x *searchStreamLinearSearchServer) Recv() (*payload.Search_Request, error) { - m := payload.Search_RequestFromVTPool() + m := new(payload.Search_Request) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } @@ -561,7 +565,7 @@ func (x *searchStreamLinearSearchByIDServer) Send(m *payload.Search_StreamRespon } func (x *searchStreamLinearSearchByIDServer) Recv() (*payload.Search_IDRequest, error) { - m := payload.Search_IDRequestFromVTPool() + m := new(payload.Search_IDRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } @@ -569,7 +573,7 @@ func (x *searchStreamLinearSearchByIDServer) Recv() (*payload.Search_IDRequest, } func _Search_MultiLinearSearch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Search_MultiRequestFromVTPool() + in := new(payload.Search_MultiRequest) if err := dec(in); err != nil { return nil, err } @@ -587,7 +591,7 @@ func _Search_MultiLinearSearch_Handler(srv interface{}, ctx context.Context, dec } func _Search_MultiLinearSearchByID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Search_MultiIDRequestFromVTPool() + in := new(payload.Search_MultiIDRequest) if err := dec(in); err != nil { return nil, err } diff --git a/apis/grpc/v1/vald/update_vtproto.pb.go b/apis/grpc/v1/vald/update_vtproto.pb.go index 5318d19932..14e0173cef 100644 --- a/apis/grpc/v1/vald/update_vtproto.pb.go +++ b/apis/grpc/v1/vald/update_vtproto.pb.go @@ -59,7 +59,7 @@ func NewUpdateClient(cc grpc.ClientConnInterface) UpdateClient { } func (c *updateClient) Update(ctx context.Context, in *payload.Update_Request, opts ...grpc.CallOption) (*payload.Object_Location, error) { - out := payload.Object_LocationFromVTPool() + out := new(payload.Object_Location) err := c.cc.Invoke(ctx, "/vald.v1.Update/Update", in, out, opts...) if err != nil { return nil, err @@ -99,7 +99,7 @@ func (x *updateStreamUpdateClient) Recv() (*payload.Object_StreamLocation, error } func (c *updateClient) MultiUpdate(ctx context.Context, in *payload.Update_MultiRequest, opts ...grpc.CallOption) (*payload.Object_Locations, error) { - out := payload.Object_LocationsFromVTPool() + out := new(payload.Object_Locations) err := c.cc.Invoke(ctx, "/vald.v1.Update/MultiUpdate", in, out, opts...) if err != nil { return nil, err @@ -147,7 +147,7 @@ func RegisterUpdateServer(s grpc.ServiceRegistrar, srv UpdateServer) { } func _Update_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Update_RequestFromVTPool() + in := new(payload.Update_Request) if err := dec(in); err != nil { return nil, err } @@ -183,7 +183,7 @@ func (x *updateStreamUpdateServer) Send(m *payload.Object_StreamLocation) error } func (x *updateStreamUpdateServer) Recv() (*payload.Update_Request, error) { - m := payload.Update_RequestFromVTPool() + m := new(payload.Update_Request) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } @@ -191,7 +191,7 @@ func (x *updateStreamUpdateServer) Recv() (*payload.Update_Request, error) { } func _Update_MultiUpdate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Update_MultiRequestFromVTPool() + in := new(payload.Update_MultiRequest) if err := dec(in); err != nil { return nil, err } diff --git a/apis/grpc/v1/vald/upsert_vtproto.pb.go b/apis/grpc/v1/vald/upsert_vtproto.pb.go index 3798dfffc5..c52494f544 100644 --- a/apis/grpc/v1/vald/upsert_vtproto.pb.go +++ b/apis/grpc/v1/vald/upsert_vtproto.pb.go @@ -59,7 +59,7 @@ func NewUpsertClient(cc grpc.ClientConnInterface) UpsertClient { } func (c *upsertClient) Upsert(ctx context.Context, in *payload.Upsert_Request, opts ...grpc.CallOption) (*payload.Object_Location, error) { - out := payload.Object_LocationFromVTPool() + out := new(payload.Object_Location) err := c.cc.Invoke(ctx, "/vald.v1.Upsert/Upsert", in, out, opts...) if err != nil { return nil, err @@ -99,7 +99,7 @@ func (x *upsertStreamUpsertClient) Recv() (*payload.Object_StreamLocation, error } func (c *upsertClient) MultiUpsert(ctx context.Context, in *payload.Upsert_MultiRequest, opts ...grpc.CallOption) (*payload.Object_Locations, error) { - out := payload.Object_LocationsFromVTPool() + out := new(payload.Object_Locations) err := c.cc.Invoke(ctx, "/vald.v1.Upsert/MultiUpsert", in, out, opts...) if err != nil { return nil, err @@ -147,7 +147,7 @@ func RegisterUpsertServer(s grpc.ServiceRegistrar, srv UpsertServer) { } func _Upsert_Upsert_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Upsert_RequestFromVTPool() + in := new(payload.Upsert_Request) if err := dec(in); err != nil { return nil, err } @@ -183,7 +183,7 @@ func (x *upsertStreamUpsertServer) Send(m *payload.Object_StreamLocation) error } func (x *upsertStreamUpsertServer) Recv() (*payload.Upsert_Request, error) { - m := payload.Upsert_RequestFromVTPool() + m := new(payload.Upsert_Request) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } @@ -191,7 +191,7 @@ func (x *upsertStreamUpsertServer) Recv() (*payload.Upsert_Request, error) { } func _Upsert_MultiUpsert_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := payload.Upsert_MultiRequestFromVTPool() + in := new(payload.Upsert_MultiRequest) if err := dec(in); err != nil { return nil, err } diff --git a/apis/proto/v1/agent/sidecar/sidecar.proto b/apis/proto/v1/agent/sidecar/sidecar.proto index d69f41acd1..40a6b6e2d6 100644 --- a/apis/proto/v1/agent/sidecar/sidecar.proto +++ b/apis/proto/v1/agent/sidecar/sidecar.proto @@ -24,5 +24,4 @@ option java_package = "org.vdaas.vald.api.v1.agent.sidecar"; option java_outer_classname = "ValdAgentSidecar"; // Represent the agent sidecar service. -service Sidecar { -} +service Sidecar {} diff --git a/apis/proto/v1/payload/payload.proto b/apis/proto/v1/payload/payload.proto index 2b37ae5850..a23954ba1d 100644 --- a/apis/proto/v1/payload/payload.proto +++ b/apis/proto/v1/payload/payload.proto @@ -20,7 +20,6 @@ package payload.v1; import "github.com/envoyproxy/protoc-gen-validate/validate/validate.proto"; import "github.com/googleapis/googleapis/google/rpc/status.proto"; -import "github.com/planetscale/vtprotobuf/include/github.com/planetscale/vtprotobuf/vtproto/ext.proto"; option go_package = "github.com/vdaas/vald/apis/grpc/v1/payload"; option java_multiple_files = true; @@ -29,10 +28,8 @@ option java_outer_classname = "ValdPayload"; // Search related messages. message Search { - option (vtproto.mempool) = true; // Represent a search request. message Request { - option (vtproto.mempool) = true; // The vector to be searched. repeated float vector = 1 [ (validate.rules).repeated .min_items = 2 ]; // The configuration of the search request. @@ -41,14 +38,12 @@ message Search { // Represent the multiple search request. message MultiRequest { - option (vtproto.mempool) = true; // Represent the multiple search request content. repeated Request requests = 1; } // Represent a search by ID request. message IDRequest { - option (vtproto.mempool) = true; // The vector ID to be searched. string id = 1; // The configuration of the search request. @@ -57,14 +52,12 @@ message Search { // Represent the multiple search by ID request. message MultiIDRequest { - option (vtproto.mempool) = true; // Represent the multiple search by ID request content. repeated IDRequest requests = 1; } // Represent a search by binary object request. message ObjectRequest { - option (vtproto.mempool) = true; // The binary object to be searched. bytes object = 1; // The configuration of the search request. @@ -75,14 +68,12 @@ message Search { // Represent the multiple search by binary object request. message MultiObjectRequest { - option (vtproto.mempool) = true; // Represent the multiple search by binary object request content. repeated ObjectRequest requests = 1; } // Represent search configuration. message Config { - option (vtproto.mempool) = true; // Unique request ID. string request_id = 1; // Maximum number of result to be returned. @@ -114,7 +105,6 @@ message Search { // Represent a search response. message Response { - option (vtproto.mempool) = true; // The unique request ID. string request_id = 1; // Search results. @@ -123,7 +113,6 @@ message Search { // Represent multiple search responses. message Responses { - option (vtproto.mempool) = true; // Represent the multiple search response content. repeated Response responses = 1; } @@ -141,10 +130,8 @@ message Search { // Filter related messages. message Filter { - option (vtproto.mempool) = true; // Represent the target filter server. message Target { - option (vtproto.mempool) = true; // The target hostname. string host = 1; // The target port. @@ -153,7 +140,6 @@ message Filter { // Represent filter configuration. message Config { - option (vtproto.mempool) = true; // Represent the filter target configuration. repeated Target targets = 1; } @@ -161,11 +147,9 @@ message Filter { // Insert related messages. message Insert { - option (vtproto.mempool) = true; // Represent the insert request. message Request { - option (vtproto.mempool) = true; // The vector to be inserted. Object.Vector vector = 1 [ (validate.rules).repeated .min_items = 2 ]; // The configuration of the insert request. @@ -174,14 +158,12 @@ message Insert { // Represent the multiple insert request. message MultiRequest { - option (vtproto.mempool) = true; // Represent multiple insert request content. repeated Request requests = 1; } // Represent the insert by binary object request. message ObjectRequest { - option (vtproto.mempool) = true; // The binary object to be inserted. Object.Blob object = 1; // The configuration of the insert request. @@ -192,14 +174,12 @@ message Insert { // Represent the multiple insert by binary object request. message MultiObjectRequest { - option (vtproto.mempool) = true; // Represent multiple insert by object content. repeated ObjectRequest requests = 1; } // Represent insert configurations. message Config { - option (vtproto.mempool) = true; // A flag to skip exist check during insert operation. bool skip_strict_exist_check = 1; // Filter configurations. @@ -211,10 +191,8 @@ message Insert { // Update related messages message Update { - option (vtproto.mempool) = true; // Represent the update request. message Request { - option (vtproto.mempool) = true; // The vector to be updated. Object.Vector vector = 1 [ (validate.rules).repeated .min_items = 2 ]; // The configuration of the update request. @@ -223,14 +201,12 @@ message Update { // Represent the multiple update request. message MultiRequest { - option (vtproto.mempool) = true; // Represent the multiple update request content. repeated Request requests = 1; } // Represent the update binary object request. message ObjectRequest { - option (vtproto.mempool) = true; // The binary object to be updated. Object.Blob object = 1; // The configuration of the update request. @@ -241,32 +217,29 @@ message Update { // Represent the multiple update binary object request. message MultiObjectRequest { - option (vtproto.mempool) = true; // Represent the multiple update object request content. repeated ObjectRequest requests = 1; } // Represent the update configuration. message Config { - option (vtproto.mempool) = true; // A flag to skip exist check during update operation. bool skip_strict_exist_check = 1; // Filter configuration. Filter.Config filters = 2; // Update timestamp. int64 timestamp = 3; - // A flag to disable balanced update (split remove -> insert operation) during update operation. + // A flag to disable balanced update (split remove -> insert operation) + // during update operation. bool disable_balanced_update = 4; } } // Upsert related messages. message Upsert { - option (vtproto.mempool) = true; // Represent the upsert request. message Request { - option (vtproto.mempool) = true; // The vector to be upserted. Object.Vector vector = 1 [ (validate.rules).repeated .min_items = 2 ]; // The configuration of the upsert request. @@ -275,14 +248,12 @@ message Upsert { // Represent mthe ultiple upsert request. message MultiRequest { - option (vtproto.mempool) = true; // Represent the multiple upsert request content. repeated Request requests = 1; } // Represent the upsert binary object request. message ObjectRequest { - option (vtproto.mempool) = true; // The binary object to be upserted. Object.Blob object = 1; // The configuration of the upsert request. @@ -293,32 +264,29 @@ message Upsert { // Represent the multiple upsert binary object request. message MultiObjectRequest { - option (vtproto.mempool) = true; // Represent the multiple upsert object request content. repeated ObjectRequest requests = 1; } // Represent the upsert configuration. message Config { - option (vtproto.mempool) = true; // A flag to skip exist check during upsert operation. bool skip_strict_exist_check = 1; // Filter configuration. Filter.Config filters = 2; // Upsert timestamp. int64 timestamp = 3; - // A flag to disable balanced update (split remove -> insert operation) during update operation. + // A flag to disable balanced update (split remove -> insert operation) + // during update operation. bool disable_balanced_update = 4; } } // Remove related messages. message Remove { - option (vtproto.mempool) = true; // Represent the remove request. message Request { - option (vtproto.mempool) = true; // The object ID to be removed. Object.ID id = 1; // The configuration of the remove request. @@ -327,14 +295,12 @@ message Remove { // Represent the multiple remove request. message MultiRequest { - option (vtproto.mempool) = true; // Represent the multiple remove request content. repeated Request requests = 1; } // Represent the remove configuration. message Config { - option (vtproto.mempool) = true; // A flag to skip exist check during upsert operation. bool skip_strict_exist_check = 1; // Remove timestamp. @@ -344,11 +310,9 @@ message Remove { // Common messages. message Object { - option (vtproto.mempool) = true; // Represent a request to fetch raw vector. message VectorRequest { - option (vtproto.mempool) = true; // The vector ID to be fetched. ID id = 1 [ (validate.rules).repeated .min_items = 2 ]; // Filter configurations. @@ -357,7 +321,6 @@ message Object { // Represent the ID and distance pair. message Distance { - option (vtproto.mempool) = true; // The vector ID. string id = 1; // The distance. @@ -375,20 +338,13 @@ message Object { } // Represent the vector ID. - message ID { - option (vtproto.mempool) = true; - string id = 1 [ (validate.rules).string.min_len = 1 ]; - } + message ID { string id = 1 [ (validate.rules).string.min_len = 1 ]; } // Represent multiple vector IDs. - message IDs { - option (vtproto.mempool) = true; - repeated string ids = 1; - } + message IDs { repeated string ids = 1; } // Represent a vector. message Vector { - option (vtproto.mempool) = true; // The vector ID. string id = 1 [ (validate.rules).string.min_len = 1 ]; // The vector. @@ -396,10 +352,7 @@ message Object { } // Represent multiple vectors. - message Vectors { - option (vtproto.mempool) = true; - repeated Vector vectors = 1; - } + message Vectors { repeated Vector vectors = 1; } // Represent stream response of the vector. message StreamVector { @@ -413,7 +366,6 @@ message Object { // Represent reshape vector. message ReshapeVector { - option (vtproto.mempool) = true; // The binary object. bytes object = 1; // The new shape. @@ -422,7 +374,6 @@ message Object { // Represent the binary object. message Blob { - option (vtproto.mempool) = true; // The object ID. string id = 1 [ (validate.rules).string.min_len = 1 ]; // The binary object. @@ -441,7 +392,6 @@ message Object { // Represent the vector location. message Location { - option (vtproto.mempool) = true; // The name of the location. string name = 1; // The UUID of the vector. @@ -461,18 +411,13 @@ message Object { } // Represent multiple vector locations. - message Locations { - option (vtproto.mempool) = true; - repeated Location locations = 1; - } + message Locations { repeated Location locations = 1; } } // Control related messages. message Control { - option (vtproto.mempool) = true; // Represent the create index request. message CreateIndexRequest { - option (vtproto.mempool) = true; // The pool size of the create index operation. uint32 pool_size = 1 [ (validate.rules).uint32.gte = 0 ]; } @@ -480,11 +425,9 @@ message Control { // Discoverer related messages. message Discoverer { - option (vtproto.mempool) = true; // Represent the dicoverer request. message Request { - option (vtproto.mempool) = true; // The agent name to be discovered. string name = 1 [ (validate.rules).string.min_len = 1 ]; // The namespace to be discovered. @@ -496,15 +439,12 @@ message Discoverer { // Info related messages. message Info { - option (vtproto.mempool) = true; // Represent the index information messages. message Index { - option (vtproto.mempool) = true; // Represent the index count message. message Count { - option (vtproto.mempool) = true; // The stored index count. uint32 stored = 1; // The uncommitted index count. @@ -517,7 +457,6 @@ message Info { // Represent the UUID message. message UUID { - option (vtproto.mempool) = true; // The committed UUID. message Committed { string uuid = 1; } // The uncommitted UUID. @@ -527,7 +466,6 @@ message Info { // Represent the pod information message. message Pod { - option (vtproto.mempool) = true; // The app name of the pod on the label. string app_name = 1; // The name of the pod. @@ -546,7 +484,6 @@ message Info { // Represent the node information message. message Node { - option (vtproto.mempool) = true; // The name of the node. string name = 1; // The internal IP address of the node. @@ -563,7 +500,6 @@ message Info { // Represent the CPU information message. message CPU { - option (vtproto.mempool) = true; // The CPU resource limit. double limit = 1; // The CPU resource requested. @@ -574,7 +510,6 @@ message Info { // Represent the memory information message. message Memory { - option (vtproto.mempool) = true; // The memory limit. double limit = 1; // The memory requested. @@ -585,23 +520,18 @@ message Info { // Represent the multiple pod information message. message Pods { - option (vtproto.mempool) = true; // The multiple pod information. repeated Pod pods = 1 [ (validate.rules).repeated .min_items = 1 ]; } // Represent the multiple node information message. message Nodes { - option (vtproto.mempool) = true; // The multiple node information. repeated Node nodes = 1 [ (validate.rules).repeated .min_items = 1 ]; } // Represent the multiple IP message. - message IPs { - option (vtproto.mempool) = true; - repeated string ip = 1; - } + message IPs { repeated string ip = 1; } } // Represent an empty message. diff --git a/apis/proto/v1/vald/search.proto b/apis/proto/v1/vald/search.proto index f8a544e02b..a5cc5a271e 100644 --- a/apis/proto/v1/vald/search.proto +++ b/apis/proto/v1/vald/search.proto @@ -73,7 +73,8 @@ service Search { } // A method to linear search indexed vectors by a raw vector. - rpc LinearSearch(payload.v1.Search.Request) returns (payload.v1.Search.Response) { + rpc LinearSearch(payload.v1.Search.Request) + returns (payload.v1.Search.Response) { option (google.api.http) = { post : "/linearsearch" body : "*" @@ -97,7 +98,8 @@ service Search { rpc StreamLinearSearchByID(stream payload.v1.Search.IDRequest) returns (stream payload.v1.Search.StreamResponse) {} - // A method to linear search indexed vectors by multiple vectors in a single request. + // A method to linear search indexed vectors by multiple vectors in a single + // request. rpc MultiLinearSearch(payload.v1.Search.MultiRequest) returns (payload.v1.Search.Responses) { option (google.api.http) = { @@ -106,7 +108,8 @@ service Search { }; } - // A method to linear search indexed vectors by multiple IDs in a single request. + // A method to linear search indexed vectors by multiple IDs in a single + // request. rpc MultiLinearSearchByID(payload.v1.Search.MultiIDRequest) returns (payload.v1.Search.Responses) { option (google.api.http) = { diff --git a/apis/swagger/v1/vald/apis/proto/v1/vald/filter.swagger.json b/apis/swagger/v1/vald/apis/proto/v1/vald/filter.swagger.json index c56a4f824b..506dea7894 100644 --- a/apis/swagger/v1/vald/apis/proto/v1/vald/filter.swagger.json +++ b/apis/swagger/v1/vald/apis/proto/v1/vald/filter.swagger.json @@ -648,7 +648,7 @@ }, "disableBalancedUpdate": { "type": "boolean", - "description": "A flag to disable balanced update (split remove -\u003e insert operation) during update operation." + "description": "A flag to disable balanced update (split remove -\u003e insert operation)\nduring update operation." } }, "description": "Represent the update configuration." @@ -702,7 +702,7 @@ }, "disableBalancedUpdate": { "type": "boolean", - "description": "A flag to disable balanced update (split remove -\u003e insert operation) during update operation." + "description": "A flag to disable balanced update (split remove -\u003e insert operation)\nduring update operation." } }, "description": "Represent the upsert configuration." diff --git a/apis/swagger/v1/vald/apis/proto/v1/vald/search.swagger.json b/apis/swagger/v1/vald/apis/proto/v1/vald/search.swagger.json index 20bad64d77..4345256f6c 100644 --- a/apis/swagger/v1/vald/apis/proto/v1/vald/search.swagger.json +++ b/apis/swagger/v1/vald/apis/proto/v1/vald/search.swagger.json @@ -71,7 +71,7 @@ }, "/linearsearch/id/multiple": { "post": { - "summary": "A method to linear search indexed vectors by multiple IDs in a single request.", + "summary": "A method to linear search indexed vectors by multiple IDs in a single\nrequest.", "operationId": "Search_MultiLinearSearchByID", "responses": { "200": { @@ -102,7 +102,7 @@ }, "/linearsearch/multiple": { "post": { - "summary": "A method to linear search indexed vectors by multiple vectors in a single request.", + "summary": "A method to linear search indexed vectors by multiple vectors in a single\nrequest.", "operationId": "Search_MultiLinearSearch", "responses": { "200": { diff --git a/apis/swagger/v1/vald/apis/proto/v1/vald/update.swagger.json b/apis/swagger/v1/vald/apis/proto/v1/vald/update.swagger.json index 2dca78062e..2c026dd9d3 100644 --- a/apis/swagger/v1/vald/apis/proto/v1/vald/update.swagger.json +++ b/apis/swagger/v1/vald/apis/proto/v1/vald/update.swagger.json @@ -265,7 +265,7 @@ }, "disableBalancedUpdate": { "type": "boolean", - "description": "A flag to disable balanced update (split remove -\u003e insert operation) during update operation." + "description": "A flag to disable balanced update (split remove -\u003e insert operation)\nduring update operation." } }, "description": "Represent the update configuration." diff --git a/apis/swagger/v1/vald/apis/proto/v1/vald/upsert.swagger.json b/apis/swagger/v1/vald/apis/proto/v1/vald/upsert.swagger.json index ea6a6856eb..59f7f2120c 100644 --- a/apis/swagger/v1/vald/apis/proto/v1/vald/upsert.swagger.json +++ b/apis/swagger/v1/vald/apis/proto/v1/vald/upsert.swagger.json @@ -265,7 +265,7 @@ }, "disableBalancedUpdate": { "type": "boolean", - "description": "A flag to disable balanced update (split remove -\u003e insert operation) during update operation." + "description": "A flag to disable balanced update (split remove -\u003e insert operation)\nduring update operation." } }, "description": "Represent the upsert configuration." diff --git a/example/client/go.mod b/example/client/go.mod index 5e9b29b90a..96f249f740 100644 --- a/example/client/go.mod +++ b/example/client/go.mod @@ -8,9 +8,9 @@ replace ( github.com/golang/protobuf => github.com/golang/protobuf v1.5.3 github.com/kpango/glg => github.com/kpango/glg v1.6.15 github.com/pkg/sftp => github.com/pkg/sftp v1.13.5 - golang.org/x/crypto => golang.org/x/crypto v0.9.0 - golang.org/x/net => golang.org/x/net v0.10.0 - golang.org/x/text => golang.org/x/text v0.9.0 + golang.org/x/crypto => golang.org/x/crypto v0.10.0 + golang.org/x/net => golang.org/x/net v0.11.0 + golang.org/x/text => golang.org/x/text v0.10.0 google.golang.org/genproto => google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc google.golang.org/genproto/googleapis/api => google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc google.golang.org/genproto/googleapis/rpc => google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc @@ -23,7 +23,7 @@ replace ( require ( github.com/kpango/fuid v0.0.0-20221203053508-503b5ad89aa1 github.com/kpango/glg v1.6.14 - github.com/vdaas/vald-client-go v1.7.5 + github.com/vdaas/vald-client-go v1.7.6 gonum.org/v1/hdf5 v0.0.0-20210714002203-8c5d23bc6946 google.golang.org/grpc v1.55.0 ) @@ -33,9 +33,10 @@ require ( github.com/goccy/go-json v0.10.2 // indirect github.com/golang/protobuf v1.5.3 // indirect github.com/kpango/fastime v1.1.9 // indirect + github.com/planetscale/vtprotobuf v0.4.0 // indirect golang.org/x/net v0.9.0 // indirect - golang.org/x/sys v0.8.0 // indirect - golang.org/x/text v0.9.0 // indirect + golang.org/x/sys v0.9.0 // indirect + golang.org/x/text v0.10.0 // indirect google.golang.org/genproto v0.0.0-20230525234025-438c736192d0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20230526203410-71b5a4ffd15e // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20230526203410-71b5a4ffd15e // indirect diff --git a/example/client/go.sum b/example/client/go.sum index 8a3ca0eccf..1ea65a322b 100644 --- a/example/client/go.sum +++ b/example/client/go.sum @@ -1,3 +1,4 @@ +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/envoyproxy/protoc-gen-validate v1.0.1 h1:kt9FtLiooDc0vbwTLhdg3dyNX1K9Qwa1EK9LcD4jVUQ= github.com/envoyproxy/protoc-gen-validate v1.0.1/go.mod h1:0vj8bNkYbSTNS2PIyH87KZaeN4x9zpL9Qt8fQC7d+vs= github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= @@ -12,19 +13,25 @@ github.com/kpango/fuid v0.0.0-20221203053508-503b5ad89aa1 h1:rxyM+7uaZQ35P9fbixd github.com/kpango/fuid v0.0.0-20221203053508-503b5ad89aa1/go.mod h1:CAYeq6us9NfnRkSz67/xKVIR6/vaY5ZQZRe6IVcaIKg= github.com/kpango/glg v1.6.15 h1:nw0xSxpSyrDIWHeb3dvnE08PW+SCbK+aYFETT75IeLA= github.com/kpango/glg v1.6.15/go.mod h1:cmsc7Yeu8AS3wHLmN7bhwENXOpxfq+QoqxCIk2FneRk= +github.com/planetscale/vtprotobuf v0.4.0 h1:NEI+g4woRaAZgeZ3sAvbtyvMBRjIv5kE7EWYQ8m4JwY= +github.com/planetscale/vtprotobuf v0.4.0/go.mod h1:wm1N3qk9G/4+VM1WhpkLbvY/d8+0PbwYYpP5P5VhTks= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= -github.com/vdaas/vald-client-go v1.7.5 h1:cmY528/1fddCt7iXvqZDdmbm3CqrD7X1XbE/jXdqcSg= -github.com/vdaas/vald-client-go v1.7.5/go.mod h1:cEFd/dZccTiOO2EK+D7iw5/j0xCqanX/+bBw17vR9qM= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/vdaas/vald-client-go v1.7.6 h1:Clg45IgCsR7FIVARn/WNbTHCvu4FCaJWBDAQnYcCgDs= +github.com/vdaas/vald-client-go v1.7.6/go.mod h1:yiEqHM1L8j3Y7jXoypIozy79ESgthYtMvMTZLRWY6YI= go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60= -golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/net v0.11.0 h1:Gi2tvZIJyBtO9SDr1q9h5hEQCp/4L2RQ+ar0qjx2oNU= +golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ= +golang.org/x/sys v0.9.0 h1:KS/R3tvhPqvJvwcKfnBHJwwthS11LRhmM5D59eEXa0s= +golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/text v0.10.0 h1:UpjohKhiEgNc0CSauXmwYftY1+LlaC75SJwh0SgCX58= +golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gonum.org/v1/hdf5 v0.0.0-20210714002203-8c5d23bc6946 h1:vJpL69PeUullhJyKtTjHjENEmZU3BkO4e+fod7nKzgM= gonum.org/v1/hdf5 v0.0.0-20210714002203-8c5d23bc6946/go.mod h1:BQUWDHIAygjdt1HnUPQ0eWqLN2n5FwJycrpYUVUOx2I= google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc h1:8DyZCyvI8mE1IdLy/60bS+52xfymkE72wv1asokgtao= @@ -37,3 +44,5 @@ google.golang.org/grpc v1.55.0 h1:3Oj82/tFSCeUrRTg/5E/7d/W5A1tj6Ky1ABAuZuv5ag= google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8= google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/go.mod b/go.mod index 7c1444554e..a774c85e96 100755 --- a/go.mod +++ b/go.mod @@ -9,13 +9,13 @@ replace ( cloud.google.com/go/datastore => cloud.google.com/go/datastore v1.11.0 cloud.google.com/go/firestore => cloud.google.com/go/firestore v1.10.0 cloud.google.com/go/iam => cloud.google.com/go/iam v1.1.0 - cloud.google.com/go/kms => cloud.google.com/go/kms v1.11.0 + cloud.google.com/go/kms => cloud.google.com/go/kms v1.12.0 cloud.google.com/go/monitoring => cloud.google.com/go/monitoring v1.15.0 cloud.google.com/go/pubsub => cloud.google.com/go/pubsub v1.31.0 cloud.google.com/go/secretmanager => cloud.google.com/go/secretmanager v1.11.0 cloud.google.com/go/storage => cloud.google.com/go/storage v1.30.1 cloud.google.com/go/trace => cloud.google.com/go/trace v1.10.0 - code.cloudfoundry.org/bytefmt => code.cloudfoundry.org/bytefmt v0.0.0-20230406175530-3579ae0680eb + code.cloudfoundry.org/bytefmt => code.cloudfoundry.org/bytefmt v0.0.0-20230612151507-41ef4d1f67a4 contrib.go.opencensus.io/exporter/aws => contrib.go.opencensus.io/exporter/aws v0.0.0-20230502192102-15967c811cec contrib.go.opencensus.io/exporter/prometheus => contrib.go.opencensus.io/exporter/prometheus v0.4.2 contrib.go.opencensus.io/integrations/ocsql => contrib.go.opencensus.io/integrations/ocsql v0.1.7 @@ -58,28 +58,28 @@ replace ( github.com/armon/go-radix => github.com/armon/go-radix v1.0.0 github.com/armon/go-socks5 => github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 github.com/asaskevich/govalidator => github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 - github.com/aws/aws-sdk-go => github.com/aws/aws-sdk-go v1.44.280 - github.com/aws/aws-sdk-go-v2 => github.com/aws/aws-sdk-go-v2 v1.18.0 + github.com/aws/aws-sdk-go => github.com/aws/aws-sdk-go v1.44.282 + github.com/aws/aws-sdk-go-v2 => github.com/aws/aws-sdk-go-v2 v1.18.1 github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream => github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10 - github.com/aws/aws-sdk-go-v2/config => github.com/aws/aws-sdk-go-v2/config v1.18.25 - github.com/aws/aws-sdk-go-v2/credentials => github.com/aws/aws-sdk-go-v2/credentials v1.13.24 - github.com/aws/aws-sdk-go-v2/feature/ec2/imds => github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.3 - github.com/aws/aws-sdk-go-v2/feature/s3/manager => github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.67 - github.com/aws/aws-sdk-go-v2/internal/configsources => github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.33 - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 => github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.27 - github.com/aws/aws-sdk-go-v2/internal/ini => github.com/aws/aws-sdk-go-v2/internal/ini v1.3.34 + github.com/aws/aws-sdk-go-v2/config => github.com/aws/aws-sdk-go-v2/config v1.18.26 + github.com/aws/aws-sdk-go-v2/credentials => github.com/aws/aws-sdk-go-v2/credentials v1.13.25 + github.com/aws/aws-sdk-go-v2/feature/ec2/imds => github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.4 + github.com/aws/aws-sdk-go-v2/feature/s3/manager => github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.68 + github.com/aws/aws-sdk-go-v2/internal/configsources => github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.34 + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 => github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.28 + github.com/aws/aws-sdk-go-v2/internal/ini => github.com/aws/aws-sdk-go-v2/internal/ini v1.3.35 github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding => github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11 - github.com/aws/aws-sdk-go-v2/service/internal/checksum => github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.28 - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url => github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.27 - github.com/aws/aws-sdk-go-v2/service/internal/s3shared => github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.14.2 - github.com/aws/aws-sdk-go-v2/service/kms => github.com/aws/aws-sdk-go-v2/service/kms v1.22.0 - github.com/aws/aws-sdk-go-v2/service/s3 => github.com/aws/aws-sdk-go-v2/service/s3 v1.33.1 - github.com/aws/aws-sdk-go-v2/service/secretsmanager => github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.19.8 - github.com/aws/aws-sdk-go-v2/service/sns => github.com/aws/aws-sdk-go-v2/service/sns v1.20.11 - github.com/aws/aws-sdk-go-v2/service/sqs => github.com/aws/aws-sdk-go-v2/service/sqs v1.23.0 - github.com/aws/aws-sdk-go-v2/service/ssm => github.com/aws/aws-sdk-go-v2/service/ssm v1.36.4 - github.com/aws/aws-sdk-go-v2/service/sso => github.com/aws/aws-sdk-go-v2/service/sso v1.12.10 - github.com/aws/aws-sdk-go-v2/service/sts => github.com/aws/aws-sdk-go-v2/service/sts v1.19.0 + github.com/aws/aws-sdk-go-v2/service/internal/checksum => github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.29 + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url => github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.28 + github.com/aws/aws-sdk-go-v2/service/internal/s3shared => github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.14.3 + github.com/aws/aws-sdk-go-v2/service/kms => github.com/aws/aws-sdk-go-v2/service/kms v1.22.1 + github.com/aws/aws-sdk-go-v2/service/s3 => github.com/aws/aws-sdk-go-v2/service/s3 v1.34.0 + github.com/aws/aws-sdk-go-v2/service/secretsmanager => github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.19.9 + github.com/aws/aws-sdk-go-v2/service/sns => github.com/aws/aws-sdk-go-v2/service/sns v1.20.12 + github.com/aws/aws-sdk-go-v2/service/sqs => github.com/aws/aws-sdk-go-v2/service/sqs v1.23.1 + github.com/aws/aws-sdk-go-v2/service/ssm => github.com/aws/aws-sdk-go-v2/service/ssm v1.36.5 + github.com/aws/aws-sdk-go-v2/service/sso => github.com/aws/aws-sdk-go-v2/service/sso v1.12.11 + github.com/aws/aws-sdk-go-v2/service/sts => github.com/aws/aws-sdk-go-v2/service/sts v1.19.1 github.com/aws/smithy-go => github.com/aws/smithy-go v1.13.5 github.com/benbjohnson/clock => github.com/benbjohnson/clock v1.3.5 github.com/beorn7/perks => github.com/beorn7/perks v1.0.1 @@ -201,7 +201,7 @@ replace ( github.com/gobwas/ws => github.com/gobwas/ws v1.2.1 github.com/goccy/go-json => github.com/goccy/go-json v0.10.2 github.com/goccy/go-yaml => github.com/goccy/go-yaml v1.11.0 - github.com/gocql/gocql => github.com/gocql/gocql v1.4.0 + github.com/gocql/gocql => github.com/gocql/gocql v1.5.2 github.com/gocraft/dbr/v2 => github.com/gocraft/dbr/v2 v2.7.4 github.com/godbus/dbus/v5 => github.com/godbus/dbus/v5 v5.1.0 github.com/gofrs/uuid => github.com/gofrs/uuid v4.4.0+incompatible @@ -231,7 +231,7 @@ replace ( github.com/google/subcommands => github.com/google/subcommands v1.2.0 github.com/google/uuid => github.com/google/uuid v1.3.0 github.com/google/wire => github.com/google/wire v0.5.0 - github.com/googleapis/gax-go/v2 => github.com/googleapis/gax-go/v2 v2.10.0 + github.com/googleapis/gax-go/v2 => github.com/googleapis/gax-go/v2 v2.11.0 github.com/gorilla/mux => github.com/gorilla/mux v1.8.0 github.com/gorilla/websocket => github.com/gorilla/websocket v1.5.0 github.com/grafana/regexp => github.com/grafana/regexp v0.0.0-20221122212121-6b5c0a4cb7fd @@ -262,7 +262,7 @@ replace ( github.com/hashicorp/mdns => github.com/hashicorp/mdns v1.0.5 github.com/hashicorp/memberlist => github.com/hashicorp/memberlist v0.5.0 github.com/hashicorp/serf => github.com/hashicorp/serf v0.10.1 - github.com/hetznercloud/hcloud-go => github.com/hetznercloud/hcloud-go v1.45.1 + github.com/hetznercloud/hcloud-go => github.com/hetznercloud/hcloud-go v1.46.0 github.com/iancoleman/strcase => github.com/iancoleman/strcase v0.2.0 github.com/ianlancetaylor/demangle => github.com/ianlancetaylor/demangle v0.0.0-20230524184225-eabc099b10ab github.com/imdario/mergo => github.com/imdario/mergo v0.3.16 @@ -290,7 +290,7 @@ replace ( github.com/julienschmidt/httprouter => github.com/julienschmidt/httprouter v1.3.0 github.com/kisielk/errcheck => github.com/kisielk/errcheck v1.6.3 github.com/kisielk/gotool => github.com/kisielk/gotool v1.0.0 - github.com/klauspost/compress => github.com/klauspost/compress v1.16.6-0.20230504143003-9a951bee0e5e + github.com/klauspost/compress => github.com/klauspost/compress v1.16.7-0.20230613094628-ae6c851e6154 github.com/klauspost/cpuid/v2 => github.com/klauspost/cpuid/v2 v2.2.5 github.com/kolo/xmlrpc => github.com/kolo/xmlrpc v0.0.0-20220921171641-a4b6fa1dd06b github.com/kpango/fastime => github.com/kpango/fastime v1.1.9 @@ -398,7 +398,7 @@ replace ( github.com/stretchr/objx => github.com/stretchr/objx v0.5.0 github.com/stretchr/testify => github.com/stretchr/testify v1.8.4 github.com/ugorji/go/codec => github.com/ugorji/go/codec v1.2.11 - github.com/vdaas/vald-client-go => github.com/vdaas/vald-client-go v1.7.5 + github.com/vdaas/vald-client-go => github.com/vdaas/vald-client-go v1.7.6 github.com/vishvananda/netlink => github.com/vishvananda/netlink v1.1.0 github.com/vishvananda/netns => github.com/vishvananda/netns v0.0.4 github.com/xdg-go/pbkdf2 => github.com/xdg-go/pbkdf2 v1.0.0 @@ -434,26 +434,26 @@ replace ( go.opentelemetry.io/otel/sdk/metric => go.opentelemetry.io/otel/sdk/metric v0.33.0 go.opentelemetry.io/otel/trace => go.opentelemetry.io/otel/trace v1.11.1 go.opentelemetry.io/proto/otlp => go.opentelemetry.io/proto/otlp v0.20.0 - go.starlark.net => go.starlark.net v0.0.0-20230525235612-a134d8f9ddca + go.starlark.net => go.starlark.net v0.0.0-20230612165344-9532f5667272 go.uber.org/atomic => go.uber.org/atomic v1.11.0 go.uber.org/automaxprocs => go.uber.org/automaxprocs v1.5.2 go.uber.org/goleak => go.uber.org/goleak v1.2.1 go.uber.org/multierr => go.uber.org/multierr v1.11.0 go.uber.org/zap => go.uber.org/zap v1.24.0 gocloud.dev => gocloud.dev v0.29.0 - golang.org/x/crypto => golang.org/x/crypto v0.9.0 + golang.org/x/crypto => golang.org/x/crypto v0.10.0 golang.org/x/exp => golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 golang.org/x/exp/typeparams => golang.org/x/exp/typeparams v0.0.0-20230522175609-2e198f4a06a1 - golang.org/x/image => golang.org/x/image v0.7.0 + golang.org/x/image => golang.org/x/image v0.8.0 golang.org/x/lint => golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 golang.org/x/mobile => golang.org/x/mobile v0.0.0-20230531173138-3c911d8e3eda golang.org/x/mod => golang.org/x/mod v0.10.0 - golang.org/x/net => golang.org/x/net v0.10.0 - golang.org/x/oauth2 => golang.org/x/oauth2 v0.8.0 + golang.org/x/net => golang.org/x/net v0.11.0 + golang.org/x/oauth2 => golang.org/x/oauth2 v0.9.0 golang.org/x/sync => golang.org/x/sync v0.2.0 - golang.org/x/sys => golang.org/x/sys v0.8.0 - golang.org/x/term => golang.org/x/term v0.8.0 - golang.org/x/text => golang.org/x/text v0.9.0 + golang.org/x/sys => golang.org/x/sys v0.9.0 + golang.org/x/term => golang.org/x/term v0.9.0 + golang.org/x/text => golang.org/x/text v0.10.0 golang.org/x/time => golang.org/x/time v0.3.0 golang.org/x/tools => golang.org/x/tools v0.9.3 golang.org/x/xerrors => golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 @@ -461,7 +461,7 @@ replace ( gonum.org/v1/gonum => gonum.org/v1/gonum v0.13.0 gonum.org/v1/hdf5 => gonum.org/v1/hdf5 v0.0.0-20210714002203-8c5d23bc6946 gonum.org/v1/plot => gonum.org/v1/plot v0.13.0 - google.golang.org/api => google.golang.org/api v0.126.0 + google.golang.org/api => google.golang.org/api v0.127.0 google.golang.org/appengine => google.golang.org/appengine v1.6.7 google.golang.org/genproto => google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc google.golang.org/genproto/googleapis/api => google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc @@ -527,7 +527,6 @@ require ( github.com/leanovate/gopter v0.0.0-00010101000000-000000000000 github.com/lucasb-eyer/go-colorful v0.0.0-00010101000000-000000000000 github.com/pierrec/lz4/v3 v3.0.0-00010101000000-000000000000 - github.com/planetscale/vtprotobuf v0.4.0 github.com/quasilyte/go-ruleguard v0.0.0-00010101000000-000000000000 github.com/quasilyte/go-ruleguard/dsl v0.3.22 github.com/scylladb/gocqlx v0.0.0-00010101000000-000000000000 @@ -547,11 +546,11 @@ require ( go.uber.org/zap v1.24.0 gocloud.dev v0.0.0-00010101000000-000000000000 golang.org/x/exp v0.0.0-20230510235704-dd950f8aeaea - golang.org/x/net v0.10.0 + golang.org/x/net v0.11.0 golang.org/x/oauth2 v0.8.0 golang.org/x/sync v0.2.0 - golang.org/x/sys v0.8.0 - golang.org/x/text v0.9.0 + golang.org/x/sys v0.9.0 + golang.org/x/text v0.10.0 golang.org/x/tools v0.9.1 gonum.org/v1/hdf5 v0.0.0-00010101000000-000000000000 gonum.org/v1/plot v0.10.1 @@ -572,7 +571,7 @@ require ( cloud.google.com/go v0.110.2 // indirect cloud.google.com/go/compute v1.19.3 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect - cloud.google.com/go/iam v1.0.1 // indirect + cloud.google.com/go/iam v1.1.0 // indirect git.sr.ht/~sbinet/gg v0.4.1 // indirect github.com/Masterminds/goutils v1.1.1 // indirect github.com/Masterminds/semver v1.5.0 // indirect @@ -608,7 +607,7 @@ require ( github.com/google/s2a-go v0.1.4 // indirect github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect github.com/google/wire v0.5.0 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.2.4 // indirect github.com/googleapis/gax-go/v2 v2.10.0 // indirect github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect @@ -630,6 +629,7 @@ require ( github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/peterbourgon/diskv v2.0.1+incompatible // indirect github.com/pkg/errors v0.9.1 // indirect + github.com/planetscale/vtprotobuf v0.4.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/prometheus/client_golang v1.15.1 // indirect github.com/prometheus/client_model v0.4.0 // indirect @@ -648,15 +648,15 @@ require ( go.starlark.net v0.0.0-20200306205701-8dd3e2ee1dd5 // indirect go.uber.org/atomic v1.7.0 // indirect go.uber.org/multierr v1.9.0 // indirect - golang.org/x/crypto v0.9.0 // indirect + golang.org/x/crypto v0.10.0 // indirect golang.org/x/exp/typeparams v0.0.0-20230203172020-98cc5a0785f9 // indirect golang.org/x/image v0.7.0 // indirect golang.org/x/mod v0.10.0 // indirect - golang.org/x/term v0.8.0 // indirect + golang.org/x/term v0.9.0 // indirect golang.org/x/time v0.3.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect gomodules.xyz/jsonpatch/v2 v2.3.0 // indirect - google.golang.org/api v0.125.0 // indirect + google.golang.org/api v0.126.0 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc // indirect gopkg.in/inf.v0 v0.9.1 // indirect diff --git a/go.sum b/go.sum index 3fb91387b0..b6799fb414 100644 --- a/go.sum +++ b/go.sum @@ -67,7 +67,7 @@ cloud.google.com/go/iam v1.1.0/go.mod h1:nxdHjaKfCr7fNYx/HJMM8LgiMugmveWlkatear5 cloud.google.com/go/iap v1.7.1/go.mod h1:WapEwPc7ZxGt2jFGB/C/bm+hP0Y6NXzOYGjpPnmMS74= cloud.google.com/go/ids v1.3.0/go.mod h1:JBdTYwANikFKaDP6LtW5JAi4gubs57SVNQjemdt6xV4= cloud.google.com/go/iot v1.6.0/go.mod h1:IqdAsmE2cTYYNO1Fvjfzo9po179rAtJeVGUvkLN3rLE= -cloud.google.com/go/kms v1.11.0/go.mod h1:hwdiYC0xjnWsKQQCQQmIQnS9asjYVSK6jtXm+zFqXLM= +cloud.google.com/go/kms v1.12.0/go.mod h1:syfpIBSOqQ/ZqK48RLPkwUhFhvbsA1SyGAq/vPohd20= cloud.google.com/go/language v1.9.0/go.mod h1:Ns15WooPM5Ad/5no/0n81yUetis74g3zrbeJBE+ptUY= cloud.google.com/go/lifesciences v0.8.0/go.mod h1:lFxiEOMqII6XggGbOnKiyZ7IBwoIqA84ClvoezaA/bo= cloud.google.com/go/logging v1.7.0/go.mod h1:3xjP2CjkM3ZkO73aj4ASA5wRPGGCRrPIAeNqVNkzY8M= @@ -130,8 +130,8 @@ cloud.google.com/go/vpcaccess v1.6.0/go.mod h1:wX2ILaNhe7TlVa4vC5xce1bCnqE3AeH27 cloud.google.com/go/webrisk v1.8.0/go.mod h1:oJPDuamzHXgUc+b8SiHRcVInZQuybnvEW72PqTc7sSg= cloud.google.com/go/websecurityscanner v1.5.0/go.mod h1:Y6xdCPy81yi0SQnDY1xdNTNpfY1oAgXUlcfN3B3eSng= cloud.google.com/go/workflows v1.10.0/go.mod h1:fZ8LmRmZQWacon9UCX1r/g/DfAXx5VcPALq2CxzdePw= -code.cloudfoundry.org/bytefmt v0.0.0-20230406175530-3579ae0680eb h1:pFPRj/kkkjan3A7jnT+Hf8FmPVQ3cdBBWgpNLppqcvU= -code.cloudfoundry.org/bytefmt v0.0.0-20230406175530-3579ae0680eb/go.mod h1:wYHCXH/gI19ujoFVuMkY48qPpPCoHLKBKXPkn67h/Yc= +code.cloudfoundry.org/bytefmt v0.0.0-20230612151507-41ef4d1f67a4 h1:9G5F8zgma5v0GdDvNz6iZwwJp3RS/z0SY/aHGfVwvTo= +code.cloudfoundry.org/bytefmt v0.0.0-20230612151507-41ef4d1f67a4/go.mod h1:wYHCXH/gI19ujoFVuMkY48qPpPCoHLKBKXPkn67h/Yc= code.cloudfoundry.org/clock v0.0.0-20180518195852-02e53af36e6c/go.mod h1:QD9Lzhd/ux6eNQVUDVRJX/RKTigpewimNYBi7ivZKY8= contrib.go.opencensus.io/exporter/aws v0.0.0-20230502192102-15967c811cec/go.mod h1:uu1P0UCM/6RbsMrgPa98ll8ZcHM858i/AD06a9aLRCA= contrib.go.opencensus.io/exporter/stackdriver v0.13.14/go.mod h1:5pSSGY0Bhuk7waTHuDf4aQ8D2DrhgETRo9fy6k3Xlzc= @@ -202,49 +202,49 @@ github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kd github.com/apache/arrow/go/v12 v12.0.0/go.mod h1:d+tV/eHZZ7Dz7RPrFKtPK02tpr+c9/PEd/zm8mDS9Vg= github.com/apache/thrift v0.16.0/go.mod h1:PHK3hniurgQaNMZYaCLEqXKsYK8upmhPbmdP2FXSqgU= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= -github.com/aws/aws-sdk-go v1.44.280 h1:UYl/yxhDxP8naok6ftWyQ9/9ZzNwjC9dvEs/j8BkGhw= -github.com/aws/aws-sdk-go v1.44.280/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= -github.com/aws/aws-sdk-go-v2 v1.18.0 h1:882kkTpSFhdgYRKVZ/VCgf7sd0ru57p2JCxz4/oN5RY= -github.com/aws/aws-sdk-go-v2 v1.18.0/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= +github.com/aws/aws-sdk-go v1.44.282 h1:ZPB9QhwxmMIEC8ja0DdFowOl5fODWaZ6s2cZ40fx6r8= +github.com/aws/aws-sdk-go v1.44.282/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= +github.com/aws/aws-sdk-go-v2 v1.18.1 h1:+tefE750oAb7ZQGzla6bLkOwfcQCEtC5y2RqoqCeqKo= +github.com/aws/aws-sdk-go-v2 v1.18.1/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10 h1:dK82zF6kkPeCo8J1e+tGx4JdvDIQzj7ygIoLg8WMuGs= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10/go.mod h1:VeTZetY5KRJLuD/7fkQXMU6Mw7H5m/KP2J5Iy9osMno= -github.com/aws/aws-sdk-go-v2/config v1.18.25 h1:JuYyZcnMPBiFqn87L2cRppo+rNwgah6YwD3VuyvaW6Q= -github.com/aws/aws-sdk-go-v2/config v1.18.25/go.mod h1:dZnYpD5wTW/dQF0rRNLVypB396zWCcPiBIvdvSWHEg4= -github.com/aws/aws-sdk-go-v2/credentials v1.13.24 h1:PjiYyls3QdCrzqUN35jMWtUK1vqVZ+zLfdOa/UPFDp0= -github.com/aws/aws-sdk-go-v2/credentials v1.13.24/go.mod h1:jYPYi99wUOPIFi0rhiOvXeSEReVOzBqFNOX5bXYoG2o= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.3 h1:jJPgroehGvjrde3XufFIJUZVK5A2L9a3KwSFgKy9n8w= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.3/go.mod h1:4Q0UFP0YJf0NrsEuEYHpM9fTSEVnD16Z3uyEF7J9JGM= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.67 h1:fI9/5BDEaAv/pv1VO1X1n3jfP9it+IGqWsCuuBQI8wM= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.67/go.mod h1:zQClPRIwQZfJlZq6WZve+s4Tb4JW+3V6eS+4+KrYeP8= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.33 h1:kG5eQilShqmJbv11XL1VpyDbaEJzWxd4zRiCG30GSn4= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.33/go.mod h1:7i0PF1ME/2eUPFcjkVIwq+DOygHEoK92t5cDqNgYbIw= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.27 h1:vFQlirhuM8lLlpI7imKOMsjdQLuN9CPi+k44F/OFVsk= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.27/go.mod h1:UrHnn3QV/d0pBZ6QBAEQcqFLf8FAzLmoUfPVIueOvoM= -github.com/aws/aws-sdk-go-v2/internal/ini v1.3.34 h1:gGLG7yKaXG02/jBlg210R7VgQIotiQntNhsCFejawx8= -github.com/aws/aws-sdk-go-v2/internal/ini v1.3.34/go.mod h1:Etz2dj6UHYuw+Xw830KfzCfWGMzqvUTCjUj5b76GVDc= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.25 h1:AzwRi5OKKwo4QNqPf7TjeO+tK8AyOK3GVSwmRPo7/Cs= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.25/go.mod h1:SUbB4wcbSEyCvqBxv/O/IBf93RbEze7U7OnoTlpPB+g= +github.com/aws/aws-sdk-go-v2/config v1.18.26 h1:ivCHcSmKd1+9rBlqVsxZHB35eCW88KWbMdG2VL3BuBw= +github.com/aws/aws-sdk-go-v2/config v1.18.26/go.mod h1:NVmd//z/PNl7U+ZU2EnuffxOA060JWzgbH3BnqQrUoY= +github.com/aws/aws-sdk-go-v2/credentials v1.13.25 h1:5wROoMcUC7nAE66e0b3IIht6Tos76M4HC+GQw8MeqxU= +github.com/aws/aws-sdk-go-v2/credentials v1.13.25/go.mod h1:W9I2660WXSwZQ23mM1Ks72+UGeyirIxuU7/KzN7daeA= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.4 h1:LxK/bitrAr4lnh9LnIS6i7zWbCOdMsfzKFBI6LUCS0I= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.4/go.mod h1:E1hLXN/BL2e6YizK1zFlYd8vsfi2GTjbjBazinMmeaM= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.68 h1:0+IIldXpZPgIO1cvJJc1/83dzVOfeRWvSPUfED3fyfs= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.68/go.mod h1:LIq1+fhV5PgIQ3DhL8D20v4jTQ95wK0FywDFBiype1k= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.34 h1:A5UqQEmPaCFpedKouS4v+dHCTUo2sKqhoKO9U5kxyWo= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.34/go.mod h1:wZpTEecJe0Btj3IYnDx/VlUzor9wm3fJHyvLpQF0VwY= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.28 h1:srIVS45eQuewqz6fKKu6ZGXaq6FuFg5NzgQBAM6g8Y4= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.28/go.mod h1:7VRpKQQedkfIEXb4k52I7swUnZP0wohVajJMRn3vsUw= +github.com/aws/aws-sdk-go-v2/internal/ini v1.3.35 h1:LWA+3kDM8ly001vJ1X1waCuLJdtTl48gwkPKWy9sosI= +github.com/aws/aws-sdk-go-v2/internal/ini v1.3.35/go.mod h1:0Eg1YjxE0Bhn56lx+SHJwCzhW+2JGtizsrx+lCqrfm0= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.26 h1:wscW+pnn3J1OYnanMnza5ZVYXLX4cKk5rAvUAl4Qu+c= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.26/go.mod h1:MtYiox5gvyB+OyP0Mr0Sm/yzbEAIPL9eijj/ouHAPw0= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11 h1:y2+VQzC6Zh2ojtV2LoC0MNwHWc6qXv/j2vrQtlftkdA= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11/go.mod h1:iV4q2hsqtNECrfmlXyord9u4zyuFEJX9eLgLpSPzWA8= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.28 h1:vGWm5vTpMr39tEZfQeDiDAMgk+5qsnvRny3FjLpnH5w= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.28/go.mod h1:spfrICMD6wCAhjhzHuy6DOZZ+LAIY10UxhUmLzpJTTs= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.27 h1:0iKliEXAcCa2qVtRs7Ot5hItA2MsufrphbRFlz1Owxo= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.27/go.mod h1:EOwBD4J4S5qYszS5/3DpkejfuK+Z5/1uzICfPaZLtqw= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.14.2 h1:NbWkRxEEIRSCqxhsHQuMiTH7yo+JZW1gp8v3elSVMTQ= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.14.2/go.mod h1:4tfW5l4IAB32VWCDEBxCRtR9T4BWy4I4kr1spr8NgZM= -github.com/aws/aws-sdk-go-v2/service/kms v1.22.0/go.mod h1:EEfb4gfSphdVpRo5sGf2W3KvJbelYUno5VaXR5MJ3z4= -github.com/aws/aws-sdk-go-v2/service/s3 v1.33.1 h1:O+9nAy9Bb6bJFTpeNFtd9UfHbgxO1o4ZDAM9rQp5NsY= -github.com/aws/aws-sdk-go-v2/service/s3 v1.33.1/go.mod h1:J9kLNzEiHSeGMyN7238EjJmBpCniVzFda75Gxl/NqB8= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.19.8/go.mod h1:3ARttS6G6U3auEdKfaN4GlnfS9UxYE9nqub1+0YGycA= -github.com/aws/aws-sdk-go-v2/service/sns v1.20.11/go.mod h1:WjBcrd28zNbbuAcIRO/n89sSeOxTuOZPiuxNXU/2WrI= -github.com/aws/aws-sdk-go-v2/service/sqs v1.23.0/go.mod h1:ujUjm+PrcKUeIiKu2PT7MWjcyY0D6YZRZF3fSswiO+0= -github.com/aws/aws-sdk-go-v2/service/ssm v1.36.4/go.mod h1:p6MaesK9061w6NTiFmZpUzEkKUY5blKlwD2zYyErxKA= -github.com/aws/aws-sdk-go-v2/service/sso v1.12.10 h1:UBQjaMTCKwyUYwiVnUt6toEJwGXsLBI6al083tpjJzY= -github.com/aws/aws-sdk-go-v2/service/sso v1.12.10/go.mod h1:ouy2P4z6sJN70fR3ka3wD3Ro3KezSxU6eKGQI2+2fjI= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.10 h1:PkHIIJs8qvq0e5QybnZoG1K/9QTrLr9OsqCIo59jOBA= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.10/go.mod h1:AFvkxc8xfBe8XA+5St5XIHHrQQtkxqrRincx4hmMHOk= -github.com/aws/aws-sdk-go-v2/service/sts v1.19.0 h1:2DQLAKDteoEDI8zpCzqBMaZlJuoE9iTYD0gFmXVax9E= -github.com/aws/aws-sdk-go-v2/service/sts v1.19.0/go.mod h1:BgQOMsg8av8jset59jelyPW7NoZcZXLVpDsXunGDrk8= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.29 h1:zZSLP3v3riMOP14H7b4XP0uyfREDQOYv2cqIrvTXDNQ= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.29/go.mod h1:z7EjRjVwZ6pWcWdI2H64dKttvzaP99jRIj5hphW0M5U= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.28 h1:bkRyG4a929RCnpVSTvLM2j/T4ls015ZhhYApbmYs15s= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.28/go.mod h1:jj7znCIg05jXlaGBlFMGP8+7UN3VtCkRBG2spnmRQkU= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.14.3 h1:dBL3StFxHtpBzJJ/mNEsjXVgfO+7jR0dAIEwLqMapEA= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.14.3/go.mod h1:f1QyiAsvIv4B49DmCqrhlXqyaR+0IxMmyX+1P+AnzOM= +github.com/aws/aws-sdk-go-v2/service/kms v1.22.1/go.mod h1:aNfh11Smy55o65PB3MyKbkM8BFyFUcZmj1k+4g8eNfg= +github.com/aws/aws-sdk-go-v2/service/s3 v1.34.0 h1:2qt8zaVqQCMpnQHBB+PAbfSSXgMl9+zpTRNDHmachJk= +github.com/aws/aws-sdk-go-v2/service/s3 v1.34.0/go.mod h1:aVbf0sko/TsLWHx30c/uVu7c62+0EAJ3vbxaJga0xCw= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.19.9/go.mod h1:ezn6mzIRqTPdAbDpm03dx4y9g6rvGRb2q33wS76dCxw= +github.com/aws/aws-sdk-go-v2/service/sns v1.20.12/go.mod h1:rWrvp9i8y/lX94lS7Kn/0iu9RY6vXzeKRqS/knVX8/c= +github.com/aws/aws-sdk-go-v2/service/sqs v1.23.1/go.mod h1:TaV67b6JMD1988x/uMDop/JnMFK6v5d4Ru+sDmFg+ww= +github.com/aws/aws-sdk-go-v2/service/ssm v1.36.5/go.mod h1:NdyMyZH/FzmCaybTrVMBD0nTCGrs1G4cOPKHFywx9Ns= +github.com/aws/aws-sdk-go-v2/service/sso v1.12.11 h1:cNrMc266RsZJ8V1u1OQQONKcf9HmfxQFqgcpY7ZJBhY= +github.com/aws/aws-sdk-go-v2/service/sso v1.12.11/go.mod h1:HuCOxYsF21eKrerARYO6HapNeh9GBNq7fius2AcwodY= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.11 h1:h2VhtCE5PBiJefmlVCjJRSzBfFcQeAE10SXIGkXw1jQ= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.11/go.mod h1:E4VrHCPzmVB/KFXtqBGKb3c8zpbNBgKe3fisDNLAW5w= +github.com/aws/aws-sdk-go-v2/service/sts v1.19.1 h1:ehPTnLR/es8TL1fpBfq8qw9cAwOpQr47fLmZD9yhHjk= +github.com/aws/aws-sdk-go-v2/service/sts v1.19.1/go.mod h1:dp0yLPsLBOi++WTxzCjA/oZqi6NPIhoR+uF7GeMU9eg= github.com/aws/smithy-go v1.13.5 h1:hgz0X/DX0dGqTYpGALqXJoRKRj5oQ7150i5FdTePzO8= github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= @@ -367,8 +367,8 @@ github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6Wezm github.com/gobwas/ws v1.2.1/go.mod h1:hRKAFb8wOxFROYNsT1bqfWnhX+b5MFeJM9r2ZSwg/KY= github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= -github.com/gocql/gocql v1.4.0 h1:NIlXAJXsjzjGvVn36njh9OLYWzS3D7FdvsifLj4eDEY= -github.com/gocql/gocql v1.4.0/go.mod h1:3gM2c4D3AnkISwBxGnMMsS8Oy4y2lhbPRsH4xnJrHG8= +github.com/gocql/gocql v1.5.2 h1:WnKf8xRQImcT/KLaEWG2pjEeryDB7K0qQN9mPs1C58Q= +github.com/gocql/gocql v1.5.2/go.mod h1:3gM2c4D3AnkISwBxGnMMsS8Oy4y2lhbPRsH4xnJrHG8= github.com/gocraft/dbr/v2 v2.7.4 h1:n2gJ8D5FqCbFGeAsgQvciqsQRp2QMrel1fNjcJeVsXw= github.com/gocraft/dbr/v2 v2.7.4/go.mod h1:8IH98S8M8J0JSEiYk0MPH26ZDUKemiQ/GvmXL5jo+Uw= github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= @@ -426,10 +426,11 @@ github.com/google/wire v0.5.0 h1:I7ELFeVBr3yfPIcc8+MWvrjk+3VjbcSzoXm3JVa+jD8= github.com/google/wire v0.5.0/go.mod h1:ngWDr9Qvq3yZA10YrxfyGELY/AFWGVpy9c1LTRi1EoU= github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= -github.com/googleapis/enterprise-certificate-proxy v0.2.3 h1:yk9/cqRKtT9wXZSsRH9aurXEpJX+U6FLtpYTdC3R06k= github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= -github.com/googleapis/gax-go/v2 v2.10.0 h1:ebSgKfMxynOdxw8QQuFOKMgomqeLGPqNLQox2bo42zg= -github.com/googleapis/gax-go/v2 v2.10.0/go.mod h1:4UOEnMCrxsSqQ940WnTiD6qJ63le2ev3xfyagutxiPw= +github.com/googleapis/enterprise-certificate-proxy v0.2.4 h1:uGy6JWR/uMIILU8wbf+OkstIrNiMjGpEIyhx8f6W7s4= +github.com/googleapis/enterprise-certificate-proxy v0.2.4/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= +github.com/googleapis/gax-go/v2 v2.11.0 h1:9V9PWXEsWnPpQhu/PeQIkS4eGzMlTLGgt80cUUI8Ki4= +github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5iydzRfb3peWZJI= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= @@ -487,8 +488,8 @@ github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:C github.com/kisielk/errcheck v1.6.3/go.mod h1:nXw/i/MfnvRHqXa7XXmQMUB0oNFGuBrNI8d8NLy0LPw= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE= -github.com/klauspost/compress v1.16.6-0.20230504143003-9a951bee0e5e h1:LYC7/1w2akDgXyFQdhfiN4EOl15ymjPvAKhC9iSxdoc= -github.com/klauspost/compress v1.16.6-0.20230504143003-9a951bee0e5e/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/klauspost/compress v1.16.7-0.20230613094628-ae6c851e6154 h1:LbFQvzEgx6j/88I9g3OWHYHbeL+mIAw7ozonmjlFTEQ= +github.com/klauspost/compress v1.16.7-0.20230613094628-ae6c851e6154/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/qbZg= github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/kpango/fastime v1.1.9 h1:xVQHcqyPt5M69DyFH7g1EPRns1YQNap9d5eLhl/Jy84= @@ -629,8 +630,8 @@ github.com/tedsuo/ifrit v0.0.0-20180802180643-bea94bb476cc/go.mod h1:eyZnKCc955u github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= -github.com/vdaas/vald-client-go v1.7.5 h1:cmY528/1fddCt7iXvqZDdmbm3CqrD7X1XbE/jXdqcSg= -github.com/vdaas/vald-client-go v1.7.5/go.mod h1:cEFd/dZccTiOO2EK+D7iw5/j0xCqanX/+bBw17vR9qM= +github.com/vdaas/vald-client-go v1.7.6 h1:Clg45IgCsR7FIVARn/WNbTHCvu4FCaJWBDAQnYcCgDs= +github.com/vdaas/vald-client-go v1.7.6/go.mod h1:yiEqHM1L8j3Y7jXoypIozy79ESgthYtMvMTZLRWY6YI= github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= @@ -669,8 +670,8 @@ go.opentelemetry.io/otel/trace v1.11.1 h1:ofxdnzsNrGBYXbP7t7zpUK281+go5rF7dvdIZX go.opentelemetry.io/otel/trace v1.11.1/go.mod h1:f/Q9G7vzk5u91PhbmKbg1Qn0rzH1LJ4vbPHFGkTPtOk= go.opentelemetry.io/proto/otlp v0.20.0 h1:BLOA1cZBAGSbRiNuGCCKiFrCdYB7deeHDeD1SueyOfA= go.opentelemetry.io/proto/otlp v0.20.0/go.mod h1:3QgjzPALBIv9pcknj2EXGPXjYPFdUh/RQfF8Lz3+Vnw= -go.starlark.net v0.0.0-20230525235612-a134d8f9ddca h1:VdD38733bfYv5tUZwEIskMM93VanwNIi5bIKnDrJdEY= -go.starlark.net v0.0.0-20230525235612-a134d8f9ddca/go.mod h1:jxU+3+j+71eXOW14274+SmmuW82qJzl6iZSeqEtTGds= +go.starlark.net v0.0.0-20230612165344-9532f5667272 h1:2/wtqS591wZyD2OsClsVBKRPEvBsQt/Js+fsCiYhwu8= +go.starlark.net v0.0.0-20230612165344-9532f5667272/go.mod h1:jxU+3+j+71eXOW14274+SmmuW82qJzl6iZSeqEtTGds= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/automaxprocs v1.5.2 h1:2LxUOGiR3O6tw8ui5sZa2LAaHnsviZdVOUZw4fvbnME= @@ -685,32 +686,32 @@ gocloud.dev v0.29.0 h1:fBy0jwJSmxs0IjT0fE32MO+Mj+307VZQwyHaTyFZbC4= gocloud.dev v0.29.0/go.mod h1:E3dAjji80g+lIkq4CQeF/BTWqv1CBeTftmOb+gpyapQ= golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= golang.org/x/arch v0.3.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= -golang.org/x/crypto v0.9.0 h1:LF6fAI+IutBocDJ2OT0Q1g8plpYljMZ4+lty+dsqw3g= -golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0= +golang.org/x/crypto v0.10.0 h1:LKqV2xt9+kDzSTfOhx4FrkEBcMrAgHSYgzywV9zcGmM= +golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I= golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 h1:k/i9J1pBpvlfR+9QsetwPyERsqu1GIbi967PQMq3Ivc= golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w= golang.org/x/exp/shiny v0.0.0-20220827204233-334a2380cb91/go.mod h1:VjAR7z0ngyATZTELrBSkxOOHhhlnVUxDye4mcjx5h/8= golang.org/x/exp/shiny v0.0.0-20230425010034-47ecfdc1ba53/go.mod h1:UH99kUObWAZkDnWqppdQe5ZhPYESUw8I0zVV1uWBR+0= golang.org/x/exp/typeparams v0.0.0-20230522175609-2e198f4a06a1 h1:pnP8r+W8Fm7XJ8CWtXi4S9oJmPBTrkfYN/dNbaPj6Y4= golang.org/x/exp/typeparams v0.0.0-20230522175609-2e198f4a06a1/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= -golang.org/x/image v0.7.0 h1:gzS29xtG1J5ybQlv0PuyfE3nmc6R4qB73m6LUUmvFuw= -golang.org/x/image v0.7.0/go.mod h1:nd/q4ef1AKKYl/4kft7g+6UyGbdiqWqTP1ZAbRoV7Rg= +golang.org/x/image v0.8.0 h1:agUcRXV/+w6L9ryntYYsF2x9fQTMd4T8fiiYXAVW6Jg= +golang.org/x/image v0.8.0/go.mod h1:PwLxp3opCYg4WR2WO9P0L6ESnsD6bLTWcw8zanLMVFM= golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20230531173138-3c911d8e3eda/go.mod h1:aAjjkJNdrh3PMckS4B10TGS2nag27cbKR1y2BpUxsiY= golang.org/x/mod v0.10.0 h1:lFO9qtOdlre5W1jxS3r/4szv2/6iXxScdzjoBMXNhYk= golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/oauth2 v0.8.0 h1:6dkIjl3j3LtZ/O3sTgZTMsLKSftL/B8Zgq4huOIIUu8= -golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= +golang.org/x/net v0.11.0 h1:Gi2tvZIJyBtO9SDr1q9h5hEQCp/4L2RQ+ar0qjx2oNU= +golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ= +golang.org/x/oauth2 v0.9.0 h1:BPpt2kU7oMRq3kCHAA1tbSEshXRw1LpG2ztgDwrzuAs= +golang.org/x/oauth2 v0.9.0/go.mod h1:qYgFZaFiu6Wg24azG8bdV52QJXJGbZzIIsRCdVKzbLw= golang.org/x/sync v0.2.0 h1:PUR+T4wwASmuSTYdKjYHI5TD22Wy5ogLU5qZCOLxBrI= golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.8.0 h1:n5xxQn2i3PC0yLAbjTpNT85q/Kgzcr2gIoX9OrJUols= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/sys v0.9.0 h1:KS/R3tvhPqvJvwcKfnBHJwwthS11LRhmM5D59eEXa0s= +golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.9.0 h1:GRRCnKYhdQrD8kfRAdQ6Zcw1P0OcELxGLKJvtjVMZ28= +golang.org/x/term v0.9.0/go.mod h1:M6DEAAIenWoTxdKrOltXcmDY3rSplQUkrvaDU5FcQyo= +golang.org/x/text v0.10.0 h1:UpjohKhiEgNc0CSauXmwYftY1+LlaC75SJwh0SgCX58= +golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.9.3 h1:Gn1I8+64MsuTb/HpH+LmQtNas23LhUVr3rYZ0eKuaMM= @@ -725,8 +726,8 @@ gonum.org/v1/hdf5 v0.0.0-20210714002203-8c5d23bc6946 h1:vJpL69PeUullhJyKtTjHjENE gonum.org/v1/hdf5 v0.0.0-20210714002203-8c5d23bc6946/go.mod h1:BQUWDHIAygjdt1HnUPQ0eWqLN2n5FwJycrpYUVUOx2I= gonum.org/v1/plot v0.13.0 h1:yb2Z/b8bY5h/xC4uix+ujJ+ixvPUvBmUOtM73CJzpsw= gonum.org/v1/plot v0.13.0/go.mod h1:mV4Bpu4PWTgN2CETURNF8hCMg7EtlZqJYCcmYo/t4Co= -google.golang.org/api v0.126.0 h1:q4GJq+cAdMAC7XP7njvQ4tvohGLiSlytuL4BQxbIZ+o= -google.golang.org/api v0.126.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw= +google.golang.org/api v0.127.0 h1:v7rj0vA0imM3Ou81k1eyFxQNScLzn71EyGnJDr+V/XI= +google.golang.org/api v0.127.0/go.mod h1:Y611qgqaE92On/7g65MQgxYul3c0rEB894kniWLY750= google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc h1:8DyZCyvI8mE1IdLy/60bS+52xfymkE72wv1asokgtao= diff --git a/hack/benchmark/src/singleflight/singleflight_bench_test.go b/hack/benchmark/src/singleflight/singleflight_bench_test.go index 9096f00925..4b183fc6a0 100644 --- a/hack/benchmark/src/singleflight/singleflight_bench_test.go +++ b/hack/benchmark/src/singleflight/singleflight_bench_test.go @@ -36,7 +36,7 @@ type Result struct { } type helper struct { - initDoFn func() func(ctx context.Context, key string, fn func() (interface{}, error)) + initDoFn func() func(ctx context.Context, key string, fn func() (string, error)) sleepDur time.Duration calledCnt int64 totalCnt int64 @@ -67,7 +67,7 @@ var durs = []time.Duration{ func (h *helper) Do(parallel int, b *testing.B) { b.Helper() - fn := func() (interface{}, error) { + fn := func() (string, error) { atomic.AddInt64(&h.calledCnt, 1) time.Sleep(h.sleepDur) return "", nil @@ -115,10 +115,10 @@ func Benchmark_group_Do_with_sync_singleflight(b *testing.B) { results := make([]Result, 0, tryCnt) for j := 0; j < tryCnt; j++ { h := &helper{ - initDoFn: func() func(ctx context.Context, key string, fn func() (interface{}, error)) { + initDoFn: func() func(ctx context.Context, key string, fn func() (string, error)) { g := new(stdsingleflight.Group) - return func(ctx context.Context, key string, fn func() (interface{}, error)) { - g.Do(key, fn) + return func(ctx context.Context, key string, fn func() (string, error)) { + g.Do(key, func() (interface{}, error) { return fn() }) } }, sleepDur: dur, @@ -210,9 +210,9 @@ func Benchmark_group_Do_with_vald_internal_singleflight(b *testing.B) { results := make([]Result, 0, tryCnt) for j := 0; j < tryCnt; j++ { h := &helper{ - initDoFn: func() func(ctx context.Context, key string, fn func() (interface{}, error)) { - g := singleflight.New() - return func(ctx context.Context, key string, fn func() (interface{}, error)) { + initDoFn: func() func(ctx context.Context, key string, fn func() (string, error)) { + g := singleflight.New[string]() + return func(ctx context.Context, key string, fn func() (string, error)) { g.Do(ctx, key, fn) } }, diff --git a/internal/net/grpc/client.go b/internal/net/grpc/client.go index ff39dd1c4f..c4fe2ef3a1 100644 --- a/internal/net/grpc/client.go +++ b/internal/net/grpc/client.go @@ -109,7 +109,7 @@ type gRPCClient struct { cb circuitbreaker.CircuitBreaker gbo gbackoff.Config // grpc's original backoff configuration mcd time.Duration // minimum connection timeout duration - group singleflight.Group + group singleflight.Group[pool.Conn] crl sync.Map // connection request list ech <-chan error @@ -121,7 +121,7 @@ const apiName = "vald/internal/net/grpc" func New(opts ...Option) (c Client) { g := &gRPCClient{ - group: singleflight.New(), + group: singleflight.New[pool.Conn](), addrs: make(map[string]struct{}), } @@ -882,7 +882,7 @@ func (g *gRPCClient) Connect(ctx context.Context, addr string, dopts ...DialOpti span.End() } }() - ci, shared, err := g.group.Do(ctx, "connect-"+addr, func() (interface{}, error) { + sconn, shared, err := g.group.Do(ctx, "connect-"+addr, func() (pool.Conn, error) { var ok bool conn, ok = g.conns.Load(addr) if ok && conn != nil { @@ -947,10 +947,7 @@ func (g *gRPCClient) Connect(ctx context.Context, addr string, dopts ...DialOpti return nil, err } if shared { - sconn, ok := ci.(pool.Conn) - if ok { - return sconn, nil - } + return sconn, nil } return conn, nil } @@ -970,7 +967,7 @@ func (g *gRPCClient) Disconnect(ctx context.Context, addr string) error { span.End() } }() - _, _, err := g.group.Do(ctx, "disconnect-"+addr, func() (interface{}, error) { + _, _, err := g.group.Do(ctx, "disconnect-"+addr, func() (pool.Conn, error) { p, ok := g.conns.Load(addr) if !ok || p == nil { g.conns.Delete(addr) diff --git a/internal/net/grpc/client_test.go b/internal/net/grpc/client_test.go index 1a63044fd5..2e40906513 100644 --- a/internal/net/grpc/client_test.go +++ b/internal/net/grpc/client_test.go @@ -144,7 +144,7 @@ func Test_gRPCClient_StartConnectionMonitor(t *testing.T) { cb circuitbreaker.CircuitBreaker gbo gbackoff.Config mcd time.Duration - group singleflight.Group + group singleflight.Group[pool.Conn] ech <-chan error monitorRunning atomic.Bool stopMonitor context.CancelFunc @@ -327,7 +327,7 @@ func Test_gRPCClient_Range(t *testing.T) { cb circuitbreaker.CircuitBreaker gbo gbackoff.Config mcd time.Duration - group singleflight.Group + group singleflight.Group[pool.Conn] ech <-chan error monitorRunning atomic.Bool stopMonitor context.CancelFunc @@ -509,7 +509,7 @@ func Test_gRPCClient_RangeConcurrent(t *testing.T) { cb circuitbreaker.CircuitBreaker gbo gbackoff.Config mcd time.Duration - group singleflight.Group + group singleflight.Group[pool.Conn] ech <-chan error monitorRunning atomic.Bool stopMonitor context.CancelFunc @@ -693,7 +693,7 @@ func Test_gRPCClient_OrderedRange(t *testing.T) { cb circuitbreaker.CircuitBreaker gbo gbackoff.Config mcd time.Duration - group singleflight.Group + group singleflight.Group[pool.Conn] ech <-chan error monitorRunning atomic.Bool stopMonitor context.CancelFunc @@ -878,7 +878,7 @@ func Test_gRPCClient_OrderedRangeConcurrent(t *testing.T) { cb circuitbreaker.CircuitBreaker gbo gbackoff.Config mcd time.Duration - group singleflight.Group + group singleflight.Group[pool.Conn] ech <-chan error monitorRunning atomic.Bool stopMonitor context.CancelFunc @@ -1063,7 +1063,7 @@ func Test_gRPCClient_RoundRobin(t *testing.T) { cb circuitbreaker.CircuitBreaker gbo gbackoff.Config mcd time.Duration - group singleflight.Group + group singleflight.Group[pool.Conn] ech <-chan error monitorRunning atomic.Bool stopMonitor context.CancelFunc @@ -1249,7 +1249,7 @@ func Test_gRPCClient_Do(t *testing.T) { cb circuitbreaker.CircuitBreaker gbo gbackoff.Config mcd time.Duration - group singleflight.Group + group singleflight.Group[pool.Conn] ech <-chan error monitorRunning atomic.Bool stopMonitor context.CancelFunc @@ -1439,7 +1439,7 @@ func Test_gRPCClient_connectWithBackoff(t *testing.T) { cb circuitbreaker.CircuitBreaker gbo gbackoff.Config mcd time.Duration - group singleflight.Group + group singleflight.Group[pool.Conn] ech <-chan error monitorRunning atomic.Bool stopMonitor context.CancelFunc @@ -1626,7 +1626,7 @@ func Test_gRPCClient_GetDialOption(t *testing.T) { cb circuitbreaker.CircuitBreaker gbo gbackoff.Config mcd time.Duration - group singleflight.Group + group singleflight.Group[pool.Conn] ech <-chan error monitorRunning atomic.Bool stopMonitor context.CancelFunc @@ -1794,7 +1794,7 @@ func Test_gRPCClient_GetCallOption(t *testing.T) { cb circuitbreaker.CircuitBreaker gbo gbackoff.Config mcd time.Duration - group singleflight.Group + group singleflight.Group[pool.Conn] ech <-chan error monitorRunning atomic.Bool stopMonitor context.CancelFunc @@ -1962,7 +1962,7 @@ func Test_gRPCClient_GetBackoff(t *testing.T) { cb circuitbreaker.CircuitBreaker gbo gbackoff.Config mcd time.Duration - group singleflight.Group + group singleflight.Group[pool.Conn] ech <-chan error monitorRunning atomic.Bool stopMonitor context.CancelFunc @@ -2135,7 +2135,7 @@ func Test_gRPCClient_Connect(t *testing.T) { cb circuitbreaker.CircuitBreaker gbo gbackoff.Config mcd time.Duration - group singleflight.Group + group singleflight.Group[pool.Conn] ech <-chan error monitorRunning atomic.Bool stopMonitor context.CancelFunc @@ -2322,7 +2322,7 @@ func Test_gRPCClient_IsConnected(t *testing.T) { cb circuitbreaker.CircuitBreaker gbo gbackoff.Config mcd time.Duration - group singleflight.Group + group singleflight.Group[pool.Conn] ech <-chan error monitorRunning atomic.Bool stopMonitor context.CancelFunc @@ -2503,7 +2503,7 @@ func Test_gRPCClient_Disconnect(t *testing.T) { cb circuitbreaker.CircuitBreaker gbo gbackoff.Config mcd time.Duration - group singleflight.Group + group singleflight.Group[pool.Conn] ech <-chan error monitorRunning atomic.Bool stopMonitor context.CancelFunc @@ -2680,7 +2680,7 @@ func Test_gRPCClient_ConnectedAddrs(t *testing.T) { cb circuitbreaker.CircuitBreaker gbo gbackoff.Config mcd time.Duration - group singleflight.Group + group singleflight.Group[pool.Conn] ech <-chan error monitorRunning atomic.Bool stopMonitor context.CancelFunc @@ -2851,7 +2851,7 @@ func Test_gRPCClient_Close(t *testing.T) { cb circuitbreaker.CircuitBreaker gbo gbackoff.Config mcd time.Duration - group singleflight.Group + group singleflight.Group[pool.Conn] ech <-chan error monitorRunning atomic.Bool stopMonitor context.CancelFunc diff --git a/internal/net/grpc/codec.go b/internal/net/grpc/codec.go index 07515ad5f7..cb90b64977 100644 --- a/internal/net/grpc/codec.go +++ b/internal/net/grpc/codec.go @@ -34,29 +34,27 @@ type vtprotoMessage interface { } // Marshal returns byte slice representing the proto message marshalling result. -func (Codec) Marshal(v interface{}) ([]byte, error) { - vt, ok := v.(vtprotoMessage) - if ok { - return vt.MarshalVT() +func (Codec) Marshal(obj interface{}) ([]byte, error) { + switch v := obj.(type) { + case vtprotoMessage: + return v.MarshalVT() + case proto.Message: + return proto.Marshal(v) + default: + return nil, errors.ErrInvalidProtoMessageType(v) } - pm, ok := v.(proto.Message) - if ok { - return proto.Marshal(pm) - } - return nil, errors.ErrInvalidProtoMessageType(v) } // Unmarshal parses the byte stream data into v. -func (Codec) Unmarshal(data []byte, v interface{}) error { - vt, ok := v.(vtprotoMessage) - if ok { - return vt.UnmarshalVT(data) - } - pm, ok := v.(proto.Message) - if ok { - return proto.Unmarshal(data, pm) +func (Codec) Unmarshal(data []byte, obj interface{}) error { + switch v := obj.(type) { + case vtprotoMessage: + return v.UnmarshalVT(data) + case proto.Message: + return proto.Unmarshal(data, v) + default: + return errors.ErrInvalidProtoMessageType(v) } - return errors.ErrInvalidProtoMessageType(v) } func (Codec) Name() string { diff --git a/internal/singleflight/singleflight.go b/internal/singleflight/singleflight.go index bac45506c6..ac669c089d 100644 --- a/internal/singleflight/singleflight.go +++ b/internal/singleflight/singleflight.go @@ -23,34 +23,34 @@ import ( "sync/atomic" ) -type call struct { +type call[V any] struct { wg sync.WaitGroup - val interface{} + val V err error dups uint64 } // Group represents interface for zero time cache. -type Group interface { - Do(ctx context.Context, key string, fn func() (interface{}, error)) (v interface{}, shared bool, err error) +type Group[V any] interface { + Do(ctx context.Context, key string, fn func() (V, error)) (v V, shared bool, err error) } -type group struct { +type group[V any] struct { m sync.Map } // New returns Group implementation. -func New() Group { - return new(group) +func New[V any]() Group[V] { + return new(group[V]) } // Do execute the given function and return the result. // It makes sure only one execution of the function for each given key. // If duplicate comes, the duplicated call with the same key will wait for the first caller return. // It returns the result and the error of the given function, and whether the result is shared from the first caller. -func (g *group) Do(_ context.Context, key string, fn func() (interface{}, error)) (v interface{}, shared bool, err error) { - actual, loaded := g.m.LoadOrStore(key, new(call)) - c := actual.(*call) +func (g *group[V]) Do(_ context.Context, key string, fn func() (V, error)) (v V, shared bool, err error) { + actual, loaded := g.m.LoadOrStore(key, new(call[V])) + c := actual.(*call[V]) if loaded { atomic.AddUint64(&c.dups, 1) c.wg.Wait() diff --git a/internal/singleflight/singleflight_test.go b/internal/singleflight/singleflight_test.go index a0dd4fc830..b283db915f 100644 --- a/internal/singleflight/singleflight_test.go +++ b/internal/singleflight/singleflight_test.go @@ -33,16 +33,16 @@ import ( func TestNew(t *testing.T) { type want struct { - want Group + want Group[any] } type test struct { name string want want - checkFunc func(want, Group) error + checkFunc func(want, Group[any]) error beforeFunc func() afterFunc func() } - defaultCheckFunc := func(w want, got Group) error { + defaultCheckFunc := func(w want, got Group[any]) error { if !reflect.DeepEqual(got, w.want) { return errors.Errorf("got: \"%#v\",\n\t\t\t\twant: \"%#v\"", got, w.want) } @@ -52,7 +52,7 @@ func TestNew(t *testing.T) { { name: "returns Group implementation", want: want{ - want: &group{}, + want: &group[any]{}, }, }, } @@ -72,7 +72,7 @@ func TestNew(t *testing.T) { checkFunc = defaultCheckFunc } - got := New() + got := New[any]() if err := checkFunc(test.want, got); err != nil { tt.Errorf("error = %v", err) } @@ -81,42 +81,27 @@ func TestNew(t *testing.T) { } func Test_group_Do(t *testing.T) { - type args struct { + type args[V any] struct { ctx context.Context key string - fn func() (interface{}, error) + fn func() (V, error) } - type want struct { - wantV interface{} + type want[V any] struct { + wantV V wantShared bool err error } - type test struct { + type test[V any] struct { name string - args args - want want - beforeFunc func(args) - execFunc func(*testing.T, *group, args) (interface{}, bool, error) - checkFunc func(want, interface{}, bool, error) error - afterFunc func(args) - } - defaultCheckFunc := func(w want, gotV interface{}, gotShared bool, err error) error { - if !errors.Is(err, w.err) { - return errors.Errorf("got_error: \"%#v\",\n\t\t\t\twant: \"%#v\"", err, w.err) - } - if !reflect.DeepEqual(gotV, w.wantV) { - return errors.Errorf("got: \"%#v\",\n\t\t\t\twant: \"%#v\"", gotV, w.wantV) - } - if !reflect.DeepEqual(gotShared, w.wantShared) { - return errors.Errorf("got: \"%#v\",\n\t\t\t\twant: \"%#v\"", gotShared, w.wantShared) - } - return nil - } - defaultExecFunc := func(t *testing.T, g *group, a args) (interface{}, bool, error) { - return g.Do(a.ctx, a.key, a.fn) + args args[V] + want want[V] + beforeFunc func(args[V]) + execFunc func(*testing.T, args[V]) (V, bool, error) + checkFunc func(want[V], V, bool, error) error + afterFunc func(args[V]) } - tests := []test{ - func() test { + tests := []test[string]{ + func() test[string] { // routine1 key1 := "req_1" var cnt1 uint32 @@ -124,7 +109,7 @@ func Test_group_Do(t *testing.T) { // the unparam lint rule is disabled here because we need to match the interface to singleflight implementation. // if this rule is not disabled, if will warns that the error will always return null. //nolint:unparam - fn1 := func() (interface{}, error) { + fn1 := func() (string, error) { atomic.AddUint32(&cnt1, 1) return "res_1", nil } @@ -136,25 +121,26 @@ func Test_group_Do(t *testing.T) { // the unparam lint rule is disabled here because we need to match the interface to singleflight implementation. // if this rule is not disabled, if will warns that the error will always return null. //nolint:unparam - fn2 := func() (interface{}, error) { + fn2 := func() (string, error) { atomic.AddUint32(&cnt2, 1) return "res_2", nil } - return test{ + return test[string]{ name: "returns (v, false, nil) when Do is called with another key", - args: args{ + args: args[string]{ key: key1, ctx: context.Background(), fn: fn1, }, - want: want{ + want: want[string]{ wantV: "res_1", wantShared: false, err: nil, }, - execFunc: func(t *testing.T, g *group, a args) (got interface{}, gotShared bool, err error) { + execFunc: func(t *testing.T, a args[string]) (got string, gotShared bool, err error) { t.Helper() + g := New[string]() wg := new(sync.WaitGroup) wg.Add(1) @@ -172,25 +158,34 @@ func Test_group_Do(t *testing.T) { wg.Wait() return got, gotShared, err }, - checkFunc: func(w want, gotV interface{}, gotShared bool, err error) error { + checkFunc: func(w want[string], gotV string, gotShared bool, err error) error { if got, want := int(atomic.LoadUint32(&cnt1)), 1; got != want { return errors.Errorf("cnt got = %d, want = %d", got, want) } if got, want := int(atomic.LoadUint32(&cnt2)), 1; got != want { return errors.Errorf("cnt got = %d, want = %d", got, want) } - return defaultCheckFunc(w, gotV, gotShared, err) + if !errors.Is(err, w.err) { + return errors.Errorf("got_error: \"%#v\",\n\t\t\t\twant: \"%#v\"", err, w.err) + } + if !reflect.DeepEqual(gotV, w.wantV) { + return errors.Errorf("got: \"%#v\",\n\t\t\t\twant: \"%#v\"", gotV, w.wantV) + } + if !reflect.DeepEqual(gotShared, w.wantShared) { + return errors.Errorf("got: \"%#v\",\n\t\t\t\twant: \"%#v\"", gotShared, w.wantShared) + } + return nil }, } }(), - func() test { + func() test[string] { // routine1 var cnt1 uint32 // the unparam lint rule is disabled here because we need to match the interface to singleflight implementation. // if this rule is not disabled, if will warns that the error will always return null. //nolint:unparam - fn1 := func() (interface{}, error) { + fn1 := func() (string, error) { atomic.AddUint32(&cnt1, 1) time.Sleep(time.Millisecond * 500) return "res_1", nil @@ -202,39 +197,50 @@ func Test_group_Do(t *testing.T) { // the unparam lint rule is disabled here because we need to match the interface to singleflight implementation. // if this rule is not disabled, if will warns that the error will always return null. //nolint:unparam - fn2 := func() (interface{}, error) { + fn2 := func() (string, error) { atomic.AddUint32(&cnt2, 1) return "res_2", nil } - w := want{ + w := want[string]{ wantV: "res_1", wantShared: true, err: nil, } - checkFunc := func(w want, gotV interface{}, gotShared bool, err error) error { + + checkFunc := func(w want[string], gotV string, gotShared bool, err error) error { c1 := int(atomic.LoadUint32(&cnt1)) c2 := int(atomic.LoadUint32(&cnt2)) // since there is a chance that the go routine 2 is executed before routine 1, we need to check if either one is executed if !((c1 == 1 && c2 == 0) || (c1 == 0 && c2 == 1)) { return errors.Errorf("cnt1 and cnt2 is executed, %d, %d", c1, c2) } - return defaultCheckFunc(w, gotV, gotShared, err) + if !errors.Is(err, w.err) { + return errors.Errorf("got_error: \"%#v\",\n\t\t\t\twant: \"%#v\"", err, w.err) + } + if !reflect.DeepEqual(gotV, w.wantV) { + return errors.Errorf("got: \"%#v\",\n\t\t\t\twant: \"%#v\"", gotV, w.wantV) + } + if !reflect.DeepEqual(gotShared, w.wantShared) { + return errors.Errorf("got: \"%#v\",\n\t\t\t\twant: \"%#v\"", gotShared, w.wantShared) + } + return nil } - return test{ + return test[string]{ name: "returns (v, true, nil) when Do is called with the same key", - args: args{ + args: args[string]{ key: "req_1", ctx: context.Background(), fn: fn1, }, want: w, - execFunc: func(t *testing.T, g *group, a args) (interface{}, bool, error) { + execFunc: func(t *testing.T, a args[string]) (string, bool, error) { t.Helper() + g := New[string]() wg := new(sync.WaitGroup) - var got, got1 interface{} + var got, got1 string var gotShared, gotShared1 bool var err, err1 error @@ -257,8 +263,10 @@ func Test_group_Do(t *testing.T) { if err := checkFunc(w, got1, gotShared1, err1); err != nil { t.Fatal(err) } + return got, gotShared, err }, + checkFunc: checkFunc, } }(), } @@ -274,19 +282,9 @@ func Test_group_Do(t *testing.T) { test.beforeFunc(test.args) } - g := &group{} + gotV, gotShared, err := test.execFunc(t, test.args) - execFunc := defaultExecFunc - if test.execFunc != nil { - execFunc = test.execFunc - } - gotV, gotShared, err := execFunc(t, g, test.args) - - checkFunc := test.checkFunc - if test.checkFunc == nil { - checkFunc = defaultCheckFunc - } - if err := checkFunc(test.want, gotV, gotShared, err); err != nil { + if err := test.checkFunc(test.want, gotV, gotShared, err); err != nil { tt.Errorf("error = %v", err) } }) diff --git a/pkg/agent/core/ngt/service/ngt_test.go b/pkg/agent/core/ngt/service/ngt_test.go index 7d4eb74da8..aac15c977d 100644 --- a/pkg/agent/core/ngt/service/ngt_test.go +++ b/pkg/agent/core/ngt/service/ngt_test.go @@ -25,7 +25,6 @@ import ( "os" "path/filepath" "reflect" - "strings" "sync" "sync/atomic" "testing" @@ -41,6 +40,7 @@ import ( "github.com/vdaas/vald/internal/file" "github.com/vdaas/vald/internal/log" "github.com/vdaas/vald/internal/safety" + "github.com/vdaas/vald/internal/strings" testdata "github.com/vdaas/vald/internal/test" "github.com/vdaas/vald/internal/test/data/vector" "github.com/vdaas/vald/internal/test/goleak" @@ -1090,6 +1090,328 @@ func createRandomData(num int, cfg *createRandomDataConfig) []index { // NOT IMPLEMENTED BELOW +func Test_migrate(t *testing.T) { + type args struct { + ctx context.Context + path string + } + type want struct { + err error + } + type test struct { + name string + args args + want want + checkFunc func(want, error) error + beforeFunc func(*testing.T, args) + afterFunc func(*testing.T, args) + } + defaultCheckFunc := func(w want, err error) error { + if !errors.Is(err, w.err) { + return errors.Errorf("got_error: \"%#v\",\n\t\t\t\twant: \"%#v\"", err, w.err) + } + return nil + } + tests := []test{ + // TODO test cases + /* + { + name: "test_case_1", + args: args { + ctx:nil, + path:"", + }, + want: want{}, + checkFunc: defaultCheckFunc, + beforeFunc: func(t *testing.T, args args) { + t.Helper() + }, + afterFunc: func(t *testing.T, args args) { + t.Helper() + }, + }, + */ + + // TODO test cases + /* + func() test { + return test { + name: "test_case_2", + args: args { + ctx:nil, + path:"", + }, + want: want{}, + checkFunc: defaultCheckFunc, + beforeFunc: func(t *testing.T, args args) { + t.Helper() + }, + afterFunc: func(t *testing.T, args args) { + t.Helper() + }, + } + }(), + */ + } + + for _, tc := range tests { + test := tc + t.Run(test.name, func(tt *testing.T) { + tt.Parallel() + defer goleak.VerifyNone(tt, goleak.IgnoreCurrent()) + if test.beforeFunc != nil { + test.beforeFunc(tt, test.args) + } + if test.afterFunc != nil { + defer test.afterFunc(tt, test.args) + } + checkFunc := test.checkFunc + if test.checkFunc == nil { + checkFunc = defaultCheckFunc + } + + err := migrate(test.args.ctx, test.args.path) + if err := checkFunc(test.want, err); err != nil { + tt.Errorf("error = %v", err) + } + }) + } +} + +func Test_ngt_prepareFolders(t *testing.T) { + type args struct { + ctx context.Context + } + type fields struct { + core core.NGT + eg errgroup.Group + kvs kvs.BidiMap + fmap map[string]int64 + vq vqueue.Queue + indexing atomic.Value + saving atomic.Value + lastNocie uint64 + nocie uint64 + nogce uint64 + wfci uint64 + inMem bool + dim int + alen int + lim time.Duration + dur time.Duration + sdur time.Duration + minLit time.Duration + maxLit time.Duration + litFactor time.Duration + enableProactiveGC bool + enableCopyOnWrite bool + path string + tmpPath atomic.Value + oldPath string + basePath string + brokenPath string + backupGen uint64 + poolSize uint32 + radius float32 + epsilon float32 + idelay time.Duration + dcd bool + kvsdbConcurrency int + historyLimit int + } + type want struct { + err error + } + type test struct { + name string + args args + fields fields + want want + checkFunc func(want, error) error + beforeFunc func(*testing.T, args) + afterFunc func(*testing.T, args) + } + defaultCheckFunc := func(w want, err error) error { + if !errors.Is(err, w.err) { + return errors.Errorf("got_error: \"%#v\",\n\t\t\t\twant: \"%#v\"", err, w.err) + } + return nil + } + tests := []test{ + // TODO test cases + /* + { + name: "test_case_1", + args: args { + ctx:nil, + }, + fields: fields { + core:nil, + eg:nil, + kvs:nil, + fmap:nil, + vq:nil, + indexing:nil, + saving:nil, + lastNocie:0, + nocie:0, + nogce:0, + wfci:0, + inMem:false, + dim:0, + alen:0, + lim:nil, + dur:nil, + sdur:nil, + minLit:nil, + maxLit:nil, + litFactor:nil, + enableProactiveGC:false, + enableCopyOnWrite:false, + path:"", + tmpPath:nil, + oldPath:"", + basePath:"", + brokenPath:"", + backupGen:0, + poolSize:0, + radius:0, + epsilon:0, + idelay:nil, + dcd:false, + kvsdbConcurrency:0, + historyLimit:0, + }, + want: want{}, + checkFunc: defaultCheckFunc, + beforeFunc: func(t *testing.T, args args) { + t.Helper() + }, + afterFunc: func(t *testing.T, args args) { + t.Helper() + }, + }, + */ + + // TODO test cases + /* + func() test { + return test { + name: "test_case_2", + args: args { + ctx:nil, + }, + fields: fields { + core:nil, + eg:nil, + kvs:nil, + fmap:nil, + vq:nil, + indexing:nil, + saving:nil, + lastNocie:0, + nocie:0, + nogce:0, + wfci:0, + inMem:false, + dim:0, + alen:0, + lim:nil, + dur:nil, + sdur:nil, + minLit:nil, + maxLit:nil, + litFactor:nil, + enableProactiveGC:false, + enableCopyOnWrite:false, + path:"", + tmpPath:nil, + oldPath:"", + basePath:"", + brokenPath:"", + backupGen:0, + poolSize:0, + radius:0, + epsilon:0, + idelay:nil, + dcd:false, + kvsdbConcurrency:0, + historyLimit:0, + }, + want: want{}, + checkFunc: defaultCheckFunc, + beforeFunc: func(t *testing.T, args args) { + t.Helper() + }, + afterFunc: func(t *testing.T, args args) { + t.Helper() + }, + } + }(), + */ + } + + for _, tc := range tests { + test := tc + t.Run(test.name, func(tt *testing.T) { + tt.Parallel() + defer goleak.VerifyNone(tt, goleak.IgnoreCurrent()) + if test.beforeFunc != nil { + test.beforeFunc(tt, test.args) + } + if test.afterFunc != nil { + defer test.afterFunc(tt, test.args) + } + checkFunc := test.checkFunc + if test.checkFunc == nil { + checkFunc = defaultCheckFunc + } + n := &ngt{ + core: test.fields.core, + eg: test.fields.eg, + kvs: test.fields.kvs, + fmap: test.fields.fmap, + vq: test.fields.vq, + indexing: test.fields.indexing, + saving: test.fields.saving, + lastNocie: test.fields.lastNocie, + nocie: test.fields.nocie, + nogce: test.fields.nogce, + wfci: test.fields.wfci, + inMem: test.fields.inMem, + dim: test.fields.dim, + alen: test.fields.alen, + lim: test.fields.lim, + dur: test.fields.dur, + sdur: test.fields.sdur, + minLit: test.fields.minLit, + maxLit: test.fields.maxLit, + litFactor: test.fields.litFactor, + enableProactiveGC: test.fields.enableProactiveGC, + enableCopyOnWrite: test.fields.enableCopyOnWrite, + path: test.fields.path, + tmpPath: test.fields.tmpPath, + oldPath: test.fields.oldPath, + basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, + backupGen: test.fields.backupGen, + poolSize: test.fields.poolSize, + radius: test.fields.radius, + epsilon: test.fields.epsilon, + idelay: test.fields.idelay, + dcd: test.fields.dcd, + kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, + } + + err := n.prepareFolders(test.args.ctx) + if err := checkFunc(test.want, err); err != nil { + tt.Errorf("error = %v", err) + } + }) + } +} + func Test_ngt_load(t *testing.T) { type args struct { ctx context.Context @@ -1123,6 +1445,341 @@ func Test_ngt_load(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string + backupGen uint64 + poolSize uint32 + radius float32 + epsilon float32 + idelay time.Duration + dcd bool + kvsdbConcurrency int + historyLimit int + } + type want struct { + err error + } + type test struct { + name string + args args + fields fields + want want + checkFunc func(want, error) error + beforeFunc func(*testing.T, args) + afterFunc func(*testing.T, args) + } + defaultCheckFunc := func(w want, err error) error { + if !errors.Is(err, w.err) { + return errors.Errorf("got_error: \"%#v\",\n\t\t\t\twant: \"%#v\"", err, w.err) + } + return nil + } + tests := []test{ + // TODO test cases + /* + { + name: "test_case_1", + args: args { + ctx:nil, + path:"", + opts:nil, + }, + fields: fields { + core:nil, + eg:nil, + kvs:nil, + fmap:nil, + vq:nil, + indexing:nil, + saving:nil, + lastNocie:0, + nocie:0, + nogce:0, + wfci:0, + inMem:false, + dim:0, + alen:0, + lim:nil, + dur:nil, + sdur:nil, + minLit:nil, + maxLit:nil, + litFactor:nil, + enableProactiveGC:false, + enableCopyOnWrite:false, + path:"", + tmpPath:nil, + oldPath:"", + basePath:"", + brokenPath:"", + backupGen:0, + poolSize:0, + radius:0, + epsilon:0, + idelay:nil, + dcd:false, + kvsdbConcurrency:0, + historyLimit:0, + }, + want: want{}, + checkFunc: defaultCheckFunc, + beforeFunc: func(t *testing.T, args args) { + t.Helper() + }, + afterFunc: func(t *testing.T, args args) { + t.Helper() + }, + }, + */ + + // TODO test cases + /* + func() test { + return test { + name: "test_case_2", + args: args { + ctx:nil, + path:"", + opts:nil, + }, + fields: fields { + core:nil, + eg:nil, + kvs:nil, + fmap:nil, + vq:nil, + indexing:nil, + saving:nil, + lastNocie:0, + nocie:0, + nogce:0, + wfci:0, + inMem:false, + dim:0, + alen:0, + lim:nil, + dur:nil, + sdur:nil, + minLit:nil, + maxLit:nil, + litFactor:nil, + enableProactiveGC:false, + enableCopyOnWrite:false, + path:"", + tmpPath:nil, + oldPath:"", + basePath:"", + brokenPath:"", + backupGen:0, + poolSize:0, + radius:0, + epsilon:0, + idelay:nil, + dcd:false, + kvsdbConcurrency:0, + historyLimit:0, + }, + want: want{}, + checkFunc: defaultCheckFunc, + beforeFunc: func(t *testing.T, args args) { + t.Helper() + }, + afterFunc: func(t *testing.T, args args) { + t.Helper() + }, + } + }(), + */ + } + + for _, tc := range tests { + test := tc + t.Run(test.name, func(tt *testing.T) { + tt.Parallel() + defer goleak.VerifyNone(tt, goleak.IgnoreCurrent()) + if test.beforeFunc != nil { + test.beforeFunc(tt, test.args) + } + if test.afterFunc != nil { + defer test.afterFunc(tt, test.args) + } + checkFunc := test.checkFunc + if test.checkFunc == nil { + checkFunc = defaultCheckFunc + } + n := &ngt{ + core: test.fields.core, + eg: test.fields.eg, + kvs: test.fields.kvs, + fmap: test.fields.fmap, + vq: test.fields.vq, + indexing: test.fields.indexing, + saving: test.fields.saving, + lastNocie: test.fields.lastNocie, + nocie: test.fields.nocie, + nogce: test.fields.nogce, + wfci: test.fields.wfci, + inMem: test.fields.inMem, + dim: test.fields.dim, + alen: test.fields.alen, + lim: test.fields.lim, + dur: test.fields.dur, + sdur: test.fields.sdur, + minLit: test.fields.minLit, + maxLit: test.fields.maxLit, + litFactor: test.fields.litFactor, + enableProactiveGC: test.fields.enableProactiveGC, + enableCopyOnWrite: test.fields.enableCopyOnWrite, + path: test.fields.path, + tmpPath: test.fields.tmpPath, + oldPath: test.fields.oldPath, + basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, + backupGen: test.fields.backupGen, + poolSize: test.fields.poolSize, + radius: test.fields.radius, + epsilon: test.fields.epsilon, + idelay: test.fields.idelay, + dcd: test.fields.dcd, + kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, + } + + err := n.load(test.args.ctx, test.args.path, test.args.opts...) + if err := checkFunc(test.want, err); err != nil { + tt.Errorf("error = %v", err) + } + }) + } +} + +func Test_backupBroken(t *testing.T) { + type args struct { + ctx context.Context + originPath string + brokenDir string + limit int + } + type want struct { + err error + } + type test struct { + name string + args args + want want + checkFunc func(want, error) error + beforeFunc func(*testing.T, args) + afterFunc func(*testing.T, args) + } + defaultCheckFunc := func(w want, err error) error { + if !errors.Is(err, w.err) { + return errors.Errorf("got_error: \"%#v\",\n\t\t\t\twant: \"%#v\"", err, w.err) + } + return nil + } + tests := []test{ + // TODO test cases + /* + { + name: "test_case_1", + args: args { + ctx:nil, + originPath:"", + brokenDir:"", + limit:0, + }, + want: want{}, + checkFunc: defaultCheckFunc, + beforeFunc: func(t *testing.T, args args) { + t.Helper() + }, + afterFunc: func(t *testing.T, args args) { + t.Helper() + }, + }, + */ + + // TODO test cases + /* + func() test { + return test { + name: "test_case_2", + args: args { + ctx:nil, + originPath:"", + brokenDir:"", + limit:0, + }, + want: want{}, + checkFunc: defaultCheckFunc, + beforeFunc: func(t *testing.T, args args) { + t.Helper() + }, + afterFunc: func(t *testing.T, args args) { + t.Helper() + }, + } + }(), + */ + } + + for _, tc := range tests { + test := tc + t.Run(test.name, func(tt *testing.T) { + tt.Parallel() + defer goleak.VerifyNone(tt, goleak.IgnoreCurrent()) + if test.beforeFunc != nil { + test.beforeFunc(tt, test.args) + } + if test.afterFunc != nil { + defer test.afterFunc(tt, test.args) + } + checkFunc := test.checkFunc + if test.checkFunc == nil { + checkFunc = defaultCheckFunc + } + + err := backupBroken(test.args.ctx, test.args.originPath, test.args.brokenDir, test.args.limit) + if err := checkFunc(test.want, err); err != nil { + tt.Errorf("error = %v", err) + } + }) + } +} + +func Test_ngt_rebuild(t *testing.T) { + type args struct { + ctx context.Context + path string + opts []core.Option + } + type fields struct { + core core.NGT + eg errgroup.Group + kvs kvs.BidiMap + fmap map[string]int64 + vq vqueue.Queue + indexing atomic.Value + saving atomic.Value + lastNocie uint64 + nocie uint64 + nogce uint64 + wfci uint64 + inMem bool + dim int + alen int + lim time.Duration + dur time.Duration + sdur time.Duration + minLit time.Duration + maxLit time.Duration + litFactor time.Duration + enableProactiveGC bool + enableCopyOnWrite bool + path string + tmpPath atomic.Value + oldPath string + basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -1130,6 +1787,7 @@ func Test_ngt_load(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { err error @@ -1186,6 +1844,7 @@ func Test_ngt_load(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -1193,6 +1852,7 @@ func Test_ngt_load(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -1242,6 +1902,7 @@ func Test_ngt_load(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -1249,6 +1910,7 @@ func Test_ngt_load(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -1305,6 +1967,7 @@ func Test_ngt_load(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -1312,9 +1975,10 @@ func Test_ngt_load(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } - err := n.load(test.args.ctx, test.args.path, test.args.opts...) + err := n.rebuild(test.args.ctx, test.args.path, test.args.opts...) if err := checkFunc(test.want, err); err != nil { tt.Errorf("error = %v", err) } @@ -1353,6 +2017,7 @@ func Test_ngt_initNGT(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -1360,6 +2025,7 @@ func Test_ngt_initNGT(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { err error @@ -1414,6 +2080,7 @@ func Test_ngt_initNGT(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -1421,6 +2088,7 @@ func Test_ngt_initNGT(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -1468,6 +2136,7 @@ func Test_ngt_initNGT(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -1475,6 +2144,7 @@ func Test_ngt_initNGT(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -1531,6 +2201,7 @@ func Test_ngt_initNGT(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -1538,6 +2209,7 @@ func Test_ngt_initNGT(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } err := n.initNGT(test.args.opts...) @@ -1581,6 +2253,7 @@ func Test_ngt_loadKVS(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -1588,6 +2261,7 @@ func Test_ngt_loadKVS(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { err error @@ -1644,6 +2318,7 @@ func Test_ngt_loadKVS(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -1651,6 +2326,7 @@ func Test_ngt_loadKVS(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -1700,6 +2376,7 @@ func Test_ngt_loadKVS(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -1707,6 +2384,7 @@ func Test_ngt_loadKVS(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -1763,6 +2441,7 @@ func Test_ngt_loadKVS(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -1770,6 +2449,7 @@ func Test_ngt_loadKVS(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } err := n.loadKVS(test.args.ctx, test.args.path, test.args.timeout) @@ -1811,6 +2491,7 @@ func Test_ngt_Start(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -1818,6 +2499,7 @@ func Test_ngt_Start(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { want <-chan error @@ -1872,6 +2554,7 @@ func Test_ngt_Start(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -1879,6 +2562,7 @@ func Test_ngt_Start(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -1926,6 +2610,7 @@ func Test_ngt_Start(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -1933,6 +2618,7 @@ func Test_ngt_Start(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -1989,6 +2675,7 @@ func Test_ngt_Start(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -1996,6 +2683,7 @@ func Test_ngt_Start(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } got := n.Start(test.args.ctx) @@ -2040,6 +2728,7 @@ func Test_ngt_Search(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -2047,6 +2736,7 @@ func Test_ngt_Search(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { want []model.Distance @@ -2108,6 +2798,7 @@ func Test_ngt_Search(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -2115,6 +2806,7 @@ func Test_ngt_Search(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -2165,6 +2857,7 @@ func Test_ngt_Search(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -2172,6 +2865,7 @@ func Test_ngt_Search(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -2228,6 +2922,7 @@ func Test_ngt_Search(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -2235,6 +2930,7 @@ func Test_ngt_Search(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } got, err := n.Search(test.args.vec, test.args.size, test.args.epsilon, test.args.radius) @@ -2279,6 +2975,7 @@ func Test_ngt_SearchByID(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -2286,6 +2983,7 @@ func Test_ngt_SearchByID(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { wantVec []float32 @@ -2351,6 +3049,7 @@ func Test_ngt_SearchByID(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -2358,6 +3057,7 @@ func Test_ngt_SearchByID(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -2408,6 +3108,7 @@ func Test_ngt_SearchByID(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -2415,6 +3116,7 @@ func Test_ngt_SearchByID(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -2471,6 +3173,7 @@ func Test_ngt_SearchByID(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -2478,6 +3181,7 @@ func Test_ngt_SearchByID(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } gotVec, gotDst, err := n.SearchByID(test.args.uuid, test.args.size, test.args.epsilon, test.args.radius) @@ -2520,6 +3224,7 @@ func Test_ngt_LinearSearch(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -2527,6 +3232,7 @@ func Test_ngt_LinearSearch(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { want []model.Distance @@ -2586,6 +3292,7 @@ func Test_ngt_LinearSearch(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -2593,6 +3300,7 @@ func Test_ngt_LinearSearch(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -2641,6 +3349,7 @@ func Test_ngt_LinearSearch(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -2648,6 +3357,7 @@ func Test_ngt_LinearSearch(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -2704,6 +3414,7 @@ func Test_ngt_LinearSearch(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -2711,6 +3422,7 @@ func Test_ngt_LinearSearch(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } got, err := n.LinearSearch(test.args.vec, test.args.size) @@ -2753,6 +3465,7 @@ func Test_ngt_LinearSearchByID(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -2760,6 +3473,7 @@ func Test_ngt_LinearSearchByID(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { wantVec []float32 @@ -2823,6 +3537,7 @@ func Test_ngt_LinearSearchByID(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -2830,6 +3545,7 @@ func Test_ngt_LinearSearchByID(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -2878,6 +3594,7 @@ func Test_ngt_LinearSearchByID(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -2885,6 +3602,7 @@ func Test_ngt_LinearSearchByID(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -2941,6 +3659,7 @@ func Test_ngt_LinearSearchByID(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -2948,6 +3667,7 @@ func Test_ngt_LinearSearchByID(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } gotVec, gotDst, err := n.LinearSearchByID(test.args.uuid, test.args.size) @@ -2990,6 +3710,7 @@ func Test_ngt_Insert(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -2997,6 +3718,7 @@ func Test_ngt_Insert(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { err error @@ -3052,6 +3774,7 @@ func Test_ngt_Insert(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -3059,6 +3782,7 @@ func Test_ngt_Insert(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -3107,6 +3831,7 @@ func Test_ngt_Insert(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -3114,6 +3839,7 @@ func Test_ngt_Insert(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -3170,6 +3896,7 @@ func Test_ngt_Insert(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -3177,6 +3904,7 @@ func Test_ngt_Insert(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } err := n.Insert(test.args.uuid, test.args.vec) @@ -3220,6 +3948,7 @@ func Test_ngt_InsertWithTime(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -3227,6 +3956,7 @@ func Test_ngt_InsertWithTime(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { err error @@ -3283,6 +4013,7 @@ func Test_ngt_InsertWithTime(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -3290,6 +4021,7 @@ func Test_ngt_InsertWithTime(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -3339,6 +4071,7 @@ func Test_ngt_InsertWithTime(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -3346,6 +4079,7 @@ func Test_ngt_InsertWithTime(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -3402,6 +4136,7 @@ func Test_ngt_InsertWithTime(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -3409,6 +4144,7 @@ func Test_ngt_InsertWithTime(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } err := n.InsertWithTime(test.args.uuid, test.args.vec, test.args.t) @@ -3453,6 +4189,7 @@ func Test_ngt_insert(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -3460,6 +4197,7 @@ func Test_ngt_insert(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { err error @@ -3517,6 +4255,7 @@ func Test_ngt_insert(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -3524,6 +4263,7 @@ func Test_ngt_insert(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -3574,6 +4314,7 @@ func Test_ngt_insert(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -3581,6 +4322,7 @@ func Test_ngt_insert(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -3637,6 +4379,7 @@ func Test_ngt_insert(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -3644,6 +4387,7 @@ func Test_ngt_insert(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } err := n.insert(test.args.uuid, test.args.vec, test.args.t, test.args.validation) @@ -3685,6 +4429,7 @@ func Test_ngt_InsertMultiple(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -3692,6 +4437,7 @@ func Test_ngt_InsertMultiple(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { err error @@ -3746,6 +4492,7 @@ func Test_ngt_InsertMultiple(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -3753,6 +4500,7 @@ func Test_ngt_InsertMultiple(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -3800,6 +4548,7 @@ func Test_ngt_InsertMultiple(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -3807,6 +4556,7 @@ func Test_ngt_InsertMultiple(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -3863,6 +4613,7 @@ func Test_ngt_InsertMultiple(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -3870,6 +4621,7 @@ func Test_ngt_InsertMultiple(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } err := n.InsertMultiple(test.args.vecs) @@ -3912,6 +4664,7 @@ func Test_ngt_InsertMultipleWithTime(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -3919,6 +4672,7 @@ func Test_ngt_InsertMultipleWithTime(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { err error @@ -3974,6 +4728,7 @@ func Test_ngt_InsertMultipleWithTime(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -3981,6 +4736,7 @@ func Test_ngt_InsertMultipleWithTime(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -4029,6 +4785,7 @@ func Test_ngt_InsertMultipleWithTime(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -4036,6 +4793,7 @@ func Test_ngt_InsertMultipleWithTime(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -4092,6 +4850,7 @@ func Test_ngt_InsertMultipleWithTime(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -4099,6 +4858,7 @@ func Test_ngt_InsertMultipleWithTime(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } err := n.InsertMultipleWithTime(test.args.vecs, test.args.t) @@ -4142,6 +4902,7 @@ func Test_ngt_insertMultiple(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -4149,6 +4910,7 @@ func Test_ngt_insertMultiple(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { err error @@ -4205,6 +4967,7 @@ func Test_ngt_insertMultiple(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -4212,6 +4975,7 @@ func Test_ngt_insertMultiple(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -4261,6 +5025,7 @@ func Test_ngt_insertMultiple(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -4268,6 +5033,7 @@ func Test_ngt_insertMultiple(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -4324,6 +5090,7 @@ func Test_ngt_insertMultiple(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -4331,6 +5098,7 @@ func Test_ngt_insertMultiple(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } err := n.insertMultiple(test.args.vecs, test.args.now, test.args.validation) @@ -4373,6 +5141,7 @@ func Test_ngt_Update(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -4380,6 +5149,7 @@ func Test_ngt_Update(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { err error @@ -4435,6 +5205,7 @@ func Test_ngt_Update(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -4442,6 +5213,7 @@ func Test_ngt_Update(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -4490,6 +5262,7 @@ func Test_ngt_Update(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -4497,6 +5270,7 @@ func Test_ngt_Update(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -4553,6 +5327,7 @@ func Test_ngt_Update(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -4560,6 +5335,7 @@ func Test_ngt_Update(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } err := n.Update(test.args.uuid, test.args.vec) @@ -4603,6 +5379,7 @@ func Test_ngt_UpdateWithTime(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -4610,6 +5387,7 @@ func Test_ngt_UpdateWithTime(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { err error @@ -4666,6 +5444,7 @@ func Test_ngt_UpdateWithTime(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -4673,6 +5452,7 @@ func Test_ngt_UpdateWithTime(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -4722,6 +5502,7 @@ func Test_ngt_UpdateWithTime(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -4729,6 +5510,7 @@ func Test_ngt_UpdateWithTime(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -4785,6 +5567,7 @@ func Test_ngt_UpdateWithTime(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -4792,6 +5575,7 @@ func Test_ngt_UpdateWithTime(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } err := n.UpdateWithTime(test.args.uuid, test.args.vec, test.args.t) @@ -4835,6 +5619,7 @@ func Test_ngt_update(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -4842,6 +5627,7 @@ func Test_ngt_update(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { err error @@ -4898,6 +5684,7 @@ func Test_ngt_update(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -4905,6 +5692,7 @@ func Test_ngt_update(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -4954,6 +5742,7 @@ func Test_ngt_update(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -4961,6 +5750,7 @@ func Test_ngt_update(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -5017,6 +5807,7 @@ func Test_ngt_update(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -5024,6 +5815,7 @@ func Test_ngt_update(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } err := n.update(test.args.uuid, test.args.vec, test.args.t) @@ -5065,6 +5857,7 @@ func Test_ngt_UpdateMultiple(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -5072,6 +5865,7 @@ func Test_ngt_UpdateMultiple(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { err error @@ -5126,6 +5920,7 @@ func Test_ngt_UpdateMultiple(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -5133,6 +5928,7 @@ func Test_ngt_UpdateMultiple(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -5180,6 +5976,7 @@ func Test_ngt_UpdateMultiple(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -5187,6 +5984,7 @@ func Test_ngt_UpdateMultiple(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -5243,6 +6041,7 @@ func Test_ngt_UpdateMultiple(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -5250,6 +6049,7 @@ func Test_ngt_UpdateMultiple(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } err := n.UpdateMultiple(test.args.vecs) @@ -5292,6 +6092,7 @@ func Test_ngt_UpdateMultipleWithTime(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -5299,6 +6100,7 @@ func Test_ngt_UpdateMultipleWithTime(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { err error @@ -5354,6 +6156,7 @@ func Test_ngt_UpdateMultipleWithTime(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -5361,6 +6164,7 @@ func Test_ngt_UpdateMultipleWithTime(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -5409,6 +6213,7 @@ func Test_ngt_UpdateMultipleWithTime(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -5416,6 +6221,7 @@ func Test_ngt_UpdateMultipleWithTime(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -5472,6 +6278,7 @@ func Test_ngt_UpdateMultipleWithTime(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -5479,6 +6286,7 @@ func Test_ngt_UpdateMultipleWithTime(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } err := n.UpdateMultipleWithTime(test.args.vecs, test.args.t) @@ -5521,6 +6329,7 @@ func Test_ngt_updateMultiple(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -5528,6 +6337,7 @@ func Test_ngt_updateMultiple(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { err error @@ -5583,6 +6393,7 @@ func Test_ngt_updateMultiple(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -5590,6 +6401,7 @@ func Test_ngt_updateMultiple(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -5638,6 +6450,7 @@ func Test_ngt_updateMultiple(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -5645,6 +6458,7 @@ func Test_ngt_updateMultiple(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -5701,6 +6515,7 @@ func Test_ngt_updateMultiple(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -5708,6 +6523,7 @@ func Test_ngt_updateMultiple(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } err := n.updateMultiple(test.args.vecs, test.args.t) @@ -5749,6 +6565,7 @@ func Test_ngt_Delete(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -5756,6 +6573,7 @@ func Test_ngt_Delete(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { err error @@ -5810,6 +6628,7 @@ func Test_ngt_Delete(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -5817,6 +6636,7 @@ func Test_ngt_Delete(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -5864,6 +6684,7 @@ func Test_ngt_Delete(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -5871,6 +6692,7 @@ func Test_ngt_Delete(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -5927,6 +6749,7 @@ func Test_ngt_Delete(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -5934,6 +6757,7 @@ func Test_ngt_Delete(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } err := n.Delete(test.args.uuid) @@ -5976,6 +6800,7 @@ func Test_ngt_DeleteWithTime(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -5983,6 +6808,7 @@ func Test_ngt_DeleteWithTime(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { err error @@ -6038,6 +6864,7 @@ func Test_ngt_DeleteWithTime(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -6045,6 +6872,7 @@ func Test_ngt_DeleteWithTime(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -6093,6 +6921,7 @@ func Test_ngt_DeleteWithTime(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -6100,6 +6929,7 @@ func Test_ngt_DeleteWithTime(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -6156,6 +6986,7 @@ func Test_ngt_DeleteWithTime(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -6163,6 +6994,7 @@ func Test_ngt_DeleteWithTime(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } err := n.DeleteWithTime(test.args.uuid, test.args.t) @@ -6206,6 +7038,7 @@ func Test_ngt_delete(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -6213,6 +7046,7 @@ func Test_ngt_delete(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { err error @@ -6269,6 +7103,7 @@ func Test_ngt_delete(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -6276,6 +7111,7 @@ func Test_ngt_delete(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -6325,6 +7161,7 @@ func Test_ngt_delete(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -6332,6 +7169,7 @@ func Test_ngt_delete(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -6388,6 +7226,7 @@ func Test_ngt_delete(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -6395,6 +7234,7 @@ func Test_ngt_delete(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } err := n.delete(test.args.uuid, test.args.t, test.args.validation) @@ -6436,6 +7276,7 @@ func Test_ngt_DeleteMultiple(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -6443,6 +7284,7 @@ func Test_ngt_DeleteMultiple(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { err error @@ -6497,6 +7339,7 @@ func Test_ngt_DeleteMultiple(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -6504,6 +7347,7 @@ func Test_ngt_DeleteMultiple(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -6551,6 +7395,7 @@ func Test_ngt_DeleteMultiple(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -6558,6 +7403,7 @@ func Test_ngt_DeleteMultiple(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -6614,6 +7460,7 @@ func Test_ngt_DeleteMultiple(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -6621,6 +7468,7 @@ func Test_ngt_DeleteMultiple(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } err := n.DeleteMultiple(test.args.uuids...) @@ -6663,6 +7511,7 @@ func Test_ngt_DeleteMultipleWithTime(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -6670,6 +7519,7 @@ func Test_ngt_DeleteMultipleWithTime(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { err error @@ -6725,6 +7575,7 @@ func Test_ngt_DeleteMultipleWithTime(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -6732,6 +7583,7 @@ func Test_ngt_DeleteMultipleWithTime(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -6780,6 +7632,7 @@ func Test_ngt_DeleteMultipleWithTime(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -6787,6 +7640,7 @@ func Test_ngt_DeleteMultipleWithTime(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -6843,6 +7697,7 @@ func Test_ngt_DeleteMultipleWithTime(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -6850,6 +7705,7 @@ func Test_ngt_DeleteMultipleWithTime(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } err := n.DeleteMultipleWithTime(test.args.uuids, test.args.t) @@ -6893,6 +7749,7 @@ func Test_ngt_deleteMultiple(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -6900,6 +7757,7 @@ func Test_ngt_deleteMultiple(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { err error @@ -6956,6 +7814,7 @@ func Test_ngt_deleteMultiple(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -6963,6 +7822,7 @@ func Test_ngt_deleteMultiple(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -7012,6 +7872,7 @@ func Test_ngt_deleteMultiple(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -7019,6 +7880,7 @@ func Test_ngt_deleteMultiple(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -7075,6 +7937,7 @@ func Test_ngt_deleteMultiple(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -7082,6 +7945,7 @@ func Test_ngt_deleteMultiple(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } err := n.deleteMultiple(test.args.uuids, test.args.now, test.args.validation) @@ -7124,6 +7988,7 @@ func Test_ngt_CreateIndex(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -7131,6 +7996,7 @@ func Test_ngt_CreateIndex(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { err error @@ -7186,6 +8052,7 @@ func Test_ngt_CreateIndex(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -7193,6 +8060,7 @@ func Test_ngt_CreateIndex(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -7241,6 +8109,7 @@ func Test_ngt_CreateIndex(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -7248,6 +8117,7 @@ func Test_ngt_CreateIndex(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -7304,6 +8174,7 @@ func Test_ngt_CreateIndex(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -7311,6 +8182,7 @@ func Test_ngt_CreateIndex(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } err := n.CreateIndex(test.args.ctx, test.args.poolSize) @@ -7352,6 +8224,7 @@ func Test_ngt_removeInvalidIndex(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -7359,6 +8232,7 @@ func Test_ngt_removeInvalidIndex(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct{} type test struct { @@ -7408,6 +8282,7 @@ func Test_ngt_removeInvalidIndex(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -7415,6 +8290,7 @@ func Test_ngt_removeInvalidIndex(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -7462,6 +8338,7 @@ func Test_ngt_removeInvalidIndex(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -7469,6 +8346,7 @@ func Test_ngt_removeInvalidIndex(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -7525,6 +8403,7 @@ func Test_ngt_removeInvalidIndex(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -7532,6 +8411,7 @@ func Test_ngt_removeInvalidIndex(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } n.removeInvalidIndex(test.args.ctx) @@ -7573,6 +8453,7 @@ func Test_ngt_SaveIndex(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -7580,6 +8461,7 @@ func Test_ngt_SaveIndex(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { err error @@ -7634,6 +8516,7 @@ func Test_ngt_SaveIndex(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -7641,6 +8524,7 @@ func Test_ngt_SaveIndex(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -7688,6 +8572,7 @@ func Test_ngt_SaveIndex(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -7695,6 +8580,7 @@ func Test_ngt_SaveIndex(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -7751,6 +8637,7 @@ func Test_ngt_SaveIndex(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -7758,6 +8645,7 @@ func Test_ngt_SaveIndex(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } err := n.SaveIndex(test.args.ctx) @@ -7799,6 +8687,7 @@ func Test_ngt_saveIndex(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -7806,6 +8695,7 @@ func Test_ngt_saveIndex(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { err error @@ -7860,6 +8750,7 @@ func Test_ngt_saveIndex(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -7867,6 +8758,7 @@ func Test_ngt_saveIndex(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -7914,6 +8806,7 @@ func Test_ngt_saveIndex(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -7921,6 +8814,7 @@ func Test_ngt_saveIndex(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -7977,6 +8871,7 @@ func Test_ngt_saveIndex(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -7984,6 +8879,7 @@ func Test_ngt_saveIndex(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } err := n.saveIndex(test.args.ctx) @@ -8026,6 +8922,7 @@ func Test_ngt_CreateAndSaveIndex(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -8033,6 +8930,7 @@ func Test_ngt_CreateAndSaveIndex(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { err error @@ -8088,6 +8986,7 @@ func Test_ngt_CreateAndSaveIndex(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -8095,6 +8994,7 @@ func Test_ngt_CreateAndSaveIndex(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -8143,6 +9043,7 @@ func Test_ngt_CreateAndSaveIndex(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -8150,6 +9051,7 @@ func Test_ngt_CreateAndSaveIndex(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -8206,6 +9108,7 @@ func Test_ngt_CreateAndSaveIndex(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -8213,6 +9116,7 @@ func Test_ngt_CreateAndSaveIndex(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } err := n.CreateAndSaveIndex(test.args.ctx, test.args.poolSize) @@ -8254,6 +9158,7 @@ func Test_ngt_moveAndSwitchSavedData(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -8261,6 +9166,7 @@ func Test_ngt_moveAndSwitchSavedData(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { err error @@ -8315,6 +9221,7 @@ func Test_ngt_moveAndSwitchSavedData(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -8322,6 +9229,7 @@ func Test_ngt_moveAndSwitchSavedData(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -8369,6 +9277,7 @@ func Test_ngt_moveAndSwitchSavedData(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -8376,6 +9285,7 @@ func Test_ngt_moveAndSwitchSavedData(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -8432,6 +9342,7 @@ func Test_ngt_moveAndSwitchSavedData(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -8439,6 +9350,7 @@ func Test_ngt_moveAndSwitchSavedData(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } err := n.moveAndSwitchSavedData(test.args.ctx) @@ -8477,6 +9389,7 @@ func Test_ngt_mktmp(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -8484,6 +9397,7 @@ func Test_ngt_mktmp(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { err error @@ -8534,6 +9448,7 @@ func Test_ngt_mktmp(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -8541,6 +9456,7 @@ func Test_ngt_mktmp(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -8585,6 +9501,7 @@ func Test_ngt_mktmp(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -8592,6 +9509,7 @@ func Test_ngt_mktmp(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -8648,6 +9566,7 @@ func Test_ngt_mktmp(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -8655,6 +9574,7 @@ func Test_ngt_mktmp(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } err := n.mktmp() @@ -8696,6 +9616,7 @@ func Test_ngt_Exists(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -8703,6 +9624,7 @@ func Test_ngt_Exists(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { wantOid uint32 @@ -8761,6 +9683,7 @@ func Test_ngt_Exists(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -8768,6 +9691,7 @@ func Test_ngt_Exists(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -8815,6 +9739,7 @@ func Test_ngt_Exists(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -8822,6 +9747,7 @@ func Test_ngt_Exists(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -8878,6 +9804,7 @@ func Test_ngt_Exists(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -8885,6 +9812,7 @@ func Test_ngt_Exists(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } gotOid, gotOk := n.Exists(test.args.uuid) @@ -8926,6 +9854,7 @@ func Test_ngt_GetObject(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -8933,6 +9862,7 @@ func Test_ngt_GetObject(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { wantVec []float32 @@ -8991,6 +9921,7 @@ func Test_ngt_GetObject(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -8998,6 +9929,7 @@ func Test_ngt_GetObject(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -9045,6 +9977,7 @@ func Test_ngt_GetObject(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -9052,6 +9985,7 @@ func Test_ngt_GetObject(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -9108,6 +10042,7 @@ func Test_ngt_GetObject(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -9115,6 +10050,7 @@ func Test_ngt_GetObject(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } gotVec, err := n.GetObject(test.args.uuid) @@ -9157,6 +10093,7 @@ func Test_ngt_readyForUpdate(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -9164,6 +10101,7 @@ func Test_ngt_readyForUpdate(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { err error @@ -9219,6 +10157,7 @@ func Test_ngt_readyForUpdate(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -9226,6 +10165,7 @@ func Test_ngt_readyForUpdate(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -9274,6 +10214,7 @@ func Test_ngt_readyForUpdate(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -9281,6 +10222,7 @@ func Test_ngt_readyForUpdate(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -9337,6 +10279,7 @@ func Test_ngt_readyForUpdate(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -9344,6 +10287,7 @@ func Test_ngt_readyForUpdate(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } err := n.readyForUpdate(test.args.uuid, test.args.vec) @@ -9382,6 +10326,7 @@ func Test_ngt_IsSaving(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -9389,6 +10334,7 @@ func Test_ngt_IsSaving(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { want bool @@ -9439,6 +10385,7 @@ func Test_ngt_IsSaving(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -9446,6 +10393,7 @@ func Test_ngt_IsSaving(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -9490,6 +10438,7 @@ func Test_ngt_IsSaving(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -9497,6 +10446,7 @@ func Test_ngt_IsSaving(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -9553,6 +10503,7 @@ func Test_ngt_IsSaving(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -9560,6 +10511,7 @@ func Test_ngt_IsSaving(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } got := n.IsSaving() @@ -9598,6 +10550,7 @@ func Test_ngt_IsIndexing(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -9605,6 +10558,7 @@ func Test_ngt_IsIndexing(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { want bool @@ -9655,6 +10609,7 @@ func Test_ngt_IsIndexing(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -9662,6 +10617,7 @@ func Test_ngt_IsIndexing(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -9706,6 +10662,7 @@ func Test_ngt_IsIndexing(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -9713,6 +10670,7 @@ func Test_ngt_IsIndexing(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -9769,6 +10727,7 @@ func Test_ngt_IsIndexing(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -9776,6 +10735,7 @@ func Test_ngt_IsIndexing(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } got := n.IsIndexing() @@ -9817,6 +10777,7 @@ func Test_ngt_UUIDs(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -9824,6 +10785,7 @@ func Test_ngt_UUIDs(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { wantUuids []string @@ -9878,6 +10840,7 @@ func Test_ngt_UUIDs(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -9885,6 +10848,7 @@ func Test_ngt_UUIDs(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -9932,6 +10896,7 @@ func Test_ngt_UUIDs(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -9939,6 +10904,7 @@ func Test_ngt_UUIDs(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -9995,6 +10961,7 @@ func Test_ngt_UUIDs(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -10002,6 +10969,7 @@ func Test_ngt_UUIDs(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } gotUuids := n.UUIDs(test.args.ctx) @@ -10040,6 +11008,7 @@ func Test_ngt_NumberOfCreateIndexExecution(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -10047,6 +11016,7 @@ func Test_ngt_NumberOfCreateIndexExecution(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { want uint64 @@ -10097,6 +11067,7 @@ func Test_ngt_NumberOfCreateIndexExecution(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -10104,6 +11075,7 @@ func Test_ngt_NumberOfCreateIndexExecution(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -10148,6 +11120,7 @@ func Test_ngt_NumberOfCreateIndexExecution(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -10155,6 +11128,7 @@ func Test_ngt_NumberOfCreateIndexExecution(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -10211,6 +11185,7 @@ func Test_ngt_NumberOfCreateIndexExecution(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -10218,6 +11193,7 @@ func Test_ngt_NumberOfCreateIndexExecution(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } got := n.NumberOfCreateIndexExecution() @@ -10256,6 +11232,7 @@ func Test_ngt_NumberOfProactiveGCExecution(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -10263,6 +11240,7 @@ func Test_ngt_NumberOfProactiveGCExecution(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { want uint64 @@ -10313,6 +11291,7 @@ func Test_ngt_NumberOfProactiveGCExecution(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -10320,6 +11299,7 @@ func Test_ngt_NumberOfProactiveGCExecution(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -10364,6 +11344,7 @@ func Test_ngt_NumberOfProactiveGCExecution(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -10371,6 +11352,7 @@ func Test_ngt_NumberOfProactiveGCExecution(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -10427,6 +11409,7 @@ func Test_ngt_NumberOfProactiveGCExecution(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -10434,6 +11417,7 @@ func Test_ngt_NumberOfProactiveGCExecution(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } got := n.NumberOfProactiveGCExecution() @@ -10472,6 +11456,7 @@ func Test_ngt_gc(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -10479,6 +11464,7 @@ func Test_ngt_gc(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct{} type test struct { @@ -10524,6 +11510,7 @@ func Test_ngt_gc(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -10531,6 +11518,7 @@ func Test_ngt_gc(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -10575,6 +11563,7 @@ func Test_ngt_gc(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -10582,6 +11571,7 @@ func Test_ngt_gc(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -10638,6 +11628,7 @@ func Test_ngt_gc(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -10645,6 +11636,7 @@ func Test_ngt_gc(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } n.gc() @@ -10683,6 +11675,7 @@ func Test_ngt_Len(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -10690,6 +11683,7 @@ func Test_ngt_Len(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { want uint64 @@ -10740,6 +11734,7 @@ func Test_ngt_Len(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -10747,6 +11742,7 @@ func Test_ngt_Len(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -10791,6 +11787,7 @@ func Test_ngt_Len(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -10798,6 +11795,7 @@ func Test_ngt_Len(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -10854,6 +11852,7 @@ func Test_ngt_Len(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -10861,6 +11860,7 @@ func Test_ngt_Len(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } got := n.Len() @@ -10899,6 +11899,7 @@ func Test_ngt_InsertVQueueBufferLen(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -10906,6 +11907,7 @@ func Test_ngt_InsertVQueueBufferLen(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { want uint64 @@ -10956,6 +11958,7 @@ func Test_ngt_InsertVQueueBufferLen(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -10963,6 +11966,7 @@ func Test_ngt_InsertVQueueBufferLen(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -11007,6 +12011,7 @@ func Test_ngt_InsertVQueueBufferLen(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -11014,6 +12019,7 @@ func Test_ngt_InsertVQueueBufferLen(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -11070,6 +12076,7 @@ func Test_ngt_InsertVQueueBufferLen(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -11077,6 +12084,7 @@ func Test_ngt_InsertVQueueBufferLen(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } got := n.InsertVQueueBufferLen() @@ -11115,6 +12123,7 @@ func Test_ngt_DeleteVQueueBufferLen(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -11122,6 +12131,7 @@ func Test_ngt_DeleteVQueueBufferLen(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { want uint64 @@ -11172,6 +12182,7 @@ func Test_ngt_DeleteVQueueBufferLen(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -11179,6 +12190,7 @@ func Test_ngt_DeleteVQueueBufferLen(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -11223,6 +12235,7 @@ func Test_ngt_DeleteVQueueBufferLen(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -11230,6 +12243,7 @@ func Test_ngt_DeleteVQueueBufferLen(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -11286,6 +12300,7 @@ func Test_ngt_DeleteVQueueBufferLen(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -11293,6 +12308,7 @@ func Test_ngt_DeleteVQueueBufferLen(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } got := n.DeleteVQueueBufferLen() @@ -11331,6 +12347,7 @@ func Test_ngt_GetDimensionSize(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -11338,6 +12355,7 @@ func Test_ngt_GetDimensionSize(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { want int @@ -11388,6 +12406,7 @@ func Test_ngt_GetDimensionSize(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -11395,6 +12414,7 @@ func Test_ngt_GetDimensionSize(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -11439,6 +12459,7 @@ func Test_ngt_GetDimensionSize(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -11446,6 +12467,7 @@ func Test_ngt_GetDimensionSize(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -11502,6 +12524,7 @@ func Test_ngt_GetDimensionSize(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -11509,6 +12532,7 @@ func Test_ngt_GetDimensionSize(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } got := n.GetDimensionSize() @@ -11550,6 +12574,7 @@ func Test_ngt_Close(t *testing.T) { tmpPath atomic.Value oldPath string basePath string + brokenPath string backupGen uint64 poolSize uint32 radius float32 @@ -11557,6 +12582,7 @@ func Test_ngt_Close(t *testing.T) { idelay time.Duration dcd bool kvsdbConcurrency int + historyLimit int } type want struct { err error @@ -11611,6 +12637,7 @@ func Test_ngt_Close(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -11618,6 +12645,7 @@ func Test_ngt_Close(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -11665,6 +12693,7 @@ func Test_ngt_Close(t *testing.T) { tmpPath:nil, oldPath:"", basePath:"", + brokenPath:"", backupGen:0, poolSize:0, radius:0, @@ -11672,6 +12701,7 @@ func Test_ngt_Close(t *testing.T) { idelay:nil, dcd:false, kvsdbConcurrency:0, + historyLimit:0, }, want: want{}, checkFunc: defaultCheckFunc, @@ -11728,6 +12758,7 @@ func Test_ngt_Close(t *testing.T) { tmpPath: test.fields.tmpPath, oldPath: test.fields.oldPath, basePath: test.fields.basePath, + brokenPath: test.fields.brokenPath, backupGen: test.fields.backupGen, poolSize: test.fields.poolSize, radius: test.fields.radius, @@ -11735,6 +12766,7 @@ func Test_ngt_Close(t *testing.T) { idelay: test.fields.idelay, dcd: test.fields.dcd, kvsdbConcurrency: test.fields.kvsdbConcurrency, + historyLimit: test.fields.historyLimit, } err := n.Close(test.args.ctx) diff --git a/pkg/discoverer/k8s/handler/grpc/handler.go b/pkg/discoverer/k8s/handler/grpc/handler.go index 714714f01e..da5344bd89 100644 --- a/pkg/discoverer/k8s/handler/grpc/handler.go +++ b/pkg/discoverer/k8s/handler/grpc/handler.go @@ -26,7 +26,6 @@ import ( "github.com/vdaas/vald/internal/info" "github.com/vdaas/vald/internal/log" "github.com/vdaas/vald/internal/net/grpc/errdetails" - "github.com/vdaas/vald/internal/net/grpc/proto" "github.com/vdaas/vald/internal/net/grpc/status" "github.com/vdaas/vald/internal/observability/trace" "github.com/vdaas/vald/internal/singleflight" @@ -40,10 +39,11 @@ type DiscovererServer interface { } type server struct { - dsc service.Discoverer - group singleflight.Group - ip string - name string + dsc service.Discoverer + pgroup singleflight.Group[*payload.Info_Pods] // pod singleflight group + ngroup singleflight.Group[*payload.Info_Nodes] // node singleflight group + ip string + name string discoverer.UnimplementedDiscovererServer } @@ -64,7 +64,8 @@ func New(opts ...Option) (ds DiscovererServer, err error) { } } - s.group = singleflight.New() + s.pgroup = singleflight.New[*payload.Info_Pods]() + s.ngroup = singleflight.New[*payload.Info_Nodes]() return s, nil } @@ -80,7 +81,7 @@ func (s *server) Pods(ctx context.Context, req *payload.Discoverer_Request) (*pa } }() key := singleflightKey(podPrefix, req) - res, _, err := s.group.Do(ctx, key, func() (interface{}, error) { + res, _, err := s.pgroup.Do(ctx, key, func() (*payload.Info_Pods, error) { return s.dsc.GetPods(req) }) if err != nil { @@ -121,7 +122,7 @@ func (s *server) Pods(ctx context.Context, req *payload.Discoverer_Request) (*pa log.Warnf("Pods not found: %#v, error: %v", res, err) return nil, err } - cp := proto.Clone(res.(*payload.Info_Pods)) + cp := res.CloneVT() if cp == nil { err = status.WrapWithNotFound(fmt.Sprintf("Pods API request (name: %s, namespace: %s, node: %s) pods not found, cloned response is nil", req.GetName(), req.GetNamespace(), req.GetNode()), err, &errdetails.RequestInfo{ @@ -141,27 +142,7 @@ func (s *server) Pods(ctx context.Context, req *payload.Discoverer_Request) (*pa log.Warnf("Pods not found: %#v, error: %v", res, err) return nil, err } - in, ok := cp.(*payload.Info_Pods) - if in == nil || !ok { - err = status.WrapWithNotFound(fmt.Sprintf("Pods API request (name: %s, namespace: %s, node: %s) pods not found, cloned response is nil", req.GetName(), req.GetNamespace(), req.GetNode()), err, - &errdetails.RequestInfo{ - RequestId: key, - ServingData: errdetails.Serialize(req), - }, - &errdetails.ResourceInfo{ - ResourceType: errdetails.ValdGRPCResourceTypePrefix + "/discoverer.v1.Pods", - ResourceName: fmt.Sprintf("%s(%s)", s.name, s.ip), - }, - info.Get()) - if span != nil { - span.RecordError(err) - span.SetAttributes(trace.StatusCodeNotFound(err.Error())...) - span.SetStatus(trace.StatusError, err.Error()) - } - log.Warnf("Pods not found: %#v, error: %v", res, err) - return nil, err - } - return in, nil + return cp, nil } func (s *server) Nodes(ctx context.Context, req *payload.Discoverer_Request) (*payload.Info_Nodes, error) { @@ -173,7 +154,7 @@ func (s *server) Nodes(ctx context.Context, req *payload.Discoverer_Request) (*p }() key := singleflightKey(nodePrefix, req) - res, _, err := s.group.Do(ctx, key, func() (interface{}, error) { + res, _, err := s.ngroup.Do(ctx, key, func() (*payload.Info_Nodes, error) { return s.dsc.GetNodes(req) }) if err != nil { @@ -214,31 +195,8 @@ func (s *server) Nodes(ctx context.Context, req *payload.Discoverer_Request) (*p log.Warnf("Nodes not found: %#v, error: %v", res, err) return nil, err } - cp := proto.Clone(res.(*payload.Info_Nodes)) - if cp == nil { - err = status.WrapWithNotFound( - fmt.Sprintf("Nodes API request (name: %s, namespace: %s, node: %s) nodes not found, cloned response is nil", req.GetName(), req.GetNamespace(), req.GetNode()), - err, - &errdetails.RequestInfo{ - RequestId: key, - ServingData: errdetails.Serialize(req), - }, - &errdetails.ResourceInfo{ - ResourceType: errdetails.ValdGRPCResourceTypePrefix + "/discoverer.v1.Nodes", - ResourceName: fmt.Sprintf("%s(%s)", s.name, s.ip), - }, - info.Get(), - ) - if span != nil { - span.RecordError(err) - span.SetAttributes(trace.StatusCodeNotFound(err.Error())...) - span.SetStatus(trace.StatusError, err.Error()) - } - log.Warnf("Nodes not found: %#v, error: %v", res, err) - return nil, err - } - in, ok := cp.(*payload.Info_Nodes) - if in == nil || !ok { + cn := res.CloneVT() + if cn == nil { err = status.WrapWithNotFound( fmt.Sprintf("Nodes API request (name: %s, namespace: %s, node: %s) nodes not found, cloned response is nil", req.GetName(), req.GetNamespace(), req.GetNode()), err, @@ -260,7 +218,7 @@ func (s *server) Nodes(ctx context.Context, req *payload.Discoverer_Request) (*p log.Warnf("Nodes not found: %#v, error: %v", res, err) return nil, err } - return in, nil + return cn, nil } func singleflightKey(pref string, req *payload.Discoverer_Request) string { diff --git a/pkg/discoverer/k8s/handler/grpc/handler_test.go b/pkg/discoverer/k8s/handler/grpc/handler_test.go index 8f7a9a0c4f..e1795c9708 100644 --- a/pkg/discoverer/k8s/handler/grpc/handler_test.go +++ b/pkg/discoverer/k8s/handler/grpc/handler_test.go @@ -127,7 +127,8 @@ func Test_server_Start(t *testing.T) { } type fields struct { dsc service.Discoverer - group singleflight.Group + pgroup singleflight.Group[*payload.Info_Pods] + ngroup singleflight.Group[*payload.Info_Nodes] ip string name string UnimplementedDiscovererServer discoverer.UnimplementedDiscovererServer @@ -155,7 +156,8 @@ func Test_server_Start(t *testing.T) { }, fields: fields { dsc:nil, - group:nil, + pgroup:nil, + ngroup:nil, ip:"", name:"", UnimplementedDiscovererServer:nil, @@ -181,7 +183,8 @@ func Test_server_Start(t *testing.T) { }, fields: fields { dsc:nil, - group:nil, + pgroup:nil, + ngroup:nil, ip:"", name:"", UnimplementedDiscovererServer:nil, @@ -216,7 +219,8 @@ func Test_server_Start(t *testing.T) { } s := &server{ dsc: test.fields.dsc, - group: test.fields.group, + pgroup: test.fields.pgroup, + ngroup: test.fields.ngroup, ip: test.fields.ip, name: test.fields.name, UnimplementedDiscovererServer: test.fields.UnimplementedDiscovererServer, @@ -237,7 +241,8 @@ func Test_server_Pods(t *testing.T) { } type fields struct { dsc service.Discoverer - group singleflight.Group + pgroup singleflight.Group[*payload.Info_Pods] + ngroup singleflight.Group[*payload.Info_Nodes] ip string name string UnimplementedDiscovererServer discoverer.UnimplementedDiscovererServer @@ -275,7 +280,8 @@ func Test_server_Pods(t *testing.T) { }, fields: fields { dsc:nil, - group:nil, + pgroup:nil, + ngroup:nil, ip:"", name:"", UnimplementedDiscovererServer:nil, @@ -302,7 +308,8 @@ func Test_server_Pods(t *testing.T) { }, fields: fields { dsc:nil, - group:nil, + pgroup:nil, + ngroup:nil, ip:"", name:"", UnimplementedDiscovererServer:nil, @@ -337,7 +344,8 @@ func Test_server_Pods(t *testing.T) { } s := &server{ dsc: test.fields.dsc, - group: test.fields.group, + pgroup: test.fields.pgroup, + ngroup: test.fields.ngroup, ip: test.fields.ip, name: test.fields.name, UnimplementedDiscovererServer: test.fields.UnimplementedDiscovererServer, @@ -358,7 +366,8 @@ func Test_server_Nodes(t *testing.T) { } type fields struct { dsc service.Discoverer - group singleflight.Group + pgroup singleflight.Group[*payload.Info_Pods] + ngroup singleflight.Group[*payload.Info_Nodes] ip string name string UnimplementedDiscovererServer discoverer.UnimplementedDiscovererServer @@ -396,7 +405,8 @@ func Test_server_Nodes(t *testing.T) { }, fields: fields { dsc:nil, - group:nil, + pgroup:nil, + ngroup:nil, ip:"", name:"", UnimplementedDiscovererServer:nil, @@ -423,7 +433,8 @@ func Test_server_Nodes(t *testing.T) { }, fields: fields { dsc:nil, - group:nil, + pgroup:nil, + ngroup:nil, ip:"", name:"", UnimplementedDiscovererServer:nil, @@ -458,7 +469,8 @@ func Test_server_Nodes(t *testing.T) { } s := &server{ dsc: test.fields.dsc, - group: test.fields.group, + pgroup: test.fields.pgroup, + ngroup: test.fields.ngroup, ip: test.fields.ip, name: test.fields.name, UnimplementedDiscovererServer: test.fields.UnimplementedDiscovererServer, diff --git a/versions/TELEPRESENCE_VERSION b/versions/TELEPRESENCE_VERSION index 9a63a05e1a..882cbab0f3 100644 --- a/versions/TELEPRESENCE_VERSION +++ b/versions/TELEPRESENCE_VERSION @@ -1 +1 @@ -2.14.0-rc.9 +2.14.0-rc.12 diff --git a/versions/VALDCLI_VERSION b/versions/VALDCLI_VERSION index 535cc4dda6..12751ca7b0 100644 --- a/versions/VALDCLI_VERSION +++ b/versions/VALDCLI_VERSION @@ -1 +1 @@ -v1.7.5 +v1.7.6