diff --git a/doc/uml/requests.png b/doc/uml/requests.png new file mode 100644 index 0000000000000000000000000000000000000000..d629a6789802e9eadb3f092a198497c02b4ddcc2 Binary files /dev/null and b/doc/uml/requests.png differ diff --git a/doc/uml/requests.pu b/doc/uml/requests.pu new file mode 100644 index 0000000000000000000000000000000000000000..8ea91136f68aba9771cf9f438f89790f508b4341 --- /dev/null +++ b/doc/uml/requests.pu @@ -0,0 +1,50 @@ +@startuml + +QModel -->o "Core Component" : Connect to data_changed() +QModel -> "Core Component" : Data access +activate "Core Component" +"Core Component" -> Community : Request data +Community -> Cache : Request cache +ref over Cache +Data is obsolete +(new block mined +since last caching) +end ref +Cache -> QNetworkManager : HTTP GET +create QNetworkReply +QNetworkManager -> QNetworkReply : Instantiate +Cache <- QNetworkManager : QNetworkReply +create ReceiverSlot +Cache -> ReceiverSlot : Instantiate Slot +QNetworkReply o<-- ReceiverSlot : Connect to finished() +Community <- Cache : Cached data +"Core Component" <- Community : Cached data +"Core Component" -> "Core Component" : Compute data +QModel <- "Core Component" : Data +deactivate "Core Component" + +...Network request is processed... + +ReceiverSlot <-- QNetworkReply : finished() +activate ReceiverSlot +ReceiverSlot -> Cache : Update cache data +ReceiverSlot -> "Core Component" : emit data_changed() +deactivate ReceiverSlot +destroy ReceiverSlot +destroy QNetworkReply +||| +QModel <-- "Core Component" : data_changed() +QModel -> "Core Component" : Data access +activate "Core Component" +ref over "Core Component", Community +Community is requested again, +and last cached data are returned +No new block mined, so no HTTP GET +initialized between cache +and QNetworkManager +end ref +QModel <- "Core Component" : Data +deactivate "Core Component" + + +@enduml \ No newline at end of file diff --git a/doc/uml/tx_lifecycle.png b/doc/uml/tx_lifecycle.png index 0e7061b3438870f7c6a7c4fae11a191f971e9234..ff35f12c2605e32c5e03428e10e77b0ddfb9e1e1 100644 Binary files a/doc/uml/tx_lifecycle.png and b/doc/uml/tx_lifecycle.png differ