THRIFT-2173 Move FrameBuffer creation to a factory method for cusomization
Client: Java
Patch: Eric Newton
diff --git a/lib/java/src/org/apache/thrift/server/TNonblockingServer.java b/lib/java/src/org/apache/thrift/server/TNonblockingServer.java
index 3fc8672..10a8eba 100644
--- a/lib/java/src/org/apache/thrift/server/TNonblockingServer.java
+++ b/lib/java/src/org/apache/thrift/server/TNonblockingServer.java
@@ -217,6 +217,14 @@
}
}
+ protected FrameBuffer createFrameBuffer(final TNonblockingTransport trans,
+ final SelectionKey selectionKey,
+ final AbstractSelectThread selectThread) {
+ return processorFactory_.isAsyncProcessor() ?
+ new AsyncFrameBuffer(trans, selectionKey, selectThread) :
+ new FrameBuffer(trans, selectionKey, selectThread);
+ }
+
/**
* Accept a new connection.
*/
@@ -229,9 +237,7 @@
clientKey = client.registerSelector(selector, SelectionKey.OP_READ);
// add this key to the map
- FrameBuffer frameBuffer = processorFactory_.isAsyncProcessor() ?
- new AsyncFrameBuffer(client, clientKey,SelectAcceptThread.this) :
- new FrameBuffer(client, clientKey,SelectAcceptThread.this);
+ FrameBuffer frameBuffer = createFrameBuffer(client, clientKey, SelectAcceptThread.this);
clientKey.attach(frameBuffer);
} catch (TTransportException tte) {
diff --git a/lib/java/src/org/apache/thrift/server/TThreadedSelectorServer.java b/lib/java/src/org/apache/thrift/server/TThreadedSelectorServer.java
index 16445e5..9eb9f90 100644
--- a/lib/java/src/org/apache/thrift/server/TThreadedSelectorServer.java
+++ b/lib/java/src/org/apache/thrift/server/TThreadedSelectorServer.java
@@ -611,14 +611,20 @@
}
}
+ protected FrameBuffer createFrameBuffer(final TNonblockingTransport trans,
+ final SelectionKey selectionKey,
+ final AbstractSelectThread selectThread) {
+ return processorFactory_.isAsyncProcessor() ?
+ new AsyncFrameBuffer(trans, selectionKey, selectThread) :
+ new FrameBuffer(trans, selectionKey, selectThread);
+ }
+
private void registerAccepted(TNonblockingTransport accepted) {
SelectionKey clientKey = null;
try {
clientKey = accepted.registerSelector(selector, SelectionKey.OP_READ);
- FrameBuffer frameBuffer = processorFactory_.isAsyncProcessor() ?
- new AsyncFrameBuffer(accepted, clientKey, SelectorThread.this) :
- new FrameBuffer(accepted, clientKey, SelectorThread.this);
+ FrameBuffer frameBuffer = createFrameBuffer(accepted, clientKey, SelectorThread.this);
clientKey.attach(frameBuffer);
} catch (IOException e) {