|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.thrift.server.TServer
org.apache.thrift.server.TNonblockingServer
public class TNonblockingServer
A nonblocking TServer implementation. This allows for fairness amongst all connected clients in terms of invocations. This server is inherently single-threaded. If you want a limited thread pool coupled with invocation-fairness, see THsHaServer. To use this server, you MUST use a TFramedTransport at the outermost transport, otherwise this server will be unable to determine when a whole method call has been read off the wire. Clients must also use TFramedTransport.
Nested Class Summary | |
---|---|
protected class |
TNonblockingServer.FrameBuffer
Class that implements a sort of state machine around the interaction with a client and an invoker. |
static class |
TNonblockingServer.Options
|
protected class |
TNonblockingServer.SelectThread
The thread that will be doing all the selecting, managing new connections and those that still need to be read. |
Field Summary | |
---|---|
protected TNonblockingServer.Options |
options_
|
Fields inherited from class org.apache.thrift.server.TServer |
---|
inputProtocolFactory_, inputTransportFactory_, outputProtocolFactory_, outputTransportFactory_, processorFactory_, serverTransport_ |
Constructor Summary | |
---|---|
TNonblockingServer(TProcessorFactory processorFactory,
TNonblockingServerTransport serverTransport)
Create server with specified processor factory and server transport. |
|
TNonblockingServer(TProcessorFactory processorFactory,
TNonblockingServerTransport serverTransport,
TFramedTransport.Factory transportFactory,
TProtocolFactory protocolFactory)
|
|
TNonblockingServer(TProcessorFactory processorFactory,
TNonblockingServerTransport serverTransport,
TFramedTransport.Factory outputTransportFactory,
TProtocolFactory inputProtocolFactory,
TProtocolFactory outputProtocolFactory)
|
|
TNonblockingServer(TProcessorFactory processorFactory,
TNonblockingServerTransport serverTransport,
TFramedTransport.Factory outputTransportFactory,
TProtocolFactory inputProtocolFactory,
TProtocolFactory outputProtocolFactory,
TNonblockingServer.Options options)
|
|
TNonblockingServer(TProcessor processor,
TNonblockingServerTransport serverTransport)
Create server with given processor and server transport, using TBinaryProtocol for the protocol, TFramedTransport.Factory on both input and output transports. |
|
TNonblockingServer(TProcessor processor,
TNonblockingServerTransport serverTransport,
TFramedTransport.Factory transportFactory,
TProtocolFactory protocolFactory)
|
|
TNonblockingServer(TProcessor processor,
TNonblockingServerTransport serverTransport,
TFramedTransport.Factory outputTransportFactory,
TProtocolFactory inputProtocolFactory,
TProtocolFactory outputProtocolFactory)
|
|
TNonblockingServer(TProcessor processor,
TNonblockingServerTransport serverTransport,
TProtocolFactory protocolFactory)
|
Method Summary | |
---|---|
protected void |
joinSelector()
Block until the selector exits. |
protected void |
requestInvoke(TNonblockingServer.FrameBuffer frameBuffer)
Perform an invocation. |
protected void |
requestSelectInterestChange(TNonblockingServer.FrameBuffer frameBuffer)
A FrameBuffer wants to change its selection preferences, but might not be in the select thread. |
void |
serve()
Begin accepting connections and processing invocations. |
protected boolean |
startListening()
Have the server transport start accepting connections. |
protected boolean |
startSelectorThread()
Start the selector thread running to deal with clients. |
void |
stop()
Stop serving and shut everything down. |
protected void |
stopListening()
Stop listening for conections. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected final TNonblockingServer.Options options_
Constructor Detail |
---|
public TNonblockingServer(TProcessor processor, TNonblockingServerTransport serverTransport)
public TNonblockingServer(TProcessorFactory processorFactory, TNonblockingServerTransport serverTransport)
public TNonblockingServer(TProcessor processor, TNonblockingServerTransport serverTransport, TProtocolFactory protocolFactory)
public TNonblockingServer(TProcessor processor, TNonblockingServerTransport serverTransport, TFramedTransport.Factory transportFactory, TProtocolFactory protocolFactory)
public TNonblockingServer(TProcessorFactory processorFactory, TNonblockingServerTransport serverTransport, TFramedTransport.Factory transportFactory, TProtocolFactory protocolFactory)
public TNonblockingServer(TProcessor processor, TNonblockingServerTransport serverTransport, TFramedTransport.Factory outputTransportFactory, TProtocolFactory inputProtocolFactory, TProtocolFactory outputProtocolFactory)
public TNonblockingServer(TProcessorFactory processorFactory, TNonblockingServerTransport serverTransport, TFramedTransport.Factory outputTransportFactory, TProtocolFactory inputProtocolFactory, TProtocolFactory outputProtocolFactory)
public TNonblockingServer(TProcessorFactory processorFactory, TNonblockingServerTransport serverTransport, TFramedTransport.Factory outputTransportFactory, TProtocolFactory inputProtocolFactory, TProtocolFactory outputProtocolFactory, TNonblockingServer.Options options)
Method Detail |
---|
public void serve()
serve
in class TServer
protected boolean startListening()
protected void stopListening()
protected boolean startSelectorThread()
protected void joinSelector()
public void stop()
stop
in class TServer
protected void requestInvoke(TNonblockingServer.FrameBuffer frameBuffer)
protected void requestSelectInterestChange(TNonblockingServer.FrameBuffer frameBuffer)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |