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:30 UTC

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

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
-  }
 }