From: Roger Meier Date: Thu, 6 Feb 2014 22:41:37 +0000 (+0100) Subject: THRIFT-1457 java: Capacity of TframedTransport write buffer is never reset X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=213ea258de6796e1302e57f4246434ca3c9a2ac6;p=common%2Fthrift.git THRIFT-1457 java: Capacity of TframedTransport write buffer is never reset Patch: Arthur Meyer --- diff --git a/lib/java/src/org/apache/thrift/TByteArrayOutputStream.java b/lib/java/src/org/apache/thrift/TByteArrayOutputStream.java index 9ed83c0a..1c37ecd3 100644 --- a/lib/java/src/org/apache/thrift/TByteArrayOutputStream.java +++ b/lib/java/src/org/apache/thrift/TByteArrayOutputStream.java @@ -27,18 +27,29 @@ import java.io.ByteArrayOutputStream; * */ public class TByteArrayOutputStream extends ByteArrayOutputStream { + + private final int initialSize; + public TByteArrayOutputStream(int size) { super(size); + this.initialSize = size; } public TByteArrayOutputStream() { - super(); + this(32); } public byte[] get() { return buf; } + public void reset() { + super.reset(); + if (buf.length > initialSize) { + buf = new byte[initialSize]; + } + } + public int len() { return count; }