This is an automated email from the ASF dual-hosted git repository. qiaojialin pushed a commit to branch add_rpc_doc in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
commit bbd7856224ee38e8abe0cca0d27ca8bb3a1ed44e Author: qiaojialin <[email protected]> AuthorDate: Sat May 23 11:01:34 2020 +0800 add client doc --- docs/SystemDesign/8-Client/1-RPC.md | 50 ++++++++++++++++++++++++++++++++++ docs/zh/SystemDesign/8-Client/1-RPC.md | 50 ++++++++++++++++++++++++++++++++++ site/src/main/.vuepress/config.js | 12 ++++++++ 3 files changed, 112 insertions(+) diff --git a/docs/SystemDesign/8-Client/1-RPC.md b/docs/SystemDesign/8-Client/1-RPC.md new file mode 100644 index 0000000..68f45ea --- /dev/null +++ b/docs/SystemDesign/8-Client/1-RPC.md @@ -0,0 +1,50 @@ +<!-- + + 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. + +--> + +## Rpc definition file + +We use thrift rpc between client and server, the definition file is : + +service-rpc/src/main/thrift/rpc.thrift + +You can add struct and corresponding method in TSIService (service) + +## Code generation + +``` +mvn clean compile -pl service-rpc -am -DskipTests +``` + +Generated codes: + +service-rpc/target/generated-sources/thrift/org/apache/iotdb/service/rpc/thrift + +## Implement the new interface + +java client is in Session: + +session/src/main/java/org/apache/iotdb/session/Session.java + +Rpc service implementation is: + +server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java + + diff --git a/docs/zh/SystemDesign/8-Client/1-RPC.md b/docs/zh/SystemDesign/8-Client/1-RPC.md new file mode 100644 index 0000000..5a63894 --- /dev/null +++ b/docs/zh/SystemDesign/8-Client/1-RPC.md @@ -0,0 +1,50 @@ +<!-- + + 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. + +--> + +## 增加 RPC 方法 + +我们使用 Thrift Rpc 框架, thrift 定义文件目录: + +service-rpc/src/main/thrift/rpc.thrift + +可按需增加 struct 结构,并在 service TSIService 中增加对应方法 + +## 生成代码 + +``` +mvn clean compile -pl service-rpc -am -DskipTests +``` + +生成代码位置: + +service-rpc/target/generated-sources/thrift/org/apache/iotdb/service/rpc/thrift + +## 实现新接口 + +java 客户端在 Session 类中 + +session/src/main/java/org/apache/iotdb/session/Session.java + +服务器端代码在 + +server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java + + diff --git a/site/src/main/.vuepress/config.js b/site/src/main/.vuepress/config.js index 24a104b..ba279ca 100644 --- a/site/src/main/.vuepress/config.js +++ b/site/src/main/.vuepress/config.js @@ -470,6 +470,12 @@ var config = { ['7-Connector/4-Spark-IOTDB','Spark-IOTDB'] ] }, + { + title: '8-Client', + children: [ + ['8-Client/1-RPC','RPC'] + ] + }, ], } }, @@ -885,6 +891,12 @@ var config = { ['7-Connector/4-Spark-IOTDB','Spark-IOTDB'] ] }, + { + title: '8-客户端', + children: [ + ['8-Client/1-RPC','RPC'] + ] + }, ], } }
