public String toString() { final StringBuilder sb = new StringBuilder(); final String formattedFlags = String.format("%1$8s", Integer.toBinaryString(flags())).replace(' ', '0'); sb.append("SETUP Message{") .append("frame_length=").append(frameLength()) .append(" version=").append(version()) .append(" flags=").append(formattedFlags) .append(" type=").append(headerType()) .append(" term_offset=").append(termOffset()) .append(" session_id=").append(sessionId()) .append(" stream_id=").append(streamId()) .append(" initial_term_id=").append(initialTermId()) .append(" active_term_id=").append(activeTermId()) .append(" term_length=").append(termLength()) .append(" mtu_length=").append(mtuLength()) .append(" ttl=").append(ttl()) .append("}"); return sb.toString(); } }
private static void dissect(final SetupFlyweight msg, final StringBuilder builder) { builder .append("SETUP ") .append(msg.flags()) .append(" len ") .append(msg.frameLength()) .append(' ') .append(msg.sessionId()) .append(':') .append(msg.streamId()) .append(':') .append(msg.activeTermId()) .append(' ') .append(msg.initialTermId()) .append(" @") .append(msg.termOffset()) .append(' ') .append(msg.termLength()) .append(" MTU ") .append(msg.mtuLength()) .append(" TTL ") .append(msg.ttl()); }
@Before public void setUp() { when(mockHeader.sessionId()).thenReturn(SESSION_ID); when(mockHeader.streamId()).thenReturn(STREAM_ID); when(mockHeader.termId()).thenReturn(ACTIVE_TERM_ID); when(mockHeader.termOffset()).thenReturn(TERM_OFFSET); when(mockImage.sessionId()).thenReturn(SESSION_ID); when(mockImage.streamId()).thenReturn(STREAM_ID); when(mockSetupHeader.sessionId()).thenReturn(SESSION_ID); when(mockSetupHeader.streamId()).thenReturn(STREAM_ID); when(mockSetupHeader.activeTermId()).thenReturn(ACTIVE_TERM_ID); when(mockSetupHeader.initialTermId()).thenReturn(INITIAL_TERM_ID); when(mockSetupHeader.termOffset()).thenReturn(TERM_OFFSET); when(mockSetupHeader.mtuLength()).thenReturn(MTU_LENGTH); when(mockSetupHeader.termLength()).thenReturn(TERM_LENGTH); }
@Test public void shouldSendSetupFrameOnChannelWhenTimeoutWithoutStatusMessage() { sender.doWork(); assertThat(receivedFrames.size(), is(1)); currentTimestamp += Configuration.PUBLICATION_SETUP_TIMEOUT_NS - 1; sender.doWork(); assertThat(receivedFrames.size(), is(1)); currentTimestamp += 10; sender.doWork(); assertThat(receivedFrames.size(), is(2)); setupHeader.wrap(new UnsafeBuffer(receivedFrames.remove())); assertThat(setupHeader.frameLength(), is(SetupFlyweight.HEADER_LENGTH)); assertThat(setupHeader.initialTermId(), is(INITIAL_TERM_ID)); assertThat(setupHeader.activeTermId(), is(INITIAL_TERM_ID)); assertThat(setupHeader.streamId(), is(STREAM_ID)); assertThat(setupHeader.sessionId(), is(SESSION_ID)); assertThat(setupHeader.headerType(), is(HeaderFlyweight.HDR_TYPE_SETUP)); assertThat(setupHeader.flags(), is((short)0)); assertThat(setupHeader.version(), is((short)HeaderFlyweight.CURRENT_VERSION)); }
private void setupMessageCheck(final long nowNs, final int activeTermId, final int termOffset) { if ((timeOfLastSetupNs + PUBLICATION_SETUP_TIMEOUT_NS) - nowNs < 0) { timeOfLastSetupNs = nowNs; timeOfLastSendOrHeartbeatNs = nowNs; setupBuffer.clear(); setupHeader .activeTermId(activeTermId) .termOffset(termOffset) .sessionId(sessionId) .streamId(streamId) .initialTermId(initialTermId) .termLength(termBufferLength) .mtuLength(mtuLength) .ttl(channelEndpoint.multicastTtl()); if (SetupFlyweight.HEADER_LENGTH != channelEndpoint.send(setupBuffer)) { shortSends.increment(); } if (hasReceivers) { shouldSendSetupFrame = false; } } }
private void fillSetupFrame(final SetupFlyweight header, final int termOffset) { header.wrap(setupBuffer); header .streamId(STREAM_ID) .sessionId(SESSION_ID) .initialTermId(INITIAL_TERM_ID) .activeTermId(ACTIVE_TERM_ID) .termOffset(termOffset) .frameLength(SetupFlyweight.HEADER_LENGTH) .headerType(HeaderFlyweight.HDR_TYPE_SETUP) .flags((byte)0) .version(HeaderFlyweight.CURRENT_VERSION); } }
final int transportIndex) final int streamId = header.streamId(); final StreamInterest streamInterest = streamInterestByIdMap.get(streamId);
public String toString() { final StringBuilder sb = new StringBuilder(); final String formattedFlags = String.format("%1$8s", Integer.toBinaryString(flags())).replace(' ', '0'); sb.append("SETUP Message{") .append("frame_length=").append(frameLength()) .append(" version=").append(version()) .append(" flags=").append(formattedFlags) .append(" type=").append(headerType()) .append(" term_offset=").append(termOffset()) .append(" session_id=").append(sessionId()) .append(" stream_id=").append(streamId()) .append(" initial_term_id=").append(initialTermId()) .append(" active_term_id=").append(activeTermId()) .append(" term_length=").append(termLength()) .append(" mtu_length=").append(mtuLength()) .append(" ttl=").append(ttl()) .append("}"); return sb.toString(); } }
public String toString() { final StringBuilder sb = new StringBuilder(); final String formattedFlags = String.format("%1$8s", Integer.toBinaryString(flags())).replace(' ', '0'); sb.append("SETUP Message{") .append("frame_length=").append(frameLength()) .append(" version=").append(version()) .append(" flags=").append(formattedFlags) .append(" type=").append(headerType()) .append(" term_offset=").append(termOffset()) .append(" session_id=").append(sessionId()) .append(" stream_id=").append(streamId()) .append(" initial_term_id=").append(initialTermId()) .append(" active_term_id=").append(activeTermId()) .append(" term_length=").append(termLength()) .append(" mtu_length=").append(mtuLength()) .append(" ttl=").append(ttl()) .append("}"); return sb.toString(); } }
private static void dissect(final SetupFlyweight msg, final StringBuilder builder) { builder .append("SETUP ") .append(msg.flags()) .append(" len ") .append(msg.frameLength()) .append(' ') .append(msg.sessionId()) .append(':') .append(msg.streamId()) .append(':') .append(msg.activeTermId()) .append(' ') .append(msg.initialTermId()) .append(" @") .append(msg.termOffset()) .append(' ') .append(msg.termLength()) .append(" MTU ") .append(msg.mtuLength()) .append(" TTL ") .append(msg.ttl()); }
private void setupMessageCheck(final long nowNs, final int activeTermId, final int termOffset) { if ((timeOfLastSetupNs + PUBLICATION_SETUP_TIMEOUT_NS) - nowNs < 0) { timeOfLastSetupNs = nowNs; timeOfLastSendOrHeartbeatNs = nowNs; setupBuffer.clear(); setupHeader .activeTermId(activeTermId) .termOffset(termOffset) .sessionId(sessionId) .streamId(streamId) .initialTermId(initialTermId) .termLength(termBufferLength) .mtuLength(mtuLength) .ttl(channelEndpoint.multicastTtl()); if (SetupFlyweight.HEADER_LENGTH != channelEndpoint.send(setupBuffer)) { shortSends.increment(); } if (hasReceivers) { shouldSendSetupFrame = false; } } }
private void setupMessageCheck(final long nowNs, final int activeTermId, final int termOffset) { if ((timeOfLastSetupNs + PUBLICATION_SETUP_TIMEOUT_NS) - nowNs < 0) { timeOfLastSetupNs = nowNs; timeOfLastSendOrHeartbeatNs = nowNs; setupBuffer.clear(); setupHeader .activeTermId(activeTermId) .termOffset(termOffset) .sessionId(sessionId) .streamId(streamId) .initialTermId(initialTermId) .termLength(termBufferLength) .mtuLength(mtuLength) .ttl(channelEndpoint.multicastTtl()); if (SetupFlyweight.HEADER_LENGTH != channelEndpoint.send(setupBuffer)) { shortSends.increment(); } if (hasReceivers) { shouldSendSetupFrame = false; } } }
final int transportIndex) final int streamId = header.streamId(); final StreamInterest streamInterest = streamInterestByIdMap.get(streamId);
final int transportIndex) final int streamId = header.streamId(); final StreamInterest streamInterest = streamInterestByIdMap.get(streamId);