diff options
author | Roger Meier <roger@apache.org> | 2012-04-13 10:30:11 +0000 |
---|---|---|
committer | Roger Meier <roger@apache.org> | 2012-04-13 10:30:11 +0000 |
commit | a3410db0c8af2331e14c2bb8b7632720ff96a254 (patch) | |
tree | dbd77a6abb03f2b8558cf3e70f33f32fce553a32 | |
parent | 33eaa0f10038d427d6f62d72235af314bc27b930 (diff) | |
download | thrift-a3410db0c8af2331e14c2bb8b7632720ff96a254.tar.gz |
THRIFT-1564 Minor fixes to TZlibTransport
Patch: Dave Watson
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1325712 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | lib/cpp/src/thrift/transport/TZlibTransport.cpp | 10 | ||||
-rw-r--r-- | lib/cpp/src/thrift/transport/TZlibTransport.h | 1 |
2 files changed, 9 insertions, 2 deletions
diff --git a/lib/cpp/src/thrift/transport/TZlibTransport.cpp b/lib/cpp/src/thrift/transport/TZlibTransport.cpp index fc407cb22..98b25b897 100644 --- a/lib/cpp/src/thrift/transport/TZlibTransport.cpp +++ b/lib/cpp/src/thrift/transport/TZlibTransport.cpp @@ -110,9 +110,15 @@ TZlibTransport::~TZlibTransport() { } bool TZlibTransport::isOpen() { - return (readAvail() > 0) || transport_->isOpen(); + return (readAvail() > 0) || (rstream_->avail_in > 0) || transport_->isOpen(); } +bool TZlibTransport::peek() { + return (readAvail() > 0) || (rstream_->avail_in > 0) || transport_->peek(); +} + + + // READING STRATEGY // // We have two buffers for reading: one containing the compressed data (crbuf_) @@ -253,7 +259,7 @@ void TZlibTransport::flush() { "flush() called after finish()"); } - flushToTransport(Z_SYNC_FLUSH); + flushToTransport(Z_FULL_FLUSH); } void TZlibTransport::finish() { diff --git a/lib/cpp/src/thrift/transport/TZlibTransport.h b/lib/cpp/src/thrift/transport/TZlibTransport.h index b3656415a..607969c86 100644 --- a/lib/cpp/src/thrift/transport/TZlibTransport.h +++ b/lib/cpp/src/thrift/transport/TZlibTransport.h @@ -144,6 +144,7 @@ class TZlibTransport : public TVirtualTransport<TZlibTransport> { ~TZlibTransport(); bool isOpen(); + bool peek(); void open() { transport_->open(); |