complete method
Implementation
@override
Future<void> complete(String id) async {
final int? offset = _offsets.remove(id);
final String? topic = _topics.remove(id);
if (offset == null || topic == null) return;
// Past it, not at it: a committed offset is where reading resumes, so
// committing the record's own offset would deliver it again forever.
await client.commit(topic, offset + 1);
}