if (timeDelta > yieldTimeoutNanos) return fallbackStrategy.waitFor(sequence, cursor, barrier);
/** * Wait for the given sequence to be available for consumption. * * @param consumer a spin observer to invoke when nothing is available to read * @param sequence to wait for * @return the sequence up to which is available * @throws InterruptedException if the thread needs awaking on a condition variable. */ long waitFor(final long sequence, Runnable consumer) throws InterruptedException { if (alerted) { WaitStrategy.alert(); } long availableSequence = waitStrategy.waitFor(sequence, cursorSequence, consumer); if (availableSequence < sequence) { return availableSequence; } return sequenceProducer.getHighestPublishedSequence(sequence, availableSequence); } /**
cursor = parent.readWait.waitFor(c, readCount, parent); if (postWaitCallback != null) { postWaitCallback.accept(cursor);
long endState = waitStrategy.waitFor(3L, this, spinObserver);
if (timeDelta > yieldTimeoutNanos) return fallbackStrategy.waitFor(sequence, cursor, barrier);
/** * Wait for the given sequence to be available for consumption. * * @param consumer a spin observer to invoke when nothing is available to read * @param sequence to wait for * @return the sequence up to which is available * @throws InterruptedException if the thread needs awaking on a condition variable. */ long waitFor(final long sequence, Runnable consumer) throws InterruptedException { if (alerted) { WaitStrategy.alert(); } long availableSequence = waitStrategy.waitFor(sequence, cursorSequence, consumer); if (availableSequence < sequence) { return availableSequence; } return sequenceProducer.getHighestPublishedSequence(sequence, availableSequence); } /**
cursor = parent.readWait.waitFor(c, readCount, parent); if (postWaitCallback != null) { postWaitCallback.accept(cursor);
long endState = waitStrategy.waitFor(3L, this, spinObserver);