(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{596:function(e,t,i){"use strict";i.r(t);var r=i(71),a=Object(r.a)({},(function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[i("h2",{attrs:{id:"rpc-definition-file"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#rpc-definition-file"}},[e._v("#")]),e._v(" Rpc definition file")]),e._v(" "),i("p",[e._v("We use thrift rpc between client and server, the definition file is :")]),e._v(" "),i("p",[e._v("service-rpc/src/main/thrift/rpc.thrift")]),e._v(" "),i("p",[e._v("You can add struct and corresponding method in TSIService (service)")]),e._v(" "),i("h2",{attrs:{id:"code-generation"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#code-generation"}},[e._v("#")]),e._v(" Code generation")]),e._v(" "),i("div",{staticClass:"language- line-numbers-mode"},[i("pre",{pre:!0,attrs:{class:"language-text"}},[i("code",[e._v("mvn clean compile -pl service-rpc -am -DskipTests\n")])]),e._v(" "),i("div",{staticClass:"line-numbers-wrapper"},[i("span",{staticClass:"line-number"},[e._v("1")]),i("br")])]),i("p",[e._v("Generated codes:")]),e._v(" "),i("p",[e._v("service-rpc/target/generated-sources/thrift/org/apache/iotdb/service/rpc/thrift")]),e._v(" "),i("h2",{attrs:{id:"implement-the-new-interface"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#implement-the-new-interface"}},[e._v("#")]),e._v(" Implement the new interface")]),e._v(" "),i("p",[e._v("java client is in Session:")]),e._v(" "),i("p",[e._v("session/src/main/java/org/apache/iotdb/session/Session.java")]),e._v(" "),i("p",[e._v("Rpc service implementation is:")]),e._v(" "),i("p",[e._v("server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java")])])}),[],!1,null,null,null);t.default=a.exports}}]);