def run(self, blocking: bool=True):
if not self._run_control_loop:<EOL><INDENT>err = ("<STR_LIT>"<EOL>"<STR_LIT>")<EOL>raise RuntimeError(err)<EOL><DEDENT>self._setup()<EOL>self._heartbeat_reciever.start()<EOL>if blocking:<EOL><INDENT>return self.loop.start()<EOL><DEDENT>else:<EOL><INDENT>self._run_thread = _threading.Thread(target=self.loop.start,<EOL>daemon=True)<EOL>self._thread.run()<EOL><DEDENT>
Run the internal control loop.
Args:
    blocking (bool): Defaults to `True`. If set to `False`, will
        intialize a thread to run the control loop.
Raises:
    RuntimeError: If called and not using the internal control loop
        via `self._run_control_loop`, set in the intializer of the
        class