private SegmentBuffer selectBuffer(final long startOffset) { if (currentSegment == null) { return null; } final int pos = (int) (startOffset % currentSegment.getFileSize()); return currentSegment.selectSegmentBuffer(pos); }
private SegmentBuffer selectBuffer(final long startOffset) { if (currentSegment == null) { return null; } final int pos = (int) (startOffset % currentSegment.getFileSize()); return currentSegment.selectSegmentBuffer(pos); }
private SegmentBuffer selectBuffer(final long startOffset) { if (currentSegment == null) { return null; } final int pos = (int) (startOffset % currentSegment.getFileSize()); return currentSegment.selectSegmentBuffer(pos); }
private void validateSequence(LogSegment logSegment) { LOGGER.info("validate logs."); final int fileSize = logSegment.getFileSize(); final ByteBuffer buffer = logSegment.sliceByteBuffer(); int position = 0; while (true) { if (position == fileSize) { break; } final int result = doValidateSequence(buffer, sequence.get()); if (result == -1) { break; } else { position += result; } } LOGGER.info("validate logs done."); }
@Override public ValidateResult validate(LogSegment segment) { final int fileSize = segment.getFileSize(); final ByteBuffer buffer = segment.sliceByteBuffer(); int position = 0; while (true) { if (position == fileSize) { return new ValidateResult(ValidateStatus.COMPLETE, fileSize); } final int result = consumeAndValidateMessage(buffer); if (result == -1) { return new ValidateResult(ValidateStatus.PARTIAL, position); } else { position += result; } } }
@Override public ValidateResult validate(LogSegment segment) { final int fileSize = segment.getFileSize(); final ByteBuffer buffer = segment.sliceByteBuffer(); int position = 0; while (true) { if (position == fileSize) { return new ValidateResult(ValidateStatus.COMPLETE, fileSize); } final int result = consumeAndValidateMessage(buffer); if (result == -1) { return new ValidateResult(ValidateStatus.PARTIAL, position); } else { position += result; } } }
offset += result.getValidatedSize(); if (result.getStatus() == LogSegmentValidator.ValidateStatus.COMPLETE) { segment.setWrotePosition(segment.getFileSize()); } else { break; final long maxOffset = latestSegment().getBaseOffset() + latestSegment().getFileSize(); final int relativeOffset = (int) (offset % fileSize); final LogSegment segment = locateSegment(offset);
@Override public ValidateResult validate(LogSegment segment) { final int fileSize = segment.getFileSize(); final ByteBuffer buffer = segment.sliceByteBuffer(); int position = 0; while (true) { if (position == fileSize) { return new ValidateResult(ValidateStatus.COMPLETE, fileSize); } final int result = consumeAndValidateMessage(segment, buffer); if (result == -1) { return new ValidateResult(ValidateStatus.PARTIAL, position); } else if (result == 0) { return new ValidateResult(ValidateStatus.COMPLETE, fileSize); } else { position += result; } } }
@Override public ValidateResult validate(LogSegment segment) { final int fileSize = segment.getFileSize(); final ByteBuffer buffer = segment.sliceByteBuffer(); int position = 0; while (true) { if (position == fileSize) { return new ValidateResult(ValidateStatus.COMPLETE, fileSize); } final int result = consumeAndValidateMessage(buffer); if (result == -1) { return new ValidateResult(ValidateStatus.PARTIAL, position); } else if (result == 0) { return new ValidateResult(ValidateStatus.COMPLETE, fileSize); } else { position += result; } } }
@Override public ValidateResult validate(LogSegment segment) { final int fileSize = segment.getFileSize(); final ByteBuffer buffer = segment.sliceByteBuffer(); int position = 0; while (true) { if (position == fileSize) { return new ValidateResult(ValidateStatus.COMPLETE, fileSize); } final int result = consumeAndValidateMessage(buffer); if (result == -1) { return new ValidateResult(ValidateStatus.PARTIAL, position); } else if (result == 0) { return new ValidateResult(ValidateStatus.COMPLETE, fileSize); } else { position += result; } } }