code: async def _recv_loop(self):
          
          while self._user_connected and not self._reconnecting:
              self._log.debug('Receiving items from the network...')
              try:
                  body = await self._connection.recv()
              except IOError as e:
                  self._log.info('Connection closed while receiving data')
                  self._start_reconnect(e)
                  return
  
              try:
                  message = self._state.decrypt_message_data(body)
              except TypeNotFoundError as e:
                  # Received object which we don't know how to deserialize
                  self._log.info('Type %08x not found, remaining data %r',
                               e.invalid_constructor_id, e.remaining)
                  continue
              except SecurityError as e:
                  # A step while decoding had the incorrect data. This message
                  # should not be considered safe and it should be ignored.
                  self._log.warning('Security error while unpacking a '
                                  'received message: %s', e)
                  continue
              except BufferError as e:
                  if isinstance(e, InvalidBufferError) and e.code == 404:
                      self._log.info('Broken authorization key; resetting')
                  else:
                      self._log.warning('Invalid buffer %s', e)
  
                  self.auth_key.key = None
                  if self._auth_key_callback:
                      self._auth_key_callback(None)
  
                  self._start_reconnect(e)
                  return
              except Exception as e:
                  self._log.exception('Unhandled error while receiving data')
                  self._start_reconnect(e)
                  return
  
              try:
                  await self._process_message(message)
              except Exception:
                  self._log.exception('Unhandled error while processing msgs')
docs: This loop is responsible for reading all incoming responses
          from the network, decrypting and handling or dispatching them.
  
          Besides `connect`, only this method ever receives data.