You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by hx...@apache.org on 2021/05/09 09:39:29 UTC

[iotdb] branch refactor_thrift_baseclass created (now a8b352a)

This is an automated email from the ASF dual-hosted git repository.

hxd pushed a change to branch refactor_thrift_baseclass
in repository https://gitbox.apache.org/repos/asf/iotdb.git.


      at a8b352a  add TServerEventHandlerAdaptor to reduce duplicate codes

This branch includes the following new commits:

     new a8b352a  add TServerEventHandlerAdaptor to reduce duplicate codes

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


[iotdb] 01/01: add TServerEventHandlerAdaptor to reduce duplicate codes

Posted by hx...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

hxd pushed a commit to branch refactor_thrift_baseclass
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit a8b352ac6a3ba4fb2c7e0c9e9e34f5baaf0d8da4
Author: xiangdong huang <sa...@gmail.com>
AuthorDate: Sun May 9 14:43:41 2021 +0800

    add TServerEventHandlerAdaptor to reduce duplicate codes
---
 .../iotdb/db/service/RPCServiceThriftHandler.java     | 19 ++-----------------
 .../thrift/TServerEventHandlerAdaptor.java}           | 19 +++++++++----------
 .../db/sync/receiver/SyncServerThriftHandler.java     | 19 ++-----------------
 3 files changed, 13 insertions(+), 44 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/service/RPCServiceThriftHandler.java b/server/src/main/java/org/apache/iotdb/db/service/RPCServiceThriftHandler.java
index b0f51bd..fffb6db 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/RPCServiceThriftHandler.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/RPCServiceThriftHandler.java
@@ -16,12 +16,13 @@
  */
 package org.apache.iotdb.db.service;
 
+import org.apache.iotdb.db.service.thrift.TServerEventHandlerAdaptor;
 import org.apache.thrift.protocol.TProtocol;
 import org.apache.thrift.server.ServerContext;
 import org.apache.thrift.server.TServerEventHandler;
 import org.apache.thrift.transport.TTransport;
 
-public class RPCServiceThriftHandler implements TServerEventHandler {
+public class RPCServiceThriftHandler extends TServerEventHandlerAdaptor {
   private TSServiceImpl serviceImpl;
 
   RPCServiceThriftHandler(TSServiceImpl serviceImpl) {
@@ -29,24 +30,8 @@ public class RPCServiceThriftHandler implements TServerEventHandler {
   }
 
   @Override
-  public ServerContext createContext(TProtocol arg0, TProtocol arg1) {
-    // nothing
-    return null;
-  }
-
-  @Override
   public void deleteContext(ServerContext arg0, TProtocol arg1, TProtocol arg2) {
     // release query resources.
     serviceImpl.handleClientExit();
   }
-
-  @Override
-  public void preServe() {
-    // nothing
-  }
-
-  @Override
-  public void processContext(ServerContext arg0, TTransport arg1, TTransport arg2) {
-    // nothing
-  }
 }
diff --git a/server/src/main/java/org/apache/iotdb/db/sync/receiver/SyncServerThriftHandler.java b/server/src/main/java/org/apache/iotdb/db/service/thrift/TServerEventHandlerAdaptor.java
similarity index 77%
copy from server/src/main/java/org/apache/iotdb/db/sync/receiver/SyncServerThriftHandler.java
copy to server/src/main/java/org/apache/iotdb/db/service/thrift/TServerEventHandlerAdaptor.java
index 3460182..2b6c1fb 100644
--- a/server/src/main/java/org/apache/iotdb/db/sync/receiver/SyncServerThriftHandler.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/thrift/TServerEventHandlerAdaptor.java
@@ -16,21 +16,21 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.iotdb.db.sync.receiver;
 
-import org.apache.iotdb.db.sync.receiver.transfer.SyncServiceImpl;
+package org.apache.iotdb.db.service.thrift;
 
 import org.apache.thrift.protocol.TProtocol;
 import org.apache.thrift.server.ServerContext;
 import org.apache.thrift.server.TServerEventHandler;
 import org.apache.thrift.transport.TTransport;
 
-public class SyncServerThriftHandler implements TServerEventHandler {
-  private SyncServiceImpl serviceImpl;
-
-  SyncServerThriftHandler(SyncServiceImpl serviceImpl) {
-    this.serviceImpl = serviceImpl;
-  }
+/**
+ * This class is an adaptor of TServerEventHandler.
+ * If you want to do some prepare work when a client connects to, then rewrite createContext().
+ * If you need to do some cleanup work after a client disconnects, then rewrite deleteContext().
+ *
+ */
+public class TServerEventHandlerAdaptor implements TServerEventHandler {
 
   @Override
   public ServerContext createContext(TProtocol arg0, TProtocol arg1) {
@@ -40,8 +40,7 @@ public class SyncServerThriftHandler implements TServerEventHandler {
 
   @Override
   public void deleteContext(ServerContext arg0, TProtocol arg1, TProtocol arg2) {
-    // release query resources.
-    serviceImpl.handleClientExit();
+    // release query resources or others
   }
 
   @Override
diff --git a/server/src/main/java/org/apache/iotdb/db/sync/receiver/SyncServerThriftHandler.java b/server/src/main/java/org/apache/iotdb/db/sync/receiver/SyncServerThriftHandler.java
index 3460182..31a00af 100644
--- a/server/src/main/java/org/apache/iotdb/db/sync/receiver/SyncServerThriftHandler.java
+++ b/server/src/main/java/org/apache/iotdb/db/sync/receiver/SyncServerThriftHandler.java
@@ -18,6 +18,7 @@
  */
 package org.apache.iotdb.db.sync.receiver;
 
+import org.apache.iotdb.db.service.thrift.TServerEventHandlerAdaptor;
 import org.apache.iotdb.db.sync.receiver.transfer.SyncServiceImpl;
 
 import org.apache.thrift.protocol.TProtocol;
@@ -25,7 +26,7 @@ import org.apache.thrift.server.ServerContext;
 import org.apache.thrift.server.TServerEventHandler;
 import org.apache.thrift.transport.TTransport;
 
-public class SyncServerThriftHandler implements TServerEventHandler {
+public class SyncServerThriftHandler extends TServerEventHandlerAdaptor {
   private SyncServiceImpl serviceImpl;
 
   SyncServerThriftHandler(SyncServiceImpl serviceImpl) {
@@ -33,24 +34,8 @@ public class SyncServerThriftHandler implements TServerEventHandler {
   }
 
   @Override
-  public ServerContext createContext(TProtocol arg0, TProtocol arg1) {
-    // nothing
-    return null;
-  }
-
-  @Override
   public void deleteContext(ServerContext arg0, TProtocol arg1, TProtocol arg2) {
     // release query resources.
     serviceImpl.handleClientExit();
   }
-
-  @Override
-  public void preServe() {
-    // nothing
-  }
-
-  @Override
-  public void processContext(ServerContext arg0, TTransport arg1, TTransport arg2) {
-    // nothing
-  }
 }