load method
Implementation
Future<CacheEntry?> load(String url) async {
assert(url is String);
final Completer<CacheEntry?> completer = Completer<CacheEntry?>();
final int key = url.hashCode;
final File file = File("$path/${key % 10}/$key");
bool exists = await file.exists();
if (exists) {
CacheEntry entry;
try {
entry = await CacheEntry.fromFile(file);
stats.bytesRead += entry.length;
stats.hitFiles += 1;
completer.complete(entry);
} catch (error) {
await file.delete(recursive: false);
completer.complete(null);
}
} else {
completer.complete(null);
}
return completer.future;
}