thrift.server.nonblocking

A non-blocking server implementation that operates a set of I/O threads (by default only one) and either does processing »in-line« or off-loads it to a task pool.

It *requires* TFramedTransport to be used on the client side, as it expects a 4 byte length indicator and writes out responses using the same framing.

Because I/O is done asynchronous/event based, unfortunately TServerTransport can't be used.

This implementation is based on the C++ one, with the exception of request timeouts and the drain task queue overload handling strategy not being implemented yet.

Members

Classes

TNonblockingServer
class TNonblockingServer

Enums

TOverloadAction
enum TOverloadAction

Possible actions taken on new incoming connections when the server is overloaded.

Functions

processRequest
void processRequest(Connection connection)
Undocumented in source. Be warned that the author may not have intended to support it.

Meta