public String getLatestMessage() { return latestTestRequestMessageBuffer.getAscii(0, latestTestRequestMessageLength); }
private String getSentMessage() { final MutableAsciiBuffer buffer = (MutableAsciiBuffer)this.bufferCaptor.getValue(); return buffer.getAscii(offsetCaptor.getValue(), lengthCaptor.getValue()); }
public Action onMessage( final DirectBuffer buffer, final int offset, final int length, final int libraryId, final Session session, final int sequenceIndex, final int messageType, final long timestampInNs, final long position) { if (messageType == ExecutionReportDecoder.MESSAGE_TYPE) { asciiBuffer.wrap(buffer, offset, length); System.out.println("Received report: " + asciiBuffer.getAscii(0, length)); executionReport.decode(asciiBuffer, 0, length); System.out.println("Parsed report: " + executionReport); state = State.SESSION_CONNECTED; } return CONTINUE; }
private void hasNotOverwrittenSeperatorChar() { final String lengthSection = resultAsciiBuffer.getAscii(offset + 11, 11); assertEquals("9=126\00135=1\001", lengthSection); }
private void assertEndsWithValidChecksum(final int afterOffset) { final String message = resultAsciiBuffer.getAscii(afterOffset, resultAsciiBuffer.capacity() - afterOffset); final Matcher matcher = Pattern.compile("10=\\d+\001").matcher(message); assertTrue(message, matcher.find()); }
int pollData() throws IOException { final ByteBuffer buffer = ByteBuffer.allocateDirect(BUFFER_SIZE); final MutableAsciiBuffer asciiBuffer = new MutableAsciiBuffer(buffer); socket.configureBlocking(false); final int read = socket.read(buffer); socket.configureBlocking(true); if (read > 0) { DebugLogger.log(FIX_TEST, "< [" + asciiBuffer.getAscii(OFFSET, read) + "] for poll"); } return read; }
private void assertResultBufferHasSetPossDupFlagAndSendingTimeUpdates() { final String resultAsAscii = resultAsciiBuffer.getAscii(0, resultAsciiBuffer.capacity()); assertThat(resultAsAscii, containsString("43=Y")); assertThat(resultAsAscii, containsString(ORIG_SENDING_TIME_PREFIX_AS_STR + ORIGINAL_SENDING_TIME + '\001')); assertThat(resultAsAscii, containsString("52=" + DATE_TIME_STR + '\001')); }
private void assertEncodesTo(final Encoder encoder, final String expectedValue) { final long result = encoder.encode(buffer, 1); final int length = Encoder.length(result); final int offset = Encoder.offset(result); assertEquals(expectedValue, buffer.getAscii(offset, expectedValue.length())); assertEquals(expectedValue.length(), length); }
void send(final Encoder encoder) { try { final long result = encoder.encode(writeAsciiBuffer, OFFSET); final int offset = Encoder.offset(result); final int length = Encoder.length(result); encoder.reset(); writeBuffer.position(offset).limit(offset + length); final int written = socket.write(writeBuffer); assertEquals(length, written); DebugLogger.log(FIX_TEST, "> [" + writeAsciiBuffer.getAscii(offset, length) + "]"); writeBuffer.clear(); } catch (final IOException ex) { LangUtil.rethrowUnchecked(ex); } }
@Test public void canEncodeDecimalFloat() { final int length = input.length(); final UnsafeBuffer buffer = new UnsafeBuffer(new byte[LONGEST_FLOAT_LENGTH]); final MutableAsciiBuffer string = new MutableAsciiBuffer(buffer); final DecimalFloat price = new DecimalFloat(value, scale); final int encodedLength = string.putFloatAscii(1, price); assertEquals(input, string.getAscii(1, length)); assertEquals(length, encodedLength); } }
<T extends Decoder> T readMessage(final T decoder) { final ByteBuffer buffer = ByteBuffer.allocateDirect(BUFFER_SIZE); final MutableAsciiBuffer asciiBuffer = new MutableAsciiBuffer(buffer); try { final int read = socket.read(buffer); DebugLogger.log(FIX_TEST, "< [" + asciiBuffer.getAscii(OFFSET, read) + "] for attempted: " + decoder.getClass()); decoder.decode(asciiBuffer, OFFSET, read); if (!decoder.validate()) { fail("Failed: " + RejectReason.decode(decoder.rejectReason()) + " for " + decoder.invalidTagId()); } } catch (final IOException ex) { LangUtil.rethrowUnchecked(ex); } return decoder; }
private void assertResultBufferHasGapFillMessage( final int claimedLength, final int msgSeqNum, final int newSeqNo) { final int offset = offset() + MESSAGE_FRAME_BLOCK_LENGTH; final int length = claimedLength - MESSAGE_FRAME_BLOCK_LENGTH; final String message = resultAsciiBuffer.getAscii(offset, length); final SequenceResetDecoder sequenceReset = new SequenceResetDecoder(); sequenceReset.decode(resultAsciiBuffer, offset, length); final HeaderDecoder header = sequenceReset.header(); if (!sequenceReset.validate()) { fail(message + "%n" + sequenceReset.invalidTagId() + " " + RejectReason.decode(sequenceReset.rejectReason())); } assertTrue(message, sequenceReset.gapFillFlag()); assertEquals(message, msgSeqNum, header.msgSeqNum()); assertEquals(newSeqNo, sequenceReset.newSeqNo()); assertTrue(message, header.possDupFlag()); }