org.apache.thrift.server
Class THsHaServer

java.lang.Object
  extended by org.apache.thrift.server.TServer
      extended by org.apache.thrift.server.AbstractNonblockingServer
          extended by org.apache.thrift.server.TNonblockingServer
              extended by org.apache.thrift.server.THsHaServer

public class THsHaServer
extends TNonblockingServer

An extension of the TNonblockingServer to a Half-Sync/Half-Async server. Like TNonblockingServer, it relies on the use of TFramedTransport.


Nested Class Summary
static class THsHaServer.Args
           
 
Nested classes/interfaces inherited from class org.apache.thrift.server.TNonblockingServer
TNonblockingServer.SelectAcceptThread
 
Nested classes/interfaces inherited from class org.apache.thrift.server.AbstractNonblockingServer
AbstractNonblockingServer.AbstractNonblockingServerArgs<T extends AbstractNonblockingServer.AbstractNonblockingServerArgs<T>>, AbstractNonblockingServer.AbstractSelectThread, AbstractNonblockingServer.FrameBuffer
 
Nested classes/interfaces inherited from class org.apache.thrift.server.TServer
TServer.AbstractServerArgs<T extends TServer.AbstractServerArgs<T>>
 
Field Summary
 
Fields inherited from class org.apache.thrift.server.AbstractNonblockingServer
LOGGER
 
Fields inherited from class org.apache.thrift.server.TServer
eventHandler_, inputProtocolFactory_, inputTransportFactory_, outputProtocolFactory_, outputTransportFactory_, processorFactory_, serverTransport_
 
Constructor Summary
THsHaServer(THsHaServer.Args args)
          Create the server with the specified Args configuration
 
Method Summary
protected static java.util.concurrent.ExecutorService createInvokerPool(THsHaServer.Args options)
          Helper to create an invoker pool
protected  java.lang.Runnable getRunnable(AbstractNonblockingServer.FrameBuffer frameBuffer)
           
protected  void gracefullyShutdownInvokerPool()
           
protected  boolean requestInvoke(AbstractNonblockingServer.FrameBuffer frameBuffer)
          We override the standard invoke method here to queue the invocation for invoker service instead of immediately invoking.
protected  void waitForShutdown()
          A method that will block until when threads handling the serving have been shut down.
 
Methods inherited from class org.apache.thrift.server.TNonblockingServer
isStopped, joinSelector, startThreads, stop
 
Methods inherited from class org.apache.thrift.server.AbstractNonblockingServer
getEventHandler, serve, setServerEventHandler, startListening, stopListening
 
Methods inherited from class org.apache.thrift.server.TServer
isServing, setServing
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

THsHaServer

public THsHaServer(THsHaServer.Args args)
Create the server with the specified Args configuration

Method Detail

waitForShutdown

protected void waitForShutdown()
Description copied from class: AbstractNonblockingServer
A method that will block until when threads handling the serving have been shut down.

Overrides:
waitForShutdown in class TNonblockingServer

createInvokerPool

protected static java.util.concurrent.ExecutorService createInvokerPool(THsHaServer.Args options)
Helper to create an invoker pool


gracefullyShutdownInvokerPool

protected void gracefullyShutdownInvokerPool()

requestInvoke

protected boolean requestInvoke(AbstractNonblockingServer.FrameBuffer frameBuffer)
We override the standard invoke method here to queue the invocation for invoker service instead of immediately invoking. The thread pool takes care of the rest.

Overrides:
requestInvoke in class TNonblockingServer
Returns:
true if invocation was successfully requested, which is not a guarantee that invocation has completed. False if the request failed.

getRunnable

protected java.lang.Runnable getRunnable(AbstractNonblockingServer.FrameBuffer frameBuffer)