summaryrefslogtreecommitdiff
path: root/qpid/java/common/src/main/java/org/apache/qpid/transport/codec/BBEncoder.java
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/common/src/main/java/org/apache/qpid/transport/codec/BBEncoder.java')
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/transport/codec/BBEncoder.java3
1 files changed, 2 insertions, 1 deletions
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/transport/codec/BBEncoder.java b/qpid/java/common/src/main/java/org/apache/qpid/transport/codec/BBEncoder.java
index d9150bed65..4939f68048 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/transport/codec/BBEncoder.java
+++ b/qpid/java/common/src/main/java/org/apache/qpid/transport/codec/BBEncoder.java
@@ -34,11 +34,12 @@ import java.util.UUID;
*/
public final class BBEncoder extends AbstractEncoder
{
+ private static boolean ALLOCATE_DIRECT = Boolean.getBoolean("qpid.allocate-direct");
private ByteBuffer out;
private int segment;
public BBEncoder(int capacity) {
- out = ByteBuffer.allocate(capacity);
+ out = ALLOCATE_DIRECT? ByteBuffer.allocateDirect(capacity) : ByteBuffer.allocate(capacity);
out.order(ByteOrder.BIG_ENDIAN);
segment = 0;
}