Memory-based transport rewrite.
The old implementations of the memory-based transports (TBufferedTransport,
TFramedTransport, and TMemoryBuffer) shared very little code and all worked
a bit differently. This change unifies them all as subclasses of a single
base (TBufferBase) which handles the fast-path operations (when requests
can be satisfied by the buffer) with inline methods (that will eventually
be made nonvirtual in the template branch) and calls out to pure-virutal
methods to handle full/empty buffers. All of the buffer-management is now
done in terms of "base and bound" pointers rather than "pos" integers.
These classes were moved to TBufferTransports.{h,cpp}. The .h is included
in TTransportUtils for backwards compatibility.
Also added a "TShortReadTransport" to assist testing transports.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665676 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/lib/cpp/Makefile.am b/lib/cpp/Makefile.am
index ac5a776..df64353 100644
--- a/lib/cpp/Makefile.am
+++ b/lib/cpp/Makefile.am
@@ -41,6 +41,7 @@
src/transport/TSocketPool.cpp \
src/transport/TServerSocket.cpp \
src/transport/TTransportUtils.cpp \
+ src/transport/TBufferTransports.cpp \
src/server/TServer.cpp \
src/server/TSimpleServer.cpp \
src/server/TThreadPoolServer.cpp \
@@ -107,6 +108,7 @@
src/transport/TTransport.h \
src/transport/TTransportException.h \
src/transport/TTransportUtils.h \
+ src/transport/TBufferTransports.h \
src/transport/TZlibTransport.h
include_serverdir = $(include_thriftdir)/server