delete method
Delete a single object.
Implementation
@override
Future<void> delete(String key) async {
checkNotDisposed();
final manifest = await _readManifest(key);
if (manifest != null) {
// Fast path: manifest tells us exactly which chunks exist.
await _deleteGeneration(key, manifest);
} else {
// Defensive sweep: no manifest, but orphaned chunks (from a failed
// first write) might exist under any generation.
await _backing.deletePrefix('$key$generationPrefix');
}
await _backing.delete(_manifestKey(key));
}