/** * Get the schema version number from the message header. * * @param buffer from which to read the value. * @param bufferOffset in the buffer at which the message header begins. * @return the value of the schema version number. */ public int getSchemaVersion(final DirectBuffer buffer, final int bufferOffset) { return Types.getInt(buffer, bufferOffset + schemaVersionOffset, schemaVersionType, schemaVersionByteOrder); }
final TokenListener listener) listener.onBeginMessage(msgTokens.get(0)); final int tokenIdx = decodeFields(buffer, i, actingVersion, msgTokens, 1, numTokens, listener); i += blockLength; final long packedValues = decodeGroups( buffer, i, actingVersion, msgTokens, tokenIdx, numTokens, listener); i = decodeData( buffer, bufferOffset(packedValues), msgTokens, tokenIndex(packedValues), numTokens, actingVersion, listener); listener.onEndMessage(msgTokens.get(numTokens - 1));
public JsonPrinter(final Ir ir) { this.ir = ir; headerDecoder = new OtfHeaderDecoder(ir.headerStructure()); }
final OtfHeaderDecoder otfHeaderDecoder = new OtfHeaderDecoder(ir.headerStructure()); assertThat(otfHeaderDecoder.getBlockLength(decodeBuffer, 0), is(22)); assertThat(otfHeaderDecoder.getSchemaId(decodeBuffer, 0), is(3)); assertThat(otfHeaderDecoder.getTemplateId(decodeBuffer, 0), is(1)); assertThat(otfHeaderDecoder.getSchemaVersion(decodeBuffer, 0), is(0)); OtfMessageDecoder.decode( decodeBuffer, otfHeaderDecoder.encodedLength(), MSG_ENCODER.sbeSchemaVersion(), MSG_ENCODER.sbeBlockLength(), inOrder.verify(mockTokenListener).onBeginComposite(any(), any(), eq(2), eq(17)); inOrder.verify(mockTokenListener).onEnum(any(), eq(decodeBuffer), eq(8), any(), eq(3), eq(6), eq(0)); inOrder.verify(mockTokenListener).onEncoding(any(), eq(decodeBuffer), eq(9), any(), eq(0)); inOrder.verify(mockTokenListener).onBitSet(any(), eq(decodeBuffer), eq(10), any(), eq(8), eq(12), eq(0)); inOrder.verify(mockTokenListener).onBeginComposite(any(), any(), eq(13), eq(16)); inOrder.verify(mockTokenListener).onEncoding(any(), eq(decodeBuffer), eq(14), any(), eq(0)); inOrder.verify(mockTokenListener).onEncoding(any(), eq(decodeBuffer), eq(22), any(), eq(0)); inOrder.verify(mockTokenListener).onEndComposite(any(), any(), eq(13), eq(16)); inOrder.verify(mockTokenListener).onEndComposite(any(), any(), eq(2), eq(17));
public void print(final StringBuilder output, final UnsafeBuffer buffer, final int bufferOffset) { final int templateId = headerDecoder.getTemplateId(buffer, bufferOffset); final int schemaId = headerDecoder.getSchemaId(buffer, bufferOffset); final int actingVersion = headerDecoder.getSchemaVersion(buffer, bufferOffset); final int blockLength = headerDecoder.getBlockLength(buffer, bufferOffset); validateId(schemaId); validateVersion(schemaId, actingVersion); final int messageOffset = bufferOffset + headerDecoder.encodedLength(); final List<Token> msgTokens = ir.getMessage(templateId); OtfMessageDecoder.decode( buffer, messageOffset, actingVersion, blockLength, msgTokens, new JsonTokenListener(output)); }
final int blockLength = isPresent ? Types.getInt( buffer, bufferOffset + blockLengthToken.offset(), final int numInGroup = isPresent ? Types.getInt( buffer, bufferOffset + numInGroupToken.offset(), listener.onGroupHeader(token, numInGroup); listener.onBeginGroup(token, i, numInGroup); final int afterFieldsIdx = decodeFields( buffer, bufferOffset, actingVersion, tokens, beginFieldsIdx, numTokens, listener); bufferOffset += blockLength; final long packedValues = decodeGroups( buffer, bufferOffset, actingVersion, tokens, afterFieldsIdx, numTokens, listener); bufferOffset = decodeData( buffer, bufferOffset(packedValues), tokens, tokenIndex(packedValues), numTokens, actingVersion, listener); listener.onEndGroup(token, i, numInGroup);
final TokenListener listener) listener.onBeginComposite(fieldToken, tokens, tokenIdx, toIndex); decodeComposite( fieldToken, buffer, listener.onEnum( fieldToken, buffer, bufferOffset + offset, tokens, i, nextFieldIdx - 1, actingVersion); break; listener.onBitSet( fieldToken, buffer, bufferOffset + offset, tokens, i, nextFieldIdx - 1, actingVersion); break; listener.onEncoding(typeToken, buffer, bufferOffset + offset, typeToken, actingVersion); break; listener.onEndComposite(fieldToken, tokens, tokenIdx, toIndex);
decodeComposite( fieldToken, buffer, listener.onEnum( fieldToken, buffer, bufferOffset + offset, tokens, i, nextFieldIdx - 2, actingVersion); break; listener.onBitSet( fieldToken, buffer, bufferOffset + offset, tokens, i, nextFieldIdx - 2, actingVersion); break; listener.onEncoding(fieldToken, buffer, bufferOffset + offset, typeToken, actingVersion); break;
private static long readEncodingAsLong( final DirectBuffer buffer, final int bufferIndex, final Token typeToken, final int actingVersion) { final PrimitiveValue constOrNotPresentValue = constOrNotPresentValue(typeToken, actingVersion); if (null != constOrNotPresentValue) { return constOrNotPresentValue.longValue(); } return Types.getLong(buffer, bufferIndex, typeToken.encoding()); }
Types.appendAsString(sb, buffer, index + (i * elementSize), encoding); sb.append(", ");
final OtfHeaderDecoder headerDecoder = new OtfHeaderDecoder(ir.headerStructure()); final UnsafeBuffer buffer = new UnsafeBuffer(encodedMsgBuffer); final int templateId = headerDecoder.getTemplateId(buffer, bufferOffset); final int schemaId = headerDecoder.getSchemaId(buffer, bufferOffset); final int actingVersion = headerDecoder.getSchemaVersion(buffer, bufferOffset); final int blockLength = headerDecoder.getBlockLength(buffer, bufferOffset); bufferOffset += headerDecoder.encodedLength(); bufferOffset = OtfMessageDecoder.decode( buffer, bufferOffset,
/** * Get the template id from the message header. * * @param buffer from which to read the value. * @param bufferOffset in the buffer at which the message header begins. * @return the value of the template id. */ public int getTemplateId(final DirectBuffer buffer, final int bufferOffset) { return Types.getInt(buffer, bufferOffset + templateIdOffset, templateIdType, templateIdByteOrder); }
private static long readEncodingAsLong( final DirectBuffer buffer, final int bufferIndex, final Token typeToken, final int actingVersion) { final PrimitiveValue constOrNotPresentValue = constOrNotPresentValue(typeToken, actingVersion); if (null != constOrNotPresentValue) { return constOrNotPresentValue.longValue(); } return Types.getLong(buffer, bufferIndex, typeToken.encoding()); } }
Types.appendAsString(output, buffer, index + (i * elementSize), encoding); output.append(", ");
/** * Get the block length of the root block in the message. * * @param buffer from which to read the value. * @param bufferOffset in the buffer at which the message header begins. * @return the length of the root block in the coming message. */ public int getBlockLength(final DirectBuffer buffer, final int bufferOffset) { return Types.getInt(buffer, bufferOffset + blockLengthOffset, blockLengthType, blockLengthByteOrder); } }
/** * Get the schema id number from the message header. * * @param buffer from which to read the value. * @param bufferOffset in the buffer at which the message header begins. * @return the value of the schema id number. */ public int getSchemaId(final DirectBuffer buffer, final int bufferOffset) { return Types.getInt(buffer, bufferOffset + schemaIdOffset, schemaIdType, schemaIdByteOrder); }
/** * Get the template id from the message header. * * @param buffer from which to read the value. * @param bufferOffset in the buffer at which the message header begins. * @return the value of the template id. */ public int getTemplateId(final DirectBuffer buffer, final int bufferOffset) { return Types.getInt(buffer, bufferOffset + templateIdOffset, templateIdType, templateIdByteOrder); }
/** * Get the schema version number from the message header. * * @param buffer from which to read the value. * @param bufferOffset in the buffer at which the message header begins. * @return the value of the schema version number. */ public int getSchemaVersion(final DirectBuffer buffer, final int bufferOffset) { return Types.getInt(buffer, bufferOffset + schemaVersionOffset, schemaVersionType, schemaVersionByteOrder); }
/** * Get the schema id number from the message header. * * @param buffer from which to read the value. * @param bufferOffset in the buffer at which the message header begins. * @return the value of the schema id number. */ public int getSchemaId(final DirectBuffer buffer, final int bufferOffset) { return Types.getInt(buffer, bufferOffset + schemaIdOffset, schemaIdType, schemaIdByteOrder); }