This patch makes sure that filling the php extension's internal buffer does not cause a premature flush of the whole transport.
Patch: Nathaniel Cook
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@
1141668 13f79535-47bb-0310-9956-
ffa450edef68
void write(const char* data, size_t len) {
if ((len + buffer_used) > buffer_size) {
- flush();
+ internalFlush();
}
if (len > buffer_size) {
directWrite(data, len);
}
void flush() {
- if (buffer_used) {
+ internalFlush();
+ directFlush();
+ }
+
+protected:
+ void internalFlush() {
+ if (buffer_used) {
directWrite(buffer, buffer_used);
buffer_ptr = buffer;
buffer_used = 0;
}
- directFlush();
}
-
-protected:
void directFlush() {
zval ret;
ZVAL_NULL(&ret);