Skip to content
Snippets Groups Projects
Commit 46c42fef authored by inso's avatar inso
Browse files

Sequence diagram for requests

parent 74a7ec25
No related branches found
No related tags found
No related merge requests found
doc/uml/requests.png

57.4 KiB

@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
doc/uml/tx_lifecycle.png

22 KiB | W: | H:

doc/uml/tx_lifecycle.png

21.4 KiB | W: | H:

doc/uml/tx_lifecycle.png
doc/uml/tx_lifecycle.png
doc/uml/tx_lifecycle.png
doc/uml/tx_lifecycle.png
  • 2-up
  • Swipe
  • Onion skin
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment