public static int maskedCrc32c(byte[] data) { return maskedCrc32c(data, 0, data.length); }
private boolean readBlockHeader() throws IOException { frameHeader.clear(); int read = readBytes(rbc, frameHeader); if (read == -1) { return false; } if (read < frameHeader.capacity()) { throw new EOFException("encountered EOF while reading block header"); } frameHeader.flip(); return true; }
@Override public void close() throws IOException { try { rbc.close(); } finally { if (!closed) { closed = true; } if (input != null) { releaseDirectByteBuffer(input); } if (uncompressedDirect != null) { releaseDirectByteBuffer(uncompressedDirect); } } }
SnappyFramed.skip(rbc, frameMetaData.length, ByteBuffer.wrap(buffer)); return ensureBuffer(); input.limit(frameMetaData.length); final int actualRead = readBytes(rbc, input); if (actualRead != frameMetaData.length) { throw new EOFException("unexpectd EOF when reading frame"); final int actualCrc32c = SnappyFramed.maskedCrc32c(buffer, position, valid - position); if (frameData.checkSum != actualCrc32c) {
public static int maskedCrc32c(byte[] data, int offset, int length) { final PureJavaCrc32C crc32c = new PureJavaCrc32C(); crc32c.update(data, offset, length); return mask(crc32c.getIntegerValue()); }
@Override public final void close() throws IOException { if (closed) { return; } try { flush(); out.close(); } finally { closed = true; releaseDirectByteBuffer(directInputBuffer); releaseDirectByteBuffer(outputBuffer); } }
final int crc32c = maskedCrc32c(input, 0, length);
final ByteBuffer actualBuffer = ByteBuffer.wrap(actualHeader); final int read = SnappyFramed.readBytes(in, actualBuffer); if (read < expectedHeader.length) { throw new EOFException(
/** * @param size */ private void allocateBuffersBasedOnSize(int size) { if (input != null) { releaseDirectByteBuffer(input); } if (uncompressedDirect != null) { releaseDirectByteBuffer(uncompressedDirect); } input = ByteBuffer.allocateDirect(size); final int maxCompressedLength = Snappy.maxCompressedLength(size); uncompressedDirect = ByteBuffer.allocateDirect(maxCompressedLength); buffer = new byte[maxCompressedLength]; }