@Override public void write(final HornetQBuffer buffer) { buffer.writeByte(DataConstants.BYTES); buffer.writeInt(val.length); buffer.writeBytes(val); }
@Override public void encodeRest(final HornetQBuffer buffer) { buffer.writeByte(journalID); buffer.writeBoolean(isUpdate); buffer.writeLong(id); buffer.writeByte(recordType); buffer.writeInt(encodingData.getEncodeSize()); encodingData.encode(buffer); }
public void encode(final HornetQBuffer buffer) { buffer.writeSimpleString(address); buffer.writeInt(duplID.length); buffer.writeBytes(duplID); }
public void write(final PagedMessage message) throws Exception { ByteBuffer buffer = fileFactory.newBuffer(message.getEncodeSize() + PageImpl.SIZE_RECORD); HornetQBuffer wrap = HornetQBuffers.wrappedBuffer(buffer); wrap.clear(); wrap.writeByte(PageImpl.START_BYTE); wrap.writeInt(0); int startIndex = wrap.writerIndex(); message.encode(wrap); int endIndex = wrap.writerIndex(); wrap.setInt(1, endIndex - startIndex); // The encoded length wrap.writeByte(PageImpl.END_BYTE); buffer.rewind(); file.writeDirect(buffer, false); if (pageCache != null) { pageCache.addLiveMessage(message); } numberOfMessages.incrementAndGet(); size.addAndGet(buffer.limit()); storageManager.pageWrite(message, pageId); }
public void decode(final HornetQBuffer buff) { int start = buff.readerIndex(); endOfBodyPosition = buff.readInt(); endOfMessagePosition = buff.getInt(endOfBodyPosition - BUFFER_HEADER_SPACE + start); int length = endOfMessagePosition - BUFFER_HEADER_SPACE; buffer.setIndex(0, BUFFER_HEADER_SPACE); buffer.writeBytes(buff, start, length); decode(); buff.readerIndex(start + length); }
public HornetQBuffer encode(final RemotingConnection connection) { HornetQBuffer buffer = connection.createTransportBuffer(PacketImpl.INITIAL_PACKET_SIZE); // The standard header fields buffer.writeInt(0); // The length gets filled in at the end buffer.writeByte(type); buffer.writeLong(channelID); encodeRest(buffer); size = buffer.writerIndex(); // The length doesn't include the actual length byte int len = size - DataConstants.SIZE_INT; buffer.setInt(0, len); return buffer; }
@Override public void encodeRest(final HornetQBuffer buffer) { buffer.writeInt(body.length); buffer.writeBytes(body); buffer.writeBoolean(continues); }
public synchronized HornetQBuffer getEncodedBuffer() { HornetQBuffer buff = encodeToBuffer(); if (bufferUsed) { HornetQBuffer copied = buff.copy(0, buff.capacity()); copied.setIndex(0, endOfMessagePosition); return copied; } else { buffer.setIndex(0, endOfMessagePosition); bufferUsed = true; return buffer; } }
public void decode(final HornetQBuffer buffer) { address = buffer.readSimpleString(); int size = buffer.readInt(); duplID = new byte[size]; buffer.readBytes(duplID); }
/** Write pending output into file */ public void flush() throws Exception { if (writingChannel != null) { sequentialFile.position(0); // To Fix the size of the file writingChannel.writerIndex(writingChannel.capacity()); sequentialFile.writeInternal(writingChannel.toByteBuffer()); sequentialFile.close(); newDataFiles.add(currentFile); } writingChannel = null; }
@Override public void doBeforeSend() throws Exception { message.getBodyBuffer().clear(); if (data != null) { message.getBodyBuffer().writeInt(data.length); message.getBodyBuffer().writeBytes(data); } super.doBeforeSend(); }
public void encode(final HornetQBuffer buffer) { buffer.writeLong(transactionID); buffer.writeBoolean(message instanceof LargeServerMessage); buffer.writeInt(message.getEncodeSize()); message.encode(buffer); buffer.writeInt(queueIDs.length); for (int i = 0 ; i < queueIDs.length; i++) { buffer.writeLong(queueIDs[i]); } }
@Override public void decodeRest(final HornetQBuffer buffer) { storeName = buffer.readSimpleString(); pageNumber = buffer.readInt(); isDelete = buffer.readBoolean(); }
public static String bytesToHex(HornetQBuffer buffer, int groupSize) { int read = buffer.readerIndex(); buffer.readerIndex(0); byte[] bufferRead = new byte[buffer.writerIndex()]; buffer.readBytes(bufferRead); buffer.readerIndex(read); return bytesToHex(bufferRead, groupSize); }
public int encode(final HornetQBuffer bufferOut, final int size) throws HornetQException { // This could maybe be optimized (maybe reading directly into bufferOut) ByteBuffer bufferRead = ByteBuffer.allocate(size); int bytesRead = encode(bufferRead); bufferRead.flip(); if (bytesRead > 0) { bufferOut.writeBytes(bufferRead.array(), 0, bytesRead); } return bytesRead; }