Ref #11 added some UML
This commit is contained in:
@@ -0,0 +1,25 @@
|
|||||||
|
@startuml
|
||||||
|
|
||||||
|
rectangle "Traversal"
|
||||||
|
|
||||||
|
() previous
|
||||||
|
() current
|
||||||
|
() next
|
||||||
|
|
||||||
|
previous --> current
|
||||||
|
current --> next
|
||||||
|
|
||||||
|
note right
|
||||||
|
|
||||||
|
save next
|
||||||
|
|
||||||
|
detach current
|
||||||
|
|
||||||
|
append to
|
||||||
|
destination queue
|
||||||
|
|
||||||
|
continue with next
|
||||||
|
|
||||||
|
end note
|
||||||
|
|
||||||
|
@enduml
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
@startuml
|
||||||
|
|
||||||
|
[*] --> Outgoing
|
||||||
|
|
||||||
|
Outgoing --> Sent : success
|
||||||
|
|
||||||
|
Outgoing --> Retry : retry == true
|
||||||
|
|
||||||
|
Retry --> Outgoing : rescheduled
|
||||||
|
|
||||||
|
Sent --> [*]
|
||||||
|
|
||||||
|
@enduml
|
||||||
BIN
analysis/05-Message_Queue_Partitioning/example/uml/loop.png
Normal file
BIN
analysis/05-Message_Queue_Partitioning/example/uml/loop.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
@@ -0,0 +1,17 @@
|
|||||||
|
@startuml
|
||||||
|
|
||||||
|
rectangle "Outgoing Queue" as Q1
|
||||||
|
rectangle "Ready Queue" as Q2
|
||||||
|
rectangle "Retry Queue" as Q3
|
||||||
|
|
||||||
|
Q1 --> Q2 : move node
|
||||||
|
Q1 --> Q3 : move node
|
||||||
|
|
||||||
|
note bottom
|
||||||
|
|
||||||
|
Every message belongs
|
||||||
|
to exactly one queue.
|
||||||
|
|
||||||
|
end note
|
||||||
|
|
||||||
|
@enduml
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
@@ -0,0 +1,39 @@
|
|||||||
|
@startuml
|
||||||
|
|
||||||
|
left to right direction
|
||||||
|
skinparam linetype ortho
|
||||||
|
skinparam shadowing false
|
||||||
|
|
||||||
|
package "Before Partition" {
|
||||||
|
rectangle "A\nretry = false" as A
|
||||||
|
rectangle "B\nretry = true" as B
|
||||||
|
rectangle "C\nretry = false" as C
|
||||||
|
rectangle "D\nretry = true" as D
|
||||||
|
|
||||||
|
A --> B : next
|
||||||
|
B --> C : next
|
||||||
|
C --> D : next
|
||||||
|
}
|
||||||
|
|
||||||
|
package "After Partition" {
|
||||||
|
package "Ready Queue" {
|
||||||
|
rectangle "A" as ReadyA
|
||||||
|
rectangle "C" as ReadyC
|
||||||
|
|
||||||
|
ReadyA --> ReadyC : next
|
||||||
|
}
|
||||||
|
|
||||||
|
package "Retry Queue" {
|
||||||
|
rectangle "B" as RetryB
|
||||||
|
rectangle "D" as RetryD
|
||||||
|
|
||||||
|
RetryB --> RetryD : next
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
A ..> ReadyA : move
|
||||||
|
B ..> RetryB : move
|
||||||
|
C ..> ReadyC : move
|
||||||
|
D ..> RetryD : move
|
||||||
|
|
||||||
|
@enduml
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 23 KiB |
@@ -0,0 +1,20 @@
|
|||||||
|
@startuml
|
||||||
|
|
||||||
|
participant Queue
|
||||||
|
participant Algorithm
|
||||||
|
participant Ready
|
||||||
|
participant Retry
|
||||||
|
|
||||||
|
Queue -> Algorithm : get next node
|
||||||
|
|
||||||
|
alt retry == false
|
||||||
|
|
||||||
|
Algorithm -> Ready : append(node)
|
||||||
|
|
||||||
|
else retry == true
|
||||||
|
|
||||||
|
Algorithm -> Retry : append(node)
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
@enduml
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
Reference in New Issue
Block a user