@startuml Seq_Subscription title Real-time Data Transfer — Subscription participant "CloudConnectController" as CC participant "MqttClient" as MQTT participant "AWS IoT Core (MQTT broker)" as AWS == Subscribe (on every new session) == MQTT -> CC : didStateChanged(Connected)\n→ onCloudStateChanged() CC -> MQTT : subscribe(topic, QoS) MQTT -> AWS : SUBSCRIBE (topic filter, requested QoS) AWS --> MQTT : SUBACK == Subscription Delivery == AWS -> MQTT : PUBLISH on the subscribed topic MQTT -> CC : didMessageReceived(payload, topic)\n→ onCloudMessageReceived() CC -> CC : parse Envelope → Header\n(msgId, sequence, timestamp) CC -> CC : convert serialized Protobuf payload → JSON for output @enduml