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
diff --git a/lib/cpp/src/thrift/transport/TZlibTransport.cpp b/lib/cpp/src/thrift/transport/TZlibTransport.cpp
index fc407cb..98b25b8 100644
--- a/lib/cpp/src/thrift/transport/TZlibTransport.cpp
+++ b/lib/cpp/src/thrift/transport/TZlibTransport.cpp
@@ -110,9 +110,15 @@
}
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 @@
"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 b365641..607969c 100644
--- a/lib/cpp/src/thrift/transport/TZlibTransport.h
+++ b/lib/cpp/src/thrift/transport/TZlibTransport.h
@@ -144,6 +144,7 @@
~TZlibTransport();
bool isOpen();
+ bool peek();
void open() {
transport_->open();