You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2017/10/20 15:23:31 UTC
qpid-broker-j git commit: QPID-7832: [Java Broker] Change type of
QpidByteBuffer#_fragments from List to array
Repository: qpid-broker-j
Updated Branches:
refs/heads/master 188869157 -> 000228a5a
QPID-7832: [Java Broker] Change type of QpidByteBuffer#_fragments from List to array
Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/000228a5
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/000228a5
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/000228a5
Branch: refs/heads/master
Commit: 000228a5ac3a38043d5e6ddb153a45449fa5efdb
Parents: 1888691
Author: Alex Rudyy <or...@apache.org>
Authored: Fri Oct 20 14:42:55 2017 +0100
Committer: Alex Rudyy <or...@apache.org>
Committed: Fri Oct 20 16:23:26 2017 +0100
----------------------------------------------------------------------
.../qpid/server/bytebuffer/QpidByteBuffer.java | 196 ++++++++++---------
1 file changed, 103 insertions(+), 93 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/000228a5/broker-core/src/main/java/org/apache/qpid/server/bytebuffer/QpidByteBuffer.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/bytebuffer/QpidByteBuffer.java b/broker-core/src/main/java/org/apache/qpid/server/bytebuffer/QpidByteBuffer.java
index 6f293dc..6d8a120 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/bytebuffer/QpidByteBuffer.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/bytebuffer/QpidByteBuffer.java
@@ -60,9 +60,23 @@ public class QpidByteBuffer implements AutoCloseable
private volatile static int _pooledBufferSize;
private volatile static double _sparsityFraction;
private volatile static ByteBuffer _zeroed;
- private volatile List<QpidByteBufferFragment> _fragments = new ArrayList<>();
+ private final QpidByteBufferFragment[] _fragments;
private volatile int _resetFragmentIndex = -1;
+ private QpidByteBuffer(final QpidByteBufferFragment[] fragments)
+ {
+ _fragments = fragments;
+ }
+
+ private QpidByteBuffer(final List<QpidByteBufferFragment> fragments)
+ {
+ if (fragments == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ _fragments = fragments.toArray(new QpidByteBufferFragment[fragments.size()]);
+ }
+
//////////////////
// Absolute puts
//////////////////
@@ -118,9 +132,9 @@ public class QpidByteBuffer implements AutoCloseable
boolean bytewise = false;
int written = 0;
int bytesToSkip = index;
- for (int i = 0, size = _fragments.size(); i < size; i++)
+ for (int i = 0, size = _fragments.length; i < size; i++)
{
- final QpidByteBufferFragment buffer = _fragments.get(i);
+ final QpidByteBufferFragment buffer = _fragments[i];
final int limit = buffer.limit();
boolean isLastFragmentToConsider = valueWidth + bytesToSkip - written <= limit;
if (!isLastFragmentToConsider && limit != buffer.capacity())
@@ -246,24 +260,23 @@ public class QpidByteBuffer implements AutoCloseable
public final QpidByteBuffer put(final byte[] src, final int offset, final int length)
{
- final int valueWidth = length;
- if (valueWidth > remaining())
+ if (length > remaining())
{
throw new BufferOverflowException();
}
boolean bytewise = false;
int written = 0;
- for (int i = 0, size = _fragments.size(); i < size; i++)
+ for (int i = 0, size = _fragments.length; i < size; i++)
{
- final QpidByteBufferFragment buffer = _fragments.get(i);
+ final QpidByteBufferFragment buffer = _fragments[i];
if (bytewise)
{
- while (buffer.remaining() > 0 && written < valueWidth)
+ while (buffer.remaining() > 0 && written < length)
{
buffer.put(src[offset + written]);
written++;
}
- if (written == valueWidth)
+ if (written == length)
{
break;
}
@@ -271,7 +284,7 @@ public class QpidByteBuffer implements AutoCloseable
else
{
final int remaining = buffer.remaining();
- if (remaining >= valueWidth)
+ if (remaining >= length)
{
buffer.put(src, offset, length);
written += length;
@@ -301,9 +314,9 @@ public class QpidByteBuffer implements AutoCloseable
}
boolean bytewise = false;
int written = 0;
- for (int i = 0, size = _fragments.size(); i < size; i++)
+ for (int i = 0, size = _fragments.length; i < size; i++)
{
- final QpidByteBufferFragment buffer = _fragments.get(i);
+ final QpidByteBufferFragment buffer = _fragments[i];
if (bytewise)
{
while (src.remaining() > 0 && buffer.remaining() > 0)
@@ -353,14 +366,14 @@ public class QpidByteBuffer implements AutoCloseable
int i = 0;
boolean bytewise = false;
int written = 0;
- int size = _fragments.size();
- final List<QpidByteBufferFragment> fragments = src._fragments;
- for (int i1 = 0, fragmentsSize = fragments.size(); i1 < fragmentsSize; i1++)
+ int size = _fragments.length;
+ final QpidByteBufferFragment[] fragments = src._fragments;
+ for (int i1 = 0, fragmentsSize = fragments.length; i1 < fragmentsSize; i1++)
{
- final QpidByteBufferFragment srcFragment = fragments.get(i1);
+ final QpidByteBufferFragment srcFragment = fragments[i1];
for (; i < size; i++)
{
- final QpidByteBufferFragment dstFragment = _fragments.get(i);
+ final QpidByteBufferFragment dstFragment = _fragments[i];
if (dstFragment.hasRemaining())
{
final int srcFragmentRemaining = srcFragment.remaining();
@@ -467,9 +480,9 @@ public class QpidByteBuffer implements AutoCloseable
boolean bytewise = false;
int consumed = 0;
int bytesToSkip = index;
- for (int i = 0, size = _fragments.size(); i < size; i++)
+ for (int i = 0, size = _fragments.length; i < size; i++)
{
- final QpidByteBufferFragment buffer = _fragments.get(i);
+ final QpidByteBufferFragment buffer = _fragments[i];
final int limit = buffer.limit();
boolean isLastFragmentToConsider = length + bytesToSkip - consumed <= limit;
if (!isLastFragmentToConsider && limit != buffer.capacity())
@@ -603,9 +616,9 @@ public class QpidByteBuffer implements AutoCloseable
}
boolean bytewise = false;
int consumed = 0;
- for (int i = 0, size = _fragments.size(); i < size; i++)
+ for (int i = 0, size = _fragments.length; i < size; i++)
{
- final QpidByteBufferFragment buffer = _fragments.get(i);
+ final QpidByteBufferFragment buffer = _fragments[i];
if (bytewise)
{
while (buffer.hasRemaining() && consumed < length)
@@ -673,9 +686,9 @@ public class QpidByteBuffer implements AutoCloseable
{
throw new BufferOverflowException();
}
- for (int i = 0, fragmentsSize = _fragments.size(); i < fragmentsSize; i++)
+ for (int i = 0, fragmentsSize = _fragments.length; i < fragmentsSize; i++)
{
- final QpidByteBufferFragment fragment = _fragments.get(i);
+ final QpidByteBufferFragment fragment = _fragments[i];
dst.put(fragment._buffer.duplicate());
}
}
@@ -688,18 +701,18 @@ public class QpidByteBuffer implements AutoCloseable
{
throw new BufferOverflowException();
}
- for (int i = 0, fragmentsSize = source._fragments.size(); i < fragmentsSize; i++)
+ for (int i = 0, fragmentsSize = source._fragments.length; i < fragmentsSize; i++)
{
- final QpidByteBufferFragment srcFragment = source._fragments.get(i);
+ final QpidByteBufferFragment srcFragment = source._fragments[i];
put(srcFragment._buffer.duplicate());
}
}
public final boolean isDirect()
{
- for (int i = 0, fragmentsSize = _fragments.size(); i < fragmentsSize; i++)
+ for (int i = 0, fragmentsSize = _fragments.length; i < fragmentsSize; i++)
{
- final QpidByteBufferFragment fragment = _fragments.get(i);
+ final QpidByteBufferFragment fragment = _fragments[i];
if (!fragment.isDirect())
{
return false;
@@ -716,9 +729,9 @@ public class QpidByteBuffer implements AutoCloseable
public final void dispose()
{
- for (int i = 0, fragmentsSize = _fragments.size(); i < fragmentsSize; i++)
+ for (int i = 0, fragmentsSize = _fragments.length; i < fragmentsSize; i++)
{
- final QpidByteBufferFragment fragment = _fragments.get(i);
+ final QpidByteBufferFragment fragment = _fragments[i];
fragment.dispose();
}
}
@@ -730,10 +743,10 @@ public class QpidByteBuffer implements AutoCloseable
public final long read(ScatteringByteChannel channel) throws IOException
{
- ByteBuffer[] byteBuffers = new ByteBuffer[_fragments.size()];
+ ByteBuffer[] byteBuffers = new ByteBuffer[_fragments.length];
for (int i = 0; i < byteBuffers.length; i++)
{
- final QpidByteBufferFragment fragment = _fragments.get(i);
+ final QpidByteBufferFragment fragment = _fragments[i];
byteBuffers[i] = fragment.getUnderlyingBuffer();
}
return channel.read(byteBuffers);
@@ -742,7 +755,7 @@ public class QpidByteBuffer implements AutoCloseable
@Override
public String toString()
{
- return "QpidByteBuffer{" + _fragments.size() + " fragments}";
+ return "QpidByteBuffer{" + _fragments.length + " fragments}";
}
public QpidByteBuffer reset()
@@ -751,11 +764,11 @@ public class QpidByteBuffer implements AutoCloseable
{
throw new InvalidMarkException();
}
- final QpidByteBufferFragment fragment = _fragments.get(_resetFragmentIndex);
+ final QpidByteBufferFragment fragment = _fragments[_resetFragmentIndex];
fragment.reset();
- for (int i = _resetFragmentIndex + 1, size = _fragments.size(); i < size; ++i)
+ for (int i = _resetFragmentIndex + 1, size = _fragments.length; i < size; ++i)
{
- _fragments.get(i).position(0);
+ _fragments[i].position(0);
}
return this;
}
@@ -763,9 +776,9 @@ public class QpidByteBuffer implements AutoCloseable
public QpidByteBuffer rewind()
{
_resetFragmentIndex = -1;
- for (int i = 0, fragmentsSize = _fragments.size(); i < fragmentsSize; i++)
+ for (int i = 0, fragmentsSize = _fragments.length; i < fragmentsSize; i++)
{
- final QpidByteBufferFragment fragment = _fragments.get(i);
+ final QpidByteBufferFragment fragment = _fragments[i];
fragment.rewind();
}
return this;
@@ -773,7 +786,7 @@ public class QpidByteBuffer implements AutoCloseable
public final boolean hasArray()
{
- return _fragments.size() == 1 && _fragments.get(0).hasArray();
+ return _fragments.length == 1 && _fragments[0].hasArray();
}
public byte[] array()
@@ -782,23 +795,23 @@ public class QpidByteBuffer implements AutoCloseable
{
throw new UnsupportedOperationException("This QpidByteBuffer is not backed by an array.");
}
- return _fragments.get(0).array();
+ return _fragments[0].array();
}
public QpidByteBuffer clear()
{
- for (int i = 0, fragmentsSize = _fragments.size(); i < fragmentsSize; i++)
+ for (int i = 0, fragmentsSize = _fragments.length; i < fragmentsSize; i++)
{
- _fragments.get(i).clear();
+ _fragments[i].clear();
}
return this;
}
public QpidByteBuffer compact()
{
- if (_fragments.size() == 1)
+ if (_fragments.length == 1)
{
- _fragments.get(0).compact();
+ _fragments[0].compact();
}
else
{
@@ -822,9 +835,9 @@ public class QpidByteBuffer implements AutoCloseable
public int position()
{
int totalPosition = 0;
- for (int i = 0, fragmentsSize = _fragments.size(); i < fragmentsSize; i++)
+ for (int i = 0, fragmentsSize = _fragments.length; i < fragmentsSize; i++)
{
- final QpidByteBufferFragment fragment = _fragments.get(i);
+ final QpidByteBufferFragment fragment = _fragments[i];
totalPosition += fragment.position();
if (fragment.position() != fragment.limit())
{
@@ -840,9 +853,9 @@ public class QpidByteBuffer implements AutoCloseable
{
throw new IllegalArgumentException(String.format("new position %d is out of bounds [%d, %d)", newPosition, 0, limit()));
}
- for (int i = 0, fragmentsSize = _fragments.size(); i < fragmentsSize; i++)
+ for (int i = 0, fragmentsSize = _fragments.length; i < fragmentsSize; i++)
{
- final QpidByteBufferFragment fragment = _fragments.get(i);
+ final QpidByteBufferFragment fragment = _fragments[i];
final int fragmentLimit = fragment.limit();
if (newPosition <= fragmentLimit)
{
@@ -868,9 +881,9 @@ public class QpidByteBuffer implements AutoCloseable
public int limit()
{
int totalLimit = 0;
- for (int i = 0, fragmentsSize = _fragments.size(); i < fragmentsSize; i++)
+ for (int i = 0, fragmentsSize = _fragments.length; i < fragmentsSize; i++)
{
- final QpidByteBufferFragment fragment = _fragments.get(i);
+ final QpidByteBufferFragment fragment = _fragments[i];
final int fragmentLimit = fragment.limit();
totalLimit += fragmentLimit;
if (fragmentLimit != fragment.capacity())
@@ -884,9 +897,9 @@ public class QpidByteBuffer implements AutoCloseable
public QpidByteBuffer limit(int newLimit)
{
- for (int i = 0, fragmentsSize = _fragments.size(); i < fragmentsSize; i++)
+ for (int i = 0, fragmentsSize = _fragments.length; i < fragmentsSize; i++)
{
- final QpidByteBufferFragment fragment = _fragments.get(i);
+ final QpidByteBufferFragment fragment = _fragments[i];
final int fragmentCapacity = fragment.capacity();
final int fragmentLimit = Math.min(newLimit, fragmentCapacity);
fragment.limit(fragmentLimit);
@@ -897,9 +910,9 @@ public class QpidByteBuffer implements AutoCloseable
public final QpidByteBuffer mark()
{
- for (int i = 0, fragmentsSize = _fragments.size(); i < fragmentsSize; i++)
+ for (int i = 0, fragmentsSize = _fragments.length; i < fragmentsSize; i++)
{
- final QpidByteBufferFragment fragment = _fragments.get(i);
+ final QpidByteBufferFragment fragment = _fragments[i];
if (fragment.position() != fragment.limit())
{
fragment.mark();
@@ -907,17 +920,17 @@ public class QpidByteBuffer implements AutoCloseable
return this;
}
}
- _resetFragmentIndex = _fragments.size() - 1;
- _fragments.get(_resetFragmentIndex).mark();
+ _resetFragmentIndex = _fragments.length - 1;
+ _fragments[_resetFragmentIndex].mark();
return this;
}
public final int remaining()
{
int remaining = 0;
- for (int i = 0, fragmentsSize = _fragments.size(); i < fragmentsSize; i++)
+ for (int i = 0, fragmentsSize = _fragments.length; i < fragmentsSize; i++)
{
- final QpidByteBufferFragment fragment = _fragments.get(i);
+ final QpidByteBufferFragment fragment = _fragments[i];
remaining += fragment.remaining();
}
return remaining;
@@ -931,9 +944,9 @@ public class QpidByteBuffer implements AutoCloseable
public final boolean hasRemaining(int atLeast)
{
int remaining = 0;
- for (int i = 0, fragmentsSize = _fragments.size(); i < fragmentsSize; i++)
+ for (int i = 0, fragmentsSize = _fragments.length; i < fragmentsSize; i++)
{
- final QpidByteBufferFragment fragment = _fragments.get(i);
+ final QpidByteBufferFragment fragment = _fragments[i];
remaining += fragment.remaining();
if (remaining >= atLeast)
{
@@ -945,9 +958,9 @@ public class QpidByteBuffer implements AutoCloseable
public QpidByteBuffer flip()
{
- for (int i = 0, fragmentsSize = _fragments.size(); i < fragmentsSize; i++)
+ for (int i = 0, fragmentsSize = _fragments.length; i < fragmentsSize; i++)
{
- final QpidByteBufferFragment fragment = _fragments.get(i);
+ final QpidByteBufferFragment fragment = _fragments[i];
fragment.flip();
}
return this;
@@ -956,9 +969,9 @@ public class QpidByteBuffer implements AutoCloseable
public int capacity()
{
int totalCapacity = 0;
- for (int i = 0, fragmentsSize = _fragments.size(); i < fragmentsSize; i++)
+ for (int i = 0, fragmentsSize = _fragments.length; i < fragmentsSize; i++)
{
- totalCapacity += _fragments.get(i).capacity();
+ totalCapacity += _fragments[i].capacity();
}
return totalCapacity;
}
@@ -970,12 +983,12 @@ public class QpidByteBuffer implements AutoCloseable
*/
public QpidByteBuffer duplicate()
{
- final QpidByteBuffer newQpidByteBuffer = new QpidByteBuffer();
- for (int i = 0, fragmentsSize = _fragments.size(); i < fragmentsSize; i++)
+ final QpidByteBufferFragment[] fragments = new QpidByteBufferFragment[_fragments.length];
+ for (int i = 0, fragmentsSize = _fragments.length; i < fragmentsSize; i++)
{
- newQpidByteBuffer._fragments.add(_fragments.get(i).duplicate());
+ fragments[i] =_fragments[i].duplicate();
}
- return newQpidByteBuffer;
+ return new QpidByteBuffer(fragments);
}
public QpidByteBuffer slice()
@@ -989,11 +1002,12 @@ public class QpidByteBuffer implements AutoCloseable
{
throw new IllegalArgumentException(String.format("offset: %d, length: %d, remaining: %d", offset, length, remaining()));
}
- final QpidByteBuffer newQpidByteBuffer = new QpidByteBuffer();
+ final List<QpidByteBufferFragment> fragments = new ArrayList<>(_fragments.length);
+
boolean firstFragmentToBeConsidered = true;
- for (int i = 0, fragmentsSize = _fragments.size(); i < fragmentsSize && length > 0; i++)
+ for (int i = 0, fragmentsSize = _fragments.length; i < fragmentsSize && length > 0; i++)
{
- final QpidByteBufferFragment fragment = _fragments.get(i);
+ final QpidByteBufferFragment fragment = _fragments[i];
if (fragment.hasRemaining())
{
if (!firstFragmentToBeConsidered && fragment.position() != 0)
@@ -1004,7 +1018,7 @@ public class QpidByteBuffer implements AutoCloseable
if (fragment.remaining() > offset)
{
final int fragmentViewLength = Math.min(fragment.remaining() - offset, length);
- newQpidByteBuffer._fragments.add(fragment.view(offset, fragmentViewLength));
+ fragments.add(fragment.view(offset, fragmentViewLength));
length -= fragmentViewLength;
offset = 0;
}
@@ -1015,15 +1029,15 @@ public class QpidByteBuffer implements AutoCloseable
}
}
- return newQpidByteBuffer;
+ return new QpidByteBuffer(fragments);
}
List<ByteBuffer> getUnderlyingBuffers()
{
List<ByteBuffer> byteBuffers = new ArrayList<>();
- for (int i = 0, fragmentsSize = _fragments.size(); i < fragmentsSize; i++)
+ for (int i = 0, fragmentsSize = _fragments.length; i < fragmentsSize; i++)
{
- byteBuffers.add(_fragments.get(i).getUnderlyingBuffer());
+ byteBuffers.add(_fragments[i].getUnderlyingBuffer());
}
return byteBuffers;
@@ -1036,9 +1050,7 @@ public class QpidByteBuffer implements AutoCloseable
public static QpidByteBuffer allocate(int size)
{
- final QpidByteBuffer qpidByteBuffer = new QpidByteBuffer();
- qpidByteBuffer._fragments.add(QpidByteBufferFragment.allocate(size));
- return qpidByteBuffer;
+ return new QpidByteBuffer(new QpidByteBufferFragment[]{QpidByteBufferFragment.allocate(size)});
}
public static QpidByteBuffer allocateDirect(int size)
@@ -1052,18 +1064,18 @@ public class QpidByteBuffer implements AutoCloseable
if (_isPoolInitialized)
{
- QpidByteBuffer qpidByteBuffer = new QpidByteBuffer();
+ List<QpidByteBufferFragment> fragments = new ArrayList<>();
int allocatedSize = 0;
while (size - allocatedSize >= _pooledBufferSize)
{
- qpidByteBuffer._fragments.add(QpidByteBufferFragment.allocateDirect(_pooledBufferSize));
+ fragments.add(QpidByteBufferFragment.allocateDirect(_pooledBufferSize));
allocatedSize += _pooledBufferSize;
}
if (allocatedSize != size)
{
- qpidByteBuffer._fragments.add(QpidByteBufferFragment.allocateDirect(size - allocatedSize));
+ fragments.add(QpidByteBufferFragment.allocateDirect(size - allocatedSize));
}
- return qpidByteBuffer;
+ return new QpidByteBuffer(fragments);
}
else
{
@@ -1086,7 +1098,7 @@ public class QpidByteBuffer implements AutoCloseable
public static QpidByteBuffer asQpidByteBuffer(final InputStream stream) throws IOException
{
- final QpidByteBuffer qpidByteBuffer = new QpidByteBuffer();
+ final List<QpidByteBufferFragment> fragments = new ArrayList<>();
final int pooledBufferSize = QpidByteBuffer.getPooledBufferSize();
byte[] transferBuf = new byte[pooledBufferSize];
int readFragment = 0;
@@ -1099,7 +1111,7 @@ public class QpidByteBuffer implements AutoCloseable
QpidByteBufferFragment fragment = QpidByteBufferFragment.allocateDirect(pooledBufferSize);
fragment.put(transferBuf, 0, pooledBufferSize);
fragment.flip();
- qpidByteBuffer._fragments.add(fragment);
+ fragments.add(fragment);
readFragment = 0;
}
read = stream.read(transferBuf, readFragment, pooledBufferSize - readFragment);
@@ -1109,9 +1121,9 @@ public class QpidByteBuffer implements AutoCloseable
QpidByteBufferFragment fragment = QpidByteBufferFragment.allocateDirect(readFragment);
fragment.put(transferBuf, 0, readFragment);
fragment.flip();
- qpidByteBuffer._fragments.add(fragment);
+ fragments.add(fragment);
}
- return qpidByteBuffer;
+ return new QpidByteBuffer(fragments);
}
public final SSLEngineResult decryptSSL(SSLEngine engine, QpidByteBuffer dst) throws SSLException
@@ -1223,9 +1235,7 @@ public class QpidByteBuffer implements AutoCloseable
public static QpidByteBuffer wrap(final ByteBuffer wrap)
{
- final QpidByteBuffer qpidByteBuffer = new QpidByteBuffer();
- qpidByteBuffer._fragments.add(new QpidByteBufferFragment(new NonPooledByteBufferRef(wrap)));
- return qpidByteBuffer;
+ return new QpidByteBuffer(new QpidByteBufferFragment[]{new QpidByteBufferFragment(new NonPooledByteBufferRef( wrap))});
}
public static QpidByteBuffer wrap(final byte[] data)
@@ -1344,9 +1354,9 @@ public class QpidByteBuffer implements AutoCloseable
boolean isSparse()
{
- for (int i = 0, fragmentsSize = _fragments.size(); i < fragmentsSize; i++)
+ for (int i = 0, fragmentsSize = _fragments.length; i < fragmentsSize; i++)
{
- final QpidByteBufferFragment fragment = _fragments.get(i);
+ final QpidByteBufferFragment fragment = _fragments[i];
if (fragment.isSparse())
{
return true;
@@ -1357,15 +1367,15 @@ public class QpidByteBuffer implements AutoCloseable
public static QpidByteBuffer concatenate(final List<QpidByteBuffer> buffers)
{
- final QpidByteBuffer qpidByteBuffer = new QpidByteBuffer();
+ final List<QpidByteBufferFragment> fragments = new ArrayList<>(buffers.size());
for (QpidByteBuffer buffer : buffers)
{
for (QpidByteBufferFragment fragment : buffer._fragments)
{
- qpidByteBuffer._fragments.add(fragment.slice());
+ fragments.add(fragment.slice());
}
}
- return qpidByteBuffer;
+ return new QpidByteBuffer(fragments);
}
public static QpidByteBuffer concatenate(QpidByteBuffer... buffers)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org