// Licensed to the Apache Software Foundation (ASF) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information // regarding copyright ownership. The ASF licenses this file // to you under the Apache License, Version 2.0 (the // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, // software distributed under the License is distributed on an // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. #pragma once #include #include #include #include #include #include #include #include #include #include #include #include "MilvusApi.h" #include "milvus.grpc.pb.h" //#include "status.grpc.pb.h" #include namespace milvus { class GrpcClient { public: explicit GrpcClient(std::shared_ptr<::grpc::Channel>& channel); virtual ~GrpcClient(); Status CreateTable(const grpc::TableSchema& table_schema); bool HasTable(const grpc::TableName& table_name, Status& status); Status DropTable(const grpc::TableName& table_name); Status CreateIndex(const grpc::IndexParam& index_param); void Insert(grpc::VectorIds& vector_ids, const grpc::InsertParam& insert_param, Status& status); Status Search(::milvus::grpc::TopKQueryResultList& topk_query_result_list, const grpc::SearchParam &search_param); Status DescribeTable(grpc::TableSchema& grpc_schema, const std::string& table_name); int64_t CountTable(const std::string& table_name, Status& status); Status ShowTables(milvus::grpc::TableNameList &table_name_list); Status Cmd(std::string &result, const std::string& cmd); Status DeleteByRange(grpc::DeleteByRangeParam &delete_by_range_param); Status PreloadTable(grpc::TableName &table_name); Status DescribeIndex(grpc::TableName &table_name, grpc::IndexParam &index_param); Status DropIndex(grpc::TableName &table_name); Status Disconnect(); private: std::unique_ptr stub_; }; }