readRecord method
Implementation
Future<void> readRecord(int index) async {
check();
int pos = 100 + index * 8;
if (pos - channelOffset < 0 ||
channelOffset + buf.limit <= pos ||
lastIndex == -1) {
ShpLogger().v("Filling buffer...");
channelOffset = pos;
await (afileReader as FileReaderRandom).setPosition(pos);
buf.clear();
await afileReader.readIntoBuffer(buf);
buf.flip();
}
buf.position = pos - channelOffset;
recOffset = buf.getInt32();
recLen = buf.getInt32();
lastIndex = index;
}