Handle reconnect logic if connection
        to crossbar is lost

def reconnect(self):
        """
        Handle reconnect logic if connection
        to crossbar is lost
        """
        connect_attempt = 0
        max_retries = self.config['max_reconnect_retries']
        logging.info('attempting to reconnect to crossbar')
        runner = self.setup_runner()
        while True:

            if connect_attempt == max_retries:
                logging.info('max retries reached; stopping service')
                sys.exit(1)
            self.check_event_loop()

            try:
                logging.info('waiting 5 seconds')
                time.sleep(5)
                if self.check_transport_host():
                    logging.info('waiting 10 seconds to ensure that crossbar has initialized before reconnecting')
                    time.sleep(10)
                    runner.run(Component)
                else:
                    logging.error('crossbar host port 8080 not available...')
            except RuntimeError as error:
                logging.error(error)
            except ConnectionRefusedError as error:
                logging.error(error)
            except ConnectionError as error:
                logging.error(error)
            except KeyboardInterrupt:
                logging.info('User initiated shutdown')
                loop = asyncio.get_event_loop()
                loop.stop()
                sys.exit(1)
            connect_attempt += 1