in src/ipc_pubsub/mqtt_core_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
# List of active topics subscribed too.
self.mqtt_subscribed_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_MOST_ONCE
self.init_mqtt_subscriber()
self.init_mqtt_publisher()
except InterruptedError as iErr: # pragma: no cover
log.error('INTERRUPTED_EXCEPTION: MQTT IoT Core Publisher / Subscriber init was interrupted. ERROR MESSAGE: {}'.format(iErr))
except Exception as err: # pragma: no cover
log.error('EXCEPTION: Exception occurred initialising AWS Greengrass IPC MQTT Core PubSub. ERROR MESSAGE: {}'.format(err))