@Override public boolean applies(RecordMetadata m) { if (m.getProtocolVersion() > Protocol.PROTOCOL_VERSION) { throw new RuntimeException( String.format( "Cannot handle event with version newer " + "than what is implemented by broker (%d > %d)", m.getProtocolVersion(), Protocol.PROTOCOL_VERSION)); } return true; } }
@Override public boolean applies(RecordMetadata m) { if (m.getProtocolVersion() > Protocol.PROTOCOL_VERSION) { throw new RuntimeException( String.format( "Cannot handle event with version newer " + "than what is implemented by broker (%d > %d)", m.getProtocolVersion(), Protocol.PROTOCOL_VERSION)); } return true; } }
@Test public void shouldWriteCommandRequestProtocolVersion() { // given final short clientProtocolVersion = Protocol.PROTOCOL_VERSION - 1; final int writtenLength = writeCommandRequestToBuffer( buffer, LOG_STREAM_PARTITION_ID, clientProtocolVersion, ValueType.JOB, JobIntent.CREATE); // when final boolean isHandled = messageHandler.onRequest(serverOutput, DEFAULT_ADDRESS, buffer, 0, writtenLength, 123); // then assertThat(isHandled).isTrue(); final BufferedLogStreamReader logStreamReader = new BufferedLogStreamReader(logStream, true); waitForAvailableEvent(logStreamReader); final LoggedEvent loggedEvent = logStreamReader.next(); final RecordMetadata eventMetadata = new RecordMetadata(); loggedEvent.readMetadata(eventMetadata); assertThat(eventMetadata.getProtocolVersion()).isEqualTo(clientProtocolVersion); }
@Test public void shouldWriteCommandRequestProtocolVersion() { // given final short clientProtocolVersion = Protocol.PROTOCOL_VERSION - 1; final int writtenLength = writeCommandRequestToBuffer( buffer, LOG_STREAM_PARTITION_ID, clientProtocolVersion, ValueType.JOB, JobIntent.CREATE); // when final boolean isHandled = messageHandler.onRequest(serverOutput, DEFAULT_ADDRESS, buffer, 0, writtenLength, 123); // then assertThat(isHandled).isTrue(); final BufferedLogStreamReader logStreamReader = new BufferedLogStreamReader(logStream, true); waitForAvailableEvent(logStreamReader); final LoggedEvent loggedEvent = logStreamReader.next(); final RecordMetadata eventMetadata = new RecordMetadata(); loggedEvent.readMetadata(eventMetadata); assertThat(eventMetadata.getProtocolVersion()).isEqualTo(clientProtocolVersion); }