2021-11-30 14:51:24 +01:00

66 lines
1.3 KiB
Plaintext

@startuml
skinparam dpi 300
skinparam classFontSize 8
skinparam classFontName Helvetica
autonumber
participant "User Application" as App
participant "Defender Library" as Defender
participant "MQTT Client" as MQTT
participant "TCP Stack" as TCP
participant "JSON Library" as JSON
activate App
App -> Defender : Generate Accepted and Rejected Topic Strings
activate Defender
Defender -> App : Accepted and Rejected Topic Strings
deactivate Defender
App -> MQTT : Subscribe to Accepted and Rejected Topics
activate MQTT
MQTT -> App : Subscription Successful
deactivate MQTT
loop Forever
App -> TCP : Get Metrics
activate TCP
TCP -> App : Metrics
deactivate TCP
App -> JSON : Generate Report
activate JSON
JSON -> App : Report
deactivate JSON
App -> Defender : Generate Publish Topic String
activate Defender
Defender -> App : Publish Topic String
deactivate Defender
App -> MQTT : Publish Report
activate MQTT
MQTT -> App : Published
MQTT -> App : Incoming Publish Message Received
deactivate MQTT
App -> Defender : Is this a Defender Message?
activate Defender
Defender -> App : Yes/No
note right
The Defender library also tells if the report was accepted by
the service or not.
endnote
deactivate Defender
end
deactivate App
@enduml