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
diff --git a/lib/cpp/Makefile.am b/lib/cpp/Makefile.am
index 664a58a..39382c8 100644
--- a/lib/cpp/Makefile.am
+++ b/lib/cpp/Makefile.am
@@ -70,9 +70,11 @@
                        src/server/TSimpleServer.cpp \
                        src/server/TThreadPoolServer.cpp \
                        src/server/TThreadedServer.cpp \
+											 src/async/TAsyncChannel.cpp \
                        src/processor/PeekProcessor.cpp
 
-libthriftnb_la_SOURCES = src/server/TNonblockingServer.cpp
+libthriftnb_la_SOURCES = src/server/TNonblockingServer.cpp \
+                         src/async/TAsyncProtocolProcessor.cpp
 
 libthriftz_la_SOURCES = src/transport/TZlibTransport.cpp
 
@@ -148,6 +150,17 @@
                          src/processor/PeekProcessor.h \
                          src/processor/StatsProcessor.h
 
+include_asyncdir = $(include_thriftdir)/async
+include_async_HEADERS = \
+                     src/async/TAsyncChannel.h \
+                     src/async/TAsyncProcessor.h \
+                     src/async/TAsyncBufferProcessor.h \
+                     src/async/TAsyncProtocolProcessor.h \
+                     src/async/TEvhttpClientChannel.h \
+                     src/async/TEvhttpServer.h \
+                     src/async/SimpleCallback.h
+
+
 noinst_PROGRAMS = concurrency_test
 
 concurrency_test_SOURCES = src/concurrency/test/Tests.cpp \