@Test public void shouldGapFillMissingMessagesFollowedByApplicationMessage() { final int endSeqNo = endSeqNoForTwoMessages(); onReplay(endSeqNo, inv -> { final int offset = setupCapturingClaim(); final int srcLength = onExampleMessage(endSeqNo); assertResentGapFillThenMessage(BEGIN_SEQ_NO, offset, srcLength); return true; }); replayer.doWork(); verifyIllegalStateException(); }
public int doWork() { int work = replayerCommandQueue.poll(); work += pollReplayerChannels(); return work + inboundSubscription.controlledPoll(this, POLL_LIMIT); }
Replayer implements Agent, ControlledFragmentHandler { public int doWork() { int work = replayerCommandQueue.poll(); work += pollReplayerChannels(); return work + inboundSubscription.controlledPoll(this, POLL_LIMIT); } }
Replayer implements Agent, ControlledFragmentHandler { public int doWork() { int work = replayerCommandQueue.poll(); work += pollReplayerChannels(); return work + inboundSubscription.controlledPoll(this, POLL_LIMIT); } Replayer(
        final ReplayQuery outboundReplayQuery,
        final ExclusivePublication publication,
        final BufferClaim bufferClaim,
        final IdleStrategy idleStrategy,
        final ErrorHandler errorHandler,
        final int maxClaimAttempts,
        final Subscription inboundSubscription,
        final String agentNamePrefix,
        final EpochClock clock,
        final Set<String> gapfillOnReplayMessageTypes,
        final IntHashSet gapfillOnRetransmitILinkTemplateIds,
        final ReplayHandler replayHandler,
        final ILink3RetransmitHandler iLink3RetransmitHandler,
        final SenderSequenceNumbers senderSequenceNumbers,
        final FixSessionCodecsFactory fixSessionCodecsFactory,
        final int maxBytesInBuffer,
        final ReplayerCommandQueue replayerCommandQueue,
        final EpochFractionFormat epochFractionFormat,
        final AtomicCounter currentReplayCount,
        final int maxConcurrentSessionReplays); }
Replayer implements Agent, ControlledFragmentHandler { public int doWork() { int work = replayerCommandQueue.poll(); work += pollReplayerChannels(); return work + inboundSubscription.controlledPoll(this, POLL_LIMIT); } Replayer(
        final ReplayQuery outboundReplayQuery,
        final ExclusivePublication publication,
        final BufferClaim bufferClaim,
        final IdleStrategy idleStrategy,
        final ErrorHandler errorHandler,
        final int maxClaimAttempts,
        final Subscription inboundSubscription,
        final String agentNamePrefix,
        final EpochClock clock,
        final Set<String> gapfillOnReplayMessageTypes,
        final IntHashSet gapfillOnRetransmitILinkTemplateIds,
        final ReplayHandler replayHandler,
        final ILink3RetransmitHandler iLink3RetransmitHandler,
        final SenderSequenceNumbers senderSequenceNumbers,
        final FixSessionCodecsFactory fixSessionCodecsFactory,
        final int maxBytesInBuffer,
        final ReplayerCommandQueue replayerCommandQueue,
        final EpochFractionFormat epochFractionFormat,
        final AtomicCounter currentReplayCount,
        final int maxConcurrentSessionReplays); Action onFragment(
        final DirectBuffer buffer, final int start, final int length, final Header header); int doWork(); void onClose(); String roleName(); }
Replayer implements Agent, ControlledFragmentHandler { public int doWork() { int work = replayerCommandQueue.poll(); work += pollReplayerChannels(); return work + inboundSubscription.controlledPoll(this, POLL_LIMIT); } Replayer(
        final ReplayQuery outboundReplayQuery,
        final ExclusivePublication publication,
        final BufferClaim bufferClaim,
        final IdleStrategy idleStrategy,
        final ErrorHandler errorHandler,
        final int maxClaimAttempts,
        final Subscription inboundSubscription,
        final String agentNamePrefix,
        final EpochClock clock,
        final Set<String> gapfillOnReplayMessageTypes,
        final IntHashSet gapfillOnRetransmitILinkTemplateIds,
        final ReplayHandler replayHandler,
        final ILink3RetransmitHandler iLink3RetransmitHandler,
        final SenderSequenceNumbers senderSequenceNumbers,
        final FixSessionCodecsFactory fixSessionCodecsFactory,
        final int maxBytesInBuffer,
        final ReplayerCommandQueue replayerCommandQueue,
        final EpochFractionFormat epochFractionFormat,
        final AtomicCounter currentReplayCount,
        final int maxConcurrentSessionReplays); Action onFragment(
        final DirectBuffer buffer, final int start, final int length, final Header header); int doWork(); void onClose(); String roleName(); static final int MOST_RECENT_MESSAGE; }