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