THRIFT-923. cpp: Implement a fully nonblocking server and client
authorDavid Reiss <dreiss@apache.org>
Wed, 6 Oct 2010 17:09:37 +0000 (17:09 +0000)
committerDavid Reiss <dreiss@apache.org>
Wed, 6 Oct 2010 17:09:37 +0000 (17:09 +0000)
commit5ddabb8e3f63a15874e436c9a650dc17f7dd7028
tree4e22ac0f769e0dda25c8a77734020c5d9a408770
parentd7192063e141c8374c2256e9fea9b7571e5fc71e
THRIFT-923. cpp: Implement a fully nonblocking server and client

There are three major parts of this:
1/ New callback-style interfaces for for a few key Thrift components:
   TAsyncProcessor for servers and TAsyncChannel for clients.
2/ Concrete implementations of TAsyncChannel and a server for
   TAsyncProcessor based on evhttp.
3/ Async-style code generation for C++

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005127 13f79535-47bb-0310-9956-ffa450edef68
20 files changed:
compiler/cpp/src/generate/t_cpp_generator.cc
configure.ac
contrib/async-test/Makefile [new file with mode: 0644]
contrib/async-test/aggr.thrift [new file with mode: 0644]
contrib/async-test/test-leaf.py [new file with mode: 0755]
contrib/async-test/test-server.cpp [new file with mode: 0644]
lib/cpp/Makefile.am
lib/cpp/src/TProcessor.h
lib/cpp/src/Thrift.h
lib/cpp/src/async/SimpleCallback.h [new file with mode: 0644]
lib/cpp/src/async/TAsyncBufferProcessor.h [new file with mode: 0644]
lib/cpp/src/async/TAsyncChannel.cpp [new file with mode: 0644]
lib/cpp/src/async/TAsyncChannel.h [new file with mode: 0644]
lib/cpp/src/async/TAsyncProcessor.h [new file with mode: 0644]
lib/cpp/src/async/TAsyncProtocolProcessor.cpp [new file with mode: 0644]
lib/cpp/src/async/TAsyncProtocolProcessor.h [new file with mode: 0644]
lib/cpp/src/async/TEvhttpClientChannel.cpp [new file with mode: 0644]
lib/cpp/src/async/TEvhttpClientChannel.h [new file with mode: 0644]
lib/cpp/src/async/TEvhttpServer.cpp [new file with mode: 0644]
lib/cpp/src/async/TEvhttpServer.h [new file with mode: 0644]