commit | 7494f1126e7d0bf43eccd24d589ad35693f294ad | [log] [tgz] |
---|---|---|
author | Lorenz Quack <lquack@apache.org> | Wed Oct 19 14:35:54 2016 +0000 |
committer | Lorenz Quack <lquack@apache.org> | Wed Oct 19 14:35:54 2016 +0000 |
tree | 89c236e3c21e40e24741bbbdc8e399cbc5eea1a4 | |
parent | 7a52a80758c3806b5fb37946abe72142702fb0d5 [diff] |
QPID-7465: [Java Broker] Stop ServerEncoder from unnecessarily allocating ByteBuffers
diff --git a/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerEncoder.java b/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerEncoder.java index a37cb29..bd42b3f 100644 --- a/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerEncoder.java +++ b/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerEncoder.java
@@ -49,18 +49,15 @@ public void init() { - _out.position(_out.limit()); - _out.limit(_out.capacity()); - QpidByteBuffer old = _out; - if(_out.remaining() < _threshold) + if(_out.capacity() < _threshold) { + _out.dispose(); _out = QpidByteBuffer.allocateDirect(_initialCapacity); } else { - _out = _out.slice(); + _out.clear(); } - old.dispose(); } public QpidByteBuffer getBuffer()