code: def recv(self):
      if not self.client.connected:
          self._try_to_establish_connection()
      while self._is_active():
          try:
              data = self.client.recv()
              self._on_successful_connect()
              return data
          except WebSocketTimeoutException:
              raise
          except WebSocketConnectionClosedException:
              if self._is_active():
                  self._handle_lost_connection()
              else:
                  raise
          except WebsocketNotConnectedException:
              if self._is_active():
                  self._handle_lost_connection()
          except Exception:
              if self._is_active():
                  self._handle_lost_connection()
  
imports: import random
  from websocket import WebSocketConnectionClosedException, WebSocketTimeoutException
  from neptune.common.websockets.websocket_client_adapter import WebsocketClientAdapter, WebsocketNotConnectedException
label_desc: Use image node_id 3 for calling the ReconnectingWebsocket obj's underlying member method code with example usage: obj.recv() and returns: data