@Override public boolean hasNext() { switch (state) { case EMPTY_LOG_STREAM: seekToFirstEvent(); break; case NOT_ENOUGH_DATA: readNextAddress(); break; case EVENT_NOT_COMMITTED: checkIfNextEventIsCommitted(); break; case WRAP_NOT_CALLED: throw new IllegalStateException("Iterator not initialized"); } return state == IteratorState.EVENT_AVAILABLE; }
@Override public boolean hasNext() { switch (state) { case EMPTY_LOG_STREAM: seekToFirstEvent(); break; case NOT_ENOUGH_DATA: readNextAddress(); break; case EVENT_NOT_COMMITTED: checkIfNextEventIsCommitted(); break; case WRAP_NOT_CALLED: throw new IllegalStateException("Iterator not initialized"); } return state == IteratorState.EVENT_AVAILABLE; }
private void readNextEvent() { // initially we assume there is not enough data state = IteratorState.NOT_ENOUGH_DATA; final int remaining = byteBuffer.position() - bufferOffset; if (remaining > 0) { wrapNextEvent(bufferOffset); bufferOffset += nextEvent.getFragmentLength(); checkIfNextEventIsCommitted(); } else { readNextAddress(); } }
private void readNextEvent() { // initially we assume there is not enough data state = IteratorState.NOT_ENOUGH_DATA; final int remaining = byteBuffer.position() - bufferOffset; if (remaining > 0) { wrapNextEvent(bufferOffset); bufferOffset += nextEvent.getFragmentLength(); checkIfNextEventIsCommitted(); } else { readNextAddress(); } }
@Override public void seekToLastEvent() { seek(getLastPosition()); if (isNextEventInitialized()) { checkIfNextEventIsCommitted(); } }
@Override public void seekToLastEvent() { seek(getLastPosition()); if (isNextEventInitialized()) { checkIfNextEventIsCommitted(); } }