dispose method
Implementation
Future<void> dispose() async {
if (_disposed) return;
_disposed = true;
for (final key in _pending.keys) {
_generations[key] = (_generations[key] ?? 0) + 1;
}
final sessions = _sessions.values.toList(growable: false);
_sessions.clear();
for (final session in sessions) {
await session.dispose();
}
}