protected boolean fillDrawBuffer(ScatteringByteChannel channel) throws IOException { reset(); int readBytes = memory.writeBytes(channel); if (readBytes > 0) { // get row capacity in buffer while (memory.isReadable()) { if (memory.readableBytes() < SizeOf.SIZE_OF_INT) { return true; } int recordSize = PlatformDependent.getInt(memory.address() + memory.readerPosition()); assert recordSize > 0; if (memory.readableBytes() < recordSize) { return true; } else { memory.readerPosition(memory.readerPosition() + recordSize); } rowNum++; } return true; } else { return false; } }
protected boolean fillDrawBuffer(ScatteringByteChannel channel) throws IOException { reset(); int readBytes = memory.writeBytes(channel); if (readBytes > 0) { // get row capacity in buffer while (memory.isReadable()) { if (memory.readableBytes() < SizeOf.SIZE_OF_INT) { return true; } int recordSize = PlatformDependent.getInt(memory.address() + memory.readerPosition()); assert recordSize > 0; if (memory.readableBytes() < recordSize) { return true; } else { memory.readerPosition(memory.readerPosition() + recordSize); } rowNum++; } return true; } else { return false; } }