delete method

  1. @override
Future<void> delete(
  1. String key
)
override

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));
}