@Override public void write(final MutableDirectBuffer buffer, final int offset) { messageHeaderEncoder .wrap(buffer, offset) .schemaId(requestEncoder.sbeSchemaId()) .templateId(requestEncoder.sbeTemplateId()) .blockLength(requestEncoder.sbeBlockLength()) .version(requestEncoder.sbeSchemaVersion()); requestEncoder .wrap(buffer, offset + messageHeaderEncoder.encodedLength()) .partitionId(partitionId) .key(key) .valueType(valueType) .intent(intent.value()) .putValue(encodedCmd, 0, encodedCmd.length); } }
@Test public void shouldNotHandleUnknownRequest() { // given headerEncoder .wrap(buffer, 0) .blockLength(commandRequestEncoder.sbeBlockLength()) .schemaId(commandRequestEncoder.sbeSchemaId()) .templateId(999) .version(1); // when final boolean isHandled = messageHandler.onRequest( serverOutput, DEFAULT_ADDRESS, buffer, 0, headerEncoder.encodedLength(), REQUEST_ID); // then assertThat(isHandled).isTrue(); assertThat(serverOutput.getSentResponses()).hasSize(1); final ErrorResponseDecoder errorDecoder = serverOutput.getAsErrorResponse(0); assertThat(errorDecoder.errorCode()).isEqualTo(ErrorCode.INVALID_MESSAGE_TEMPLATE); }
public ExecuteCommandRequestEncoder wrapAndApplyHeader( final MutableDirectBuffer buffer, final int offset, final MessageHeaderEncoder headerEncoder) { headerEncoder .wrap(buffer, offset) .blockLength(BLOCK_LENGTH) .templateId(TEMPLATE_ID) .schemaId(SCHEMA_ID) .version(SCHEMA_VERSION); return wrap(buffer, offset + MessageHeaderEncoder.ENCODED_LENGTH); }
@Test public void shouldNotHandleUnknownRequest() { // given headerEncoder .wrap(buffer, 0) .blockLength(commandRequestEncoder.sbeBlockLength()) .schemaId(commandRequestEncoder.sbeSchemaId()) .templateId(999) .version(1); // when final boolean isHandled = messageHandler.onRequest( serverOutput, DEFAULT_ADDRESS, buffer, 0, headerEncoder.encodedLength(), REQUEST_ID); // then assertThat(isHandled).isTrue(); assertThat(serverOutput.getSentResponses()).hasSize(1); final ErrorResponseDecoder errorDecoder = serverOutput.getAsErrorResponse(0); assertThat(errorDecoder.errorCode()).isEqualTo(ErrorCode.INVALID_MESSAGE_TEMPLATE); }
public ExecuteCommandRequestEncoder wrapAndApplyHeader( final MutableDirectBuffer buffer, final int offset, final MessageHeaderEncoder headerEncoder) { headerEncoder .wrap(buffer, offset) .blockLength(BLOCK_LENGTH) .templateId(TEMPLATE_ID) .schemaId(SCHEMA_ID) .version(SCHEMA_VERSION); return wrap(buffer, offset + MessageHeaderEncoder.ENCODED_LENGTH); }
@Override public void write(final MutableDirectBuffer buffer, final int offset) { messageHeaderEncoder .wrap(buffer, offset) .schemaId(requestEncoder.sbeSchemaId()) .templateId(requestEncoder.sbeTemplateId()) .blockLength(requestEncoder.sbeBlockLength()) .version(requestEncoder.sbeSchemaVersion()); requestEncoder .wrap(buffer, offset + messageHeaderEncoder.encodedLength()) .partitionId(partitionId) .key(key) .valueType(valueType) .intent(intent.value()) .putValue(encodedCmd, 0, encodedCmd.length); } }
@Override public void write(MutableDirectBuffer buffer, int offset) { headerEncoder .wrap(buffer, offset) .blockLength(bodyEncoder.sbeBlockLength()) .templateId(bodyEncoder.sbeTemplateId()) .schemaId(bodyEncoder.sbeSchemaId()) .version(bodyEncoder.sbeSchemaVersion()); offset += headerEncoder.encodedLength(); bodyEncoder .wrap(buffer, offset) .partitionId(partitionId) .key(key) .valueType(valueType) .intent(intent.value()) .putValue(value, 0, value.capacity()); } }
protected int writeCommandRequestToBuffer( final UnsafeBuffer buffer, final int partitionId, final Short protocolVersion, final ValueType type, final Intent intent) { int offset = 0; final int protocolVersionToWrite = protocolVersion != null ? protocolVersion : commandRequestEncoder.sbeSchemaVersion(); final ValueType eventTypeToWrite = type != null ? type : ValueType.NULL_VAL; headerEncoder .wrap(buffer, offset) .blockLength(commandRequestEncoder.sbeBlockLength()) .schemaId(commandRequestEncoder.sbeSchemaId()) .templateId(commandRequestEncoder.sbeTemplateId()) .version(protocolVersionToWrite); offset += headerEncoder.encodedLength(); commandRequestEncoder.wrap(buffer, offset); commandRequestEncoder .partitionId(partitionId) .valueType(eventTypeToWrite) .intent(intent.value()) .putValue(JOB_EVENT, 0, JOB_EVENT.length); return headerEncoder.encodedLength() + commandRequestEncoder.encodedLength(); }
protected int writeCommandRequestToBuffer( final UnsafeBuffer buffer, final int partitionId, final Short protocolVersion, final ValueType type, final Intent intent) { int offset = 0; final int protocolVersionToWrite = protocolVersion != null ? protocolVersion : commandRequestEncoder.sbeSchemaVersion(); final ValueType eventTypeToWrite = type != null ? type : ValueType.NULL_VAL; headerEncoder .wrap(buffer, offset) .blockLength(commandRequestEncoder.sbeBlockLength()) .schemaId(commandRequestEncoder.sbeSchemaId()) .templateId(commandRequestEncoder.sbeTemplateId()) .version(protocolVersionToWrite); offset += headerEncoder.encodedLength(); commandRequestEncoder.wrap(buffer, offset); commandRequestEncoder .partitionId(partitionId) .valueType(eventTypeToWrite) .intent(intent.value()) .putValue(JOB_EVENT, 0, JOB_EVENT.length); return headerEncoder.encodedLength() + commandRequestEncoder.encodedLength(); }