Package org.apache.thrift.server
Class AbstractNonblockingServer
java.lang.Object
org.apache.thrift.server.TServer
org.apache.thrift.server.AbstractNonblockingServer
- Direct Known Subclasses:
TNonblockingServer
,TThreadedSelectorServer
Provides common methods and classes used by nonblocking TServer implementations.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
AbstractNonblockingServer.AbstractNonblockingServerArgs<T extends AbstractNonblockingServer.AbstractNonblockingServerArgs<T>>
protected class
An abstract thread that handles selecting on a set of transports andFrameBuffers
associated with selected keys corresponding to requests.class
class
Class that implements a sort of state machine around the interaction with a client and an invoker.Nested classes/interfaces inherited from class org.apache.thrift.server.TServer
TServer.AbstractServerArgs<T extends TServer.AbstractServerArgs<T>>, TServer.Args
-
Field Summary
FieldsFields inherited from class org.apache.thrift.server.TServer
eventHandler_, inputProtocolFactory_, inputTransportFactory_, outputProtocolFactory_, outputTransportFactory_, processorFactory_, serverTransport_, stopped_
-
Constructor Summary
ConstructorsConstructorDescription -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract boolean
requestInvoke
(AbstractNonblockingServer.FrameBuffer frameBuffer) Perform an invocation.void
serve()
Begin accepting connections and processing invocations.protected boolean
Have the server transport start accepting connections.protected abstract boolean
Starts any threads required for serving.protected void
Stop listening for connections.protected abstract void
A method that will block until when threads handling the serving have been shut down.Methods inherited from class org.apache.thrift.server.TServer
getEventHandler, getShouldStop, isServing, setServerEventHandler, setServing, setShouldStop, stop
-
Field Details
-
LOGGER
protected final org.slf4j.Logger LOGGER
-
-
Constructor Details
-
AbstractNonblockingServer
-
-
Method Details
-
serve
public void serve()Begin accepting connections and processing invocations. -
startThreads
protected abstract boolean startThreads()Starts any threads required for serving.- Returns:
- true if everything went ok, false if threads could not be started.
-
waitForShutdown
protected abstract void waitForShutdown()A method that will block until when threads handling the serving have been shut down. -
startListening
protected boolean startListening()Have the server transport start accepting connections.- Returns:
- true if we started listening successfully, false if something went wrong.
-
stopListening
protected void stopListening()Stop listening for connections. -
requestInvoke
Perform an invocation. This method could behave several different ways - invoke immediately inline, queue for separate execution, etc.- Returns:
- true if invocation was successfully requested, which is not a guarantee that invocation has completed. False if the request failed.
-