dispose method

  1. @override
Future<void> dispose()
override

Implementation

@override
Future<void> dispose() async {
  _logger.fine('[UDXTransport.dispose] Disposing UDXTransport. Closing ${_activeListeners.length} active listeners and ${_activeDialerConns.length} active dialer connections.');

  for (final listener in _activeListeners.toList()) {
    try {
      await listener.close();
    } catch (e) {
      _logger.fine('[UDXTransport.dispose] Error closing listener ${listener.addr}: $e');
    }
  }
  _activeListeners.clear();
  _logger.fine('[UDXTransport.dispose] All active listeners closed and cleared.');

  for (final conn in _activeDialerConns.toList()) {
    try {
      await conn.close();
    } catch (e) {
      _logger.fine('[UDXTransport.dispose] Error closing dialer connection ${conn.id}: $e');
    }
  }
  _activeDialerConns.clear();
  _logger.fine('[UDXTransport.dispose] All active dialer connections closed and cleared.');
}