code: def process(self):
          
  
          while self.running:
              if self._processor_lock.acquire(blocking=False):
  
                  if self.ping_timer:
                      try:
                          self._check_ping()
                      except TimeoutError:
                          log.exception("BitfinexWSS.ping(): TimedOut! (%ss)" %
                                        self.ping_timer)
                      except (WebSocketConnectionClosedException,
                              ConnectionResetError):
                          log.exception("BitfinexWSS.ping(): Connection Error!")
                          self.conn = None
                  if not self.conn:
                      # The connection was killed - initiate restart
                      self._controller_q.put('restart')
  
                  skip_processing = False
  
                  try:
                      ts, data = self.receiver_q.get(timeout=0.1)
                  except queue.Empty:
                      skip_processing = True
                      ts = time.time()
                      data = None
  
                  if not skip_processing:
                      log.debug("Processing Data: %s", data)
                      if isinstance(data, list):
                          self.handle_data(ts, data)
                      else:  # Not a list, hence it could be a response
                          try:
                              self.handle_response(ts, data)
                          except UnknownEventError:
  
                              # We don't know what event this is- Raise an
                              # error & log data!
                              log.exception("main() - UnknownEventError: %s",
                                            data)
                              log.info("main() - Shutting Down due to "
                                       "Unknown Error!")
                              self._controller_q.put('stop')
                          except ConnectionResetError:
                              log.info("processor Thread: Connection Was reset, "
                                       "initiating restart")
                              self._controller_q.put('restart')
  
                  self._check_heartbeats(ts)
                  self._processor_lock.release()
              else:
                  time.sleep(0.5)
docs: Processes the Client queue, and passes the data to the respective
          methods.
          :return: