org.apache.cassandra.thrift

## Class THsHaDisruptorServer

- java.lang.Object
- - org.apache.thrift.server.TServer
  - - org.apache.thrift.server.AbstractNonblockingServer
    - - org.apache.thrift.server.TNonblockingServer
      - - com.thinkaurelius.thrift.TDisruptorServer
        - - org.apache.cassandra.thrift.THsHaDisruptorServer

All Implemented Interfaces:
  com.thinkaurelius.thrift.TDisruptorServerMBean

    public class THsHaDisruptorServer
    extends com.thinkaurelius.thrift.TDisruptorServer

### Nested Class Summary

Nested Classes
`static class` `THsHaDisruptorServer.Factory`

### Nested classes/interfaces inherited from class com.thinkaurelius.thrift.TDisruptorServer

`com.thinkaurelius.thrift.TDisruptorServer.AbstractSelectorThread, com.thinkaurelius.thrift.TDisruptorServer.AcceptorThread, com.thinkaurelius.thrift.TDisruptorServer.Args, com.thinkaurelius.thrift.TDisruptorServer.InvocationHandler, com.thinkaurelius.thrift.TDisruptorServer.RandomSelectorLoadBalancer, com.thinkaurelius.thrift.TDisruptorServer.SelectorLoadBalancer, com.thinkaurelius.thrift.TDisruptorServer.SelectorThread`

### Nested classes/interfaces inherited from class org.apache.thrift.server.TNonblockingServer

`org.apache.thrift.server.TNonblockingServer.SelectAcceptThread`

### Nested classes/interfaces inherited from class org.apache.thrift.server.AbstractNonblockingServer

`org.apache.thrift.server.AbstractNonblockingServer.AbstractNonblockingServerArgs<T extends org.apache.thrift.server.AbstractNonblockingServer.AbstractNonblockingServerArgs<T>>, org.apache.thrift.server.AbstractNonblockingServer.AbstractSelectThread, org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer, org.apache.thrift.server.AbstractNonblockingServer.FrameBuffer`

### Nested classes/interfaces inherited from class org.apache.thrift.server.TServer

`org.apache.thrift.server.TServer.AbstractServerArgs<T extends org.apache.thrift.server.TServer.AbstractServerArgs<T>>`

### Field Summary

### Fields inherited from class com.thinkaurelius.thrift.TDisruptorServer

`MBEAN_NAME`

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

Constructors
Constructor and Description
`THsHaDisruptorServer(com.thinkaurelius.thrift.TDisruptorServer.Args args)` All the arguments to Non Blocking Server will apply here.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `beforeClose(com.thinkaurelius.thrift.Message buffer)`
`protected void` `beforeInvoke(com.thinkaurelius.thrift.Message buffer)`

### Methods inherited from class com.thinkaurelius.thrift.TDisruptorServer

`getNumberOfSelectors, getRingBufferSize, gracefullyShutdownInvokerPool, isHeapBasedAllocationUsed, isStopped, joinSelector, requestInvoke, startThreads, stop, useHeapBasedAllocation, waitForShutdown`

### Methods inherited from class org.apache.thrift.server.AbstractNonblockingServer

`serve, startListening, stopListening`

### Methods inherited from class org.apache.thrift.server.TServer

`getEventHandler, isServing, setServerEventHandler, setServing`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### THsHaDisruptorServer

    public THsHaDisruptorServer(com.thinkaurelius.thrift.TDisruptorServer.Args args)

All the arguments to Non Blocking Server will apply here. In addition, executor pool will be responsible for creating the internal threads which will process the data. threads for selection usually are equal to the number of cpu's

### Method Detail

#### beforeInvoke

    protected void beforeInvoke(com.thinkaurelius.thrift.Message buffer)

Specified by:
  `beforeInvoke` in class `com.thinkaurelius.thrift.TDisruptorServer`

#### beforeClose

    public void beforeClose(com.thinkaurelius.thrift.Message buffer)

Overrides:
  `beforeClose` in class `com.thinkaurelius.thrift.TDisruptorServer`