aeron-driver/src/main/java/io/aeron/driver/PublicationImage.java
public void onGapDetected(final int termId, final int termOffset, final int length)
    {
        final long changeNumber = beginLossChange + 1;

        beginLossChange = changeNumber;

        lossTermId = termId;
        lossTermOffset = termOffset;
        lossLength = length;

        endLossChange = changeNumber;

        if (null != reportEntry)
        {
            reportEntry.recordObservation(length, cachedEpochClock.time());
        }
        else if (null != lossReport)
        {
            reportEntry = lossReport.createEntry(
                length, cachedEpochClock.time(), sessionId, streamId, channel(), sourceAddress.toString());

            if (null == reportEntry)
            {
                lossReport = null;
            }
        }
    }
public void onGapDetected(final int termId, final int termOffset, final int length)
    {
        final long changeNumber = beginLossChange + 1;

        beginLossChange = changeNumber;

        lossTermId = termId;
        lossTermOffset = termOffset;
        lossLength = length;

        endLossChange = changeNumber;

        if (null != reportEntry)
        {
            reportEntry.recordObservation(length, cachedEpochClock.time());
        }
        else if (null != lossReport)
        {
            reportEntry = lossReport.createEntry(
                length, cachedEpochClock.time(), sessionId, streamId, channel(), sourceAddress.toString());

            if (null == reportEntry)
            {
                lossReport = null;
            }
        }
    }
Called from the {@link LossDetector} when gap is detected by the {@link DriverConductor} thread.

{@inheritDoc}