dispose method
Disposes of the adapter and cleans up resources
Implementation
@override
Future<void> dispose() async {
_connectionTimeoutTimer?.cancel();
await _channelSubscription?.cancel();
await _channel?.sink.close();
await _stateController.close();
await _messageController.close();
await _errorController.close();
}