Future<void> cancel() async { await _subscription?.cancel(); canceled = true; _subscription = null; }