getAndRemove method
Implementation
Future<Uint8List> getAndRemove(Tile tile) async {
Uint8List? result = _writebufferForTiles.remove(tile);
if (result != null) {
_sizes.remove(tile);
return result;
}
assert(_ioSink != null || _readbufferFile != null);
await writeComplete();
assert(_readbufferFile != null);
_TempfileIndex? tempfileIndex = _indexes[tile];
assert(tempfileIndex != null, "indexes for $tile not found");
Readbuffer readbuffer = await _readbufferFile!.readFromFileAt(tempfileIndex!.position, tempfileIndex.length);
result = readbuffer.getBuffer(0, tempfileIndex.length);
_sizes.remove(tile);
_indexes.remove(tile);
//if (_indexes.isEmpty) dispose();
return result;
}