@Override public void getBytes(final int index, final ActiveMQBuffer dst, final int length) { if (length > dst.writableBytes()) { throw new IndexOutOfBoundsException(); } getBytes(index, dst, dst.writerIndex(), length); dst.writerIndex(dst.writerIndex() + length); }
@Override public void readBytes(final ActiveMQBuffer dst, final int length) { if (length > dst.writableBytes()) { throw new IndexOutOfBoundsException(); } readBytes(dst, dst.writerIndex(), length); dst.writerIndex(dst.writerIndex() + length); }
@Override public void getBytes(final int index, final ActiveMQBuffer dst, final int length) { if (length > dst.writableBytes()) { throw new IndexOutOfBoundsException(); } getBytes(index, dst, dst.writerIndex(), length); dst.writerIndex(dst.writerIndex() + length); }
@Override public void readBytes(final ActiveMQBuffer dst, final int length) { if (length > dst.writableBytes()) { throw new IndexOutOfBoundsException(); } readBytes(dst, dst.writerIndex(), length); dst.writerIndex(dst.writerIndex() + length); }
/** * @return */ private int remainingBytes() { return bb.writerIndex() - bb.readerIndex(); }
protected void encodeSize(ActiveMQBuffer buffer) { size = buffer.writerIndex(); // The length doesn't include the actual length byte int len = size - DataConstants.SIZE_INT; buffer.setInt(0, len); }
@Override public int getEndOfBodyPosition() { if (endOfBodyPosition < 0) { endOfBodyPosition = getBodyBuffer().writerIndex(); } return endOfBodyPosition; }
@Override public long getLargeBodySize() { if (isLargeMessage()) { return getBodyBuffer().writerIndex(); } else { return getBodyBuffer().writerIndex() - BODY_OFFSET; } }
int bytesToRead = qbuff.writerIndex() - qbuff.readerIndex(); final byte[] body = ByteUtil.getActiveArray(qbuff.readBytes(bytesToRead).toByteBuffer());
msg.getBodyBuffer().writerIndex() > minLargeMessageSize)) { isLarge = true; } else {
@Override public void readBytes(final ActiveMQBuffer dst, final int length) { if (length > dst.writableBytes()) { throw new IndexOutOfBoundsException(); } readBytes(dst, dst.writerIndex(), length); dst.writerIndex(dst.writerIndex() + length); }
@Override public void readBytes(final ActiveMQBuffer dst, final int length) { if (length > dst.writableBytes()) { throw new IndexOutOfBoundsException(); } readBytes(dst, dst.writerIndex(), length); dst.writerIndex(dst.writerIndex() + length); }
@Override public void readBytes(final ActiveMQBuffer dst, final int length) { if (length > dst.writableBytes()) { throw new IndexOutOfBoundsException(); } readBytes(dst, dst.writerIndex(), length); dst.writerIndex(dst.writerIndex() + length); }
@Override public void getBytes(final int index, final ActiveMQBuffer dst, final int length) { if (length > dst.writableBytes()) { throw new IndexOutOfBoundsException(); } getBytes(index, dst, dst.writerIndex(), length); dst.writerIndex(dst.writerIndex() + length); }
/** * @return */ private int remainingBytes() { return bb.writerIndex() - bb.readerIndex(); }
protected void encodeSize(ActiveMQBuffer buffer) { size = buffer.writerIndex(); // The length doesn't include the actual length byte int len = size - DataConstants.SIZE_INT; buffer.setInt(0, len); }
private ActiveMQBuffer readActiveMQBuffer(SequentialFile file, int size) throws Exception { ByteBuffer byteBuffer = ByteBuffer.allocate(size); byteBuffer.mark(); file.read(byteBuffer); byteBuffer.reset(); ActiveMQBuffer buffer = ActiveMQBuffers.wrappedBuffer(byteBuffer); buffer.writerIndex(size); return buffer; } }
@Override public long getLargeBodySize() { if (isLargeMessage()) { return getBodyBuffer().writerIndex(); } else { return getBodyBuffer().writerIndex() - BODY_OFFSET; } }
@Test public void testPosition() throws Exception { Assert.assertEquals(0, wrapper.writerIndex()); byte[] bytes = RandomUtil.randomBytes(128); wrapper.writeBytes(bytes); Assert.assertEquals(bytes.length, wrapper.writerIndex()); wrapper.writerIndex(0); Assert.assertEquals(0, wrapper.writerIndex()); }
private ActiveMQBuffer getLargeMessageBuffer() throws ActiveMQException { LargeBodyEncoder encoder = getBodyEncoder(); encoder.open(); int bodySize = (int) encoder.getLargeBodySize(); final ActiveMQBuffer buffer = new ChannelBufferWrapper(UnpooledByteBufAllocator.DEFAULT.heapBuffer(bodySize)); buffer.byteBuf().ensureWritable(bodySize); final ByteBuffer nioBuffer = buffer.byteBuf().internalNioBuffer(0, bodySize); encoder.encode(nioBuffer); buffer.writerIndex(bodySize); encoder.close(); return buffer; }