public static int bytesReadBytes(ActiveMQBuffer message, final byte[] value, final int length) { if (!message.readable()) { return -1; } int read = Math.min(length, message.readableBytes()); if (read != 0) { message.readBytes(value, 0, read); } return read; }
private ActiveMQBuffer inflate(ActiveMQBuffer buffer) throws DataFormatException { int bytesToRead = buffer.readableBytes(); Inflater inflater = new Inflater(); inflater.setInput(ByteUtil.getActiveArray(buffer.readBytes(bytesToRead).toByteBuffer())); //get the real size of large message long sizeBody = getLongProperty(Message.HDR_LARGE_BODY_SIZE); byte[] data = new byte[(int) sizeBody]; inflater.inflate(data); inflater.end(); ActiveMQBuffer qbuff = ActiveMQBuffers.wrappedBuffer(data); qbuff.resetReaderIndex(); qbuff.resetWriterIndex(); qbuff.writeBytes(data); buffer = qbuff; return buffer; }
@Override public void decodeRest(final ActiveMQBuffer buffer) { super.decodeRest(buffer); defaultPurgeOnNoConsumers = buffer.readBoolean(); defaultMaxConsumers = buffer.readInt(); if (buffer.readableBytes() > 0) { defaultExclusive = BufferHelper.readNullableBoolean(buffer); defaultLastValue = BufferHelper.readNullableBoolean(buffer); } }
final boolean batched, final ChannelFutureListener futureListener) { final int readableBytes = buffer.readableBytes(); if (logger.isDebugEnabled()) { final int remainingBytes = this.writeBufferHighWaterMark - readableBytes;
@Override public void decodeRest(final ActiveMQBuffer buffer) { super.decodeRest(buffer); autoCreated = buffer.readBoolean(); purgeOnNoConsumers = buffer.readBoolean(); routingType = RoutingType.getType(buffer.readByte()); maxConsumers = buffer.readInt(); if (buffer.readableBytes() > 0) { exclusive = BufferHelper.readNullableBoolean(buffer); lastValue = BufferHelper.readNullableBoolean(buffer); } }
@Override public void decodeRest(final ActiveMQBuffer buffer) { super.decodeRest(buffer); autoCreated = buffer.readBoolean(); routingType = RoutingType.getType(buffer.readByte()); maxConsumers = buffer.readInt(); purgeOnNoConsumers = buffer.readBoolean(); if (buffer.readableBytes() > 0) { exclusive = BufferHelper.readNullableBoolean(buffer); lastValue = BufferHelper.readNullableBoolean(buffer); } }
@Override public void decodeRest(final ActiveMQBuffer buffer) { address = buffer.readSimpleString(); queueName = buffer.readSimpleString(); filterString = buffer.readNullableSimpleString(); durable = buffer.readBoolean(); routingType = RoutingType.getType(buffer.readByte()); requiresResponse = buffer.readBoolean(); if (buffer.readableBytes() > 0) { maxConsumers = BufferHelper.readNullableInteger(buffer); purgeOnNoConsumers = BufferHelper.readNullableBoolean(buffer); exclusive = BufferHelper.readNullableBoolean(buffer); lastValue = BufferHelper.readNullableBoolean(buffer); } }
@Override public void decodeRest(final ActiveMQBuffer buffer) { exit = buffer.readBoolean(); nodeID = buffer.readString(); uniqueEventID = buffer.readLong(); if (!exit) { boolean hasLive = buffer.readBoolean(); TransportConfiguration a; if (hasLive) { a = new TransportConfiguration(); a.decode(buffer); } else { a = null; } boolean hasBackup = buffer.readBoolean(); TransportConfiguration b; if (hasBackup) { b = new TransportConfiguration(); b.decode(buffer); } else { b = null; } pair = new Pair<>(a, b); last = buffer.readBoolean(); } if (buffer.readableBytes() > 0) { backupGroupName = buffer.readNullableString(); } }
@Override public void decodeRest(final ActiveMQBuffer buffer) { super.decodeRest(buffer); if (buffer.readableBytes() >= DataConstants.SIZE_LONG) { correlationID = buffer.readLong(); } }
@Override public void decodeRest(final ActiveMQBuffer buffer) { super.decodeRest(buffer); if (buffer.readableBytes() >= DataConstants.SIZE_LONG) { correlationID = buffer.readLong(); } }
@Override public void decodeRest(final ActiveMQBuffer buffer) { super.decodeRest(buffer); if (buffer.readableBytes() >= DataConstants.SIZE_LONG) { correlationID = buffer.readLong(); } }
private static byte[] toAMQMessageBytesType(final ActiveMQBuffer buffer, final boolean isCompressed) throws IOException { int n = buffer.readableBytes(); byte[] bytes = new byte[n]; buffer.readBytes(bytes); if (isCompressed) { bytes = toAMQMessageCompressedBytesType(bytes); } return bytes; }
@Override public void decodeRest(final ActiveMQBuffer buffer) { super.decodeRest(buffer); if (buffer.readableBytes() >= DataConstants.SIZE_LONG) { correlationID = buffer.readLong(); } }
public synchronized int internalWrite(ActiveMQBuffer buffer, IOCallback callback, boolean append) { byte[] data = new byte[buffer.readableBytes()]; buffer.readBytes(data); return internalWrite(data, callback, append); }
@Override public void decode(ActiveMQBuffer buffer) { queueID = buffer.readLong(); value = buffer.readLong(); if (buffer.readableBytes() > 0) { persistentSize = buffer.readLong(); } }
@Override public void decode(ActiveMQBuffer buffer) { data = new byte[buffer.readableBytes()]; buffer.readBytes(data); } }
@Override public void decodeRest(ActiveMQBuffer buffer) { super.decodeRest(buffer); handler = buffer.readSimpleString(); voteBuffer = ActiveMQBuffers.fixedBuffer(buffer.readableBytes()); buffer.readBytes(voteBuffer); }
@Override public void decodeRest(ActiveMQBuffer buffer) { super.decodeRest(buffer); handler = buffer.readSimpleString(); voteBuffer = ActiveMQBuffers.fixedBuffer(buffer.readableBytes()); buffer.readBytes(voteBuffer); }
private static Message asLargeMessage(Message message, StorageManager storageManager) throws Exception { ICoreMessage coreMessage = message.toCore(); LargeServerMessage lsm = storageManager.createLargeMessage(storageManager.generateID(), coreMessage); ActiveMQBuffer buffer = coreMessage.getReadOnlyBodyBuffer(); final int readableBytes = buffer.readableBytes(); lsm.addBytes(buffer); lsm.releaseResources(); lsm.putLongProperty(Message.HDR_LARGE_BODY_SIZE, readableBytes); return lsm; }
@Test public void testBodyBufferSize() { final CoreMessage decodedMessage = decodeMessage(); final int bodyBufferSize = decodedMessage.getBodyBufferSize(); final int readonlyBodyBufferReadableBytes = decodedMessage.getReadOnlyBodyBuffer().readableBytes(); Assert.assertEquals(bodyBufferSize, readonlyBodyBufferReadableBytes); }