code: def loop_start(self):
          
          if self._thread is not None:
              return MQTT_ERR_INVAL
  
          self._thread_terminate = False
          self._thread = threading.Thread(target=self._thread_main)
          self._thread.daemon = True
          self._thread.start()
docs: This is part of the threaded client interface. Call this once to
          start a new thread to process network traffic. This provides an
          alternative to repeatedly calling loop() yourself.