def __init__()

in src/pubsub/mqtt_pubsub.py [0:0]


    def __init__(self, message_callback, mqtt_subscribe_topics, mqtt_timeout=5):

        log.info('Initialising AWS Greengrass V2 MQTT IoT Core PubSub Client')

        super().__init__()

        try:

            # PubSub timeout secs. 
            self.mqtt_timeout = mqtt_timeout
            
            # PubSub message callback.
            self.message_callback = message_callback

            # MQTT Subscribe Topics
            self.mqtt_subscribe_topics = mqtt_subscribe_topics

            # Create the mqtt_clients
            self.mqtt_subscribe_client = awsiot.greengrasscoreipc.connect()
            self.mqtt_publish_client = awsiot.greengrasscoreipc.connect()

            # Init MQTT PubSub's
            self.mqtt_qos = QOS.AT_LEAST_ONCE   ## TODO - Parameterise this into config
            self.init_mqtt_subscriber()
            self.init_mqtt_publisher()

        except InterruptedError as iErr: # pragma: no cover
            log.exception('INTERRUPTED_EXCEPTION: MQTT Iot Core Publisher / Subscriber init was interrupted. ERROR MESSAGE: {}'.format(iErr))

        except Exception as err: # pragma: no cover
            log.exception('EXCEPTION: Exception occurred initialising AWS Greengrass IPC MQTT Core PubSub. ERROR MESSAGE: {}'.format(err))