public StringBuilder appendTo(final StringBuilder builder) { ControlMessageResponseDecoder writer = new ControlMessageResponseDecoder(); writer.wrap(buffer, offset, BLOCK_LENGTH, SCHEMA_VERSION); return writer.appendTo(builder); } }
public ControlMessageResponseDecoder wrap( final DirectBuffer buffer, final int offset, final int actingBlockLength, final int actingVersion) { if (buffer != this.buffer) { this.buffer = buffer; } this.offset = offset; this.actingBlockLength = actingBlockLength; this.actingVersion = actingVersion; limit(offset + actingBlockLength); return this; }
assertThat(messageHeaderDecoder.blockLength()).isEqualTo(responseDecoder.sbeBlockLength()); assertThat(messageHeaderDecoder.templateId()).isEqualTo(responseDecoder.sbeTemplateId()); assertThat(messageHeaderDecoder.schemaId()).isEqualTo(responseDecoder.sbeSchemaId()); assertThat(messageHeaderDecoder.version()).isEqualTo(responseDecoder.sbeSchemaVersion()); responseDecoder.wrap( buf, offset, responseDecoder.sbeBlockLength(), responseDecoder.sbeSchemaVersion()); assertThat(responseDecoder.dataLength()).isEqualTo(DATA.length);
@Override public void wrap(DirectBuffer buffer, int offset, int length) { reset(); final int frameEnd = offset + length; headerDecoder.wrap(buffer, offset); offset += headerDecoder.encodedLength(); bodyDecoder.wrap(buffer, offset, headerDecoder.blockLength(), headerDecoder.version()); offset += bodyDecoder.sbeBlockLength(); final int dataLength = bodyDecoder.dataLength(); offset += ControlMessageResponseDecoder.dataHeaderLength(); data.wrap(buffer, offset, dataLength); offset += dataLength; bodyDecoder.limit(offset); assert bodyDecoder.limit() == frameEnd : "Decoder read only to position " + bodyDecoder.limit() + " but expected " + frameEnd + " as final position"; }
messageHeaderDecoder.wrap(responseBuffer, 0); if (messageHeaderDecoder.templateId() != responseDecoder.sbeTemplateId()) { if (messageHeaderDecoder.templateId() == ErrorResponseDecoder.TEMPLATE_ID) { errorResponse.wrap(responseBuffer, offset, length); responseDecoder.wrap( responseBuffer, messageHeaderDecoder.encodedLength(), messageHeaderDecoder.version()); final int dataLength = responseDecoder.dataLength(); final int dataOffset = messageHeaderDecoder.encodedLength() + messageHeaderDecoder.blockLength() + ControlMessageResponseDecoder.dataHeaderLength();
public Map<String, Object> getAsControlMessageData(int index) { final ControlMessageResponseDecoder decoder = getAs(index, new ControlMessageResponseDecoder()); final UnsafeBuffer dataBuf = new UnsafeBuffer(new byte[decoder.dataLength()]); decoder.getData(dataBuf, 0, dataBuf.capacity()); return msgPackDecoder.readMsgPack(new DirectBufferInputStream(dataBuf)); } }
assertThat(messageHeaderDecoder.blockLength()).isEqualTo(responseDecoder.sbeBlockLength()); assertThat(messageHeaderDecoder.templateId()).isEqualTo(responseDecoder.sbeTemplateId()); assertThat(messageHeaderDecoder.schemaId()).isEqualTo(responseDecoder.sbeSchemaId()); assertThat(messageHeaderDecoder.version()).isEqualTo(responseDecoder.sbeSchemaVersion()); responseDecoder.wrap( buf, offset, responseDecoder.sbeBlockLength(), responseDecoder.sbeSchemaVersion()); assertThat(responseDecoder.dataLength()).isEqualTo(DATA.length);
messageHeaderDecoder.wrap(responseBuffer, 0); if (messageHeaderDecoder.templateId() != responseDecoder.sbeTemplateId()) { if (messageHeaderDecoder.templateId() == ErrorResponseDecoder.TEMPLATE_ID) { errorResponse.wrap(responseBuffer, offset, length); responseDecoder.wrap( responseBuffer, messageHeaderDecoder.encodedLength(), messageHeaderDecoder.version()); final int dataLength = responseDecoder.dataLength(); final int dataOffset = messageHeaderDecoder.encodedLength() + messageHeaderDecoder.blockLength() + ControlMessageResponseDecoder.dataHeaderLength();
public Map<String, Object> getAsControlMessageData(int index) { final ControlMessageResponseDecoder decoder = getAs(index, new ControlMessageResponseDecoder()); final UnsafeBuffer dataBuf = new UnsafeBuffer(new byte[decoder.dataLength()]); decoder.getData(dataBuf, 0, dataBuf.capacity()); return msgPackDecoder.readMsgPack(new DirectBufferInputStream(dataBuf)); } }
public StringBuilder appendTo(final StringBuilder builder) { ControlMessageResponseDecoder writer = new ControlMessageResponseDecoder(); writer.wrap(buffer, offset, BLOCK_LENGTH, SCHEMA_VERSION); return writer.appendTo(builder); } }
public ControlMessageResponseDecoder wrap( final DirectBuffer buffer, final int offset, final int actingBlockLength, final int actingVersion) { if (buffer != this.buffer) { this.buffer = buffer; } this.offset = offset; this.actingBlockLength = actingBlockLength; this.actingVersion = actingVersion; limit(offset + actingBlockLength); return this; }
public int dataLength() { final int limit = parentMessage.limit(); return (int)(buffer.getShort(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF); }
public int getData(final MutableDirectBuffer dst, final int dstOffset, final int length) { final int headerLength = 2; final int limit = parentMessage.limit(); final int dataLength = (int)(buffer.getShort(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF); final int bytesCopied = Math.min(length, dataLength); parentMessage.limit(limit + headerLength + dataLength); buffer.getBytes(limit + headerLength, dst, dstOffset, bytesCopied); return bytesCopied; }
public int getData(final byte[] dst, final int dstOffset, final int length) { final int headerLength = 2; final int limit = parentMessage.limit(); final int dataLength = (int)(buffer.getShort(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF); final int bytesCopied = Math.min(length, dataLength); parentMessage.limit(limit + headerLength + dataLength); buffer.getBytes(limit + headerLength, dst, dstOffset, bytesCopied); return bytesCopied; }
public void wrapData(final DirectBuffer wrapBuffer) { final int headerLength = 2; final int limit = parentMessage.limit(); final int dataLength = (int)(buffer.getShort(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF); parentMessage.limit(limit + headerLength + dataLength); wrapBuffer.wrap(buffer, limit + headerLength, dataLength); }
public int dataLength() { final int limit = parentMessage.limit(); return (int)(buffer.getShort(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF); }
public int getData(final MutableDirectBuffer dst, final int dstOffset, final int length) { final int headerLength = 2; final int limit = parentMessage.limit(); final int dataLength = (int)(buffer.getShort(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF); final int bytesCopied = Math.min(length, dataLength); parentMessage.limit(limit + headerLength + dataLength); buffer.getBytes(limit + headerLength, dst, dstOffset, bytesCopied); return bytesCopied; }
public int getData(final byte[] dst, final int dstOffset, final int length) { final int headerLength = 2; final int limit = parentMessage.limit(); final int dataLength = (int)(buffer.getShort(limit, java.nio.ByteOrder.LITTLE_ENDIAN) & 0xFFFF); final int bytesCopied = Math.min(length, dataLength); parentMessage.limit(limit + headerLength + dataLength); buffer.getBytes(limit + headerLength, dst, dstOffset, bytesCopied); return bytesCopied; }