Ref #11 added some UML

This commit is contained in:
2026-07-27 20:09:01 -04:00
parent 4cb625ab9c
commit 063f3277bb
9 changed files with 114 additions and 0 deletions

View File

@@ -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

View File

@@ -0,0 +1,13 @@
@startuml
[*] --> Outgoing
Outgoing --> Sent : success
Outgoing --> Retry : retry == true
Retry --> Outgoing : rescheduled
Sent --> [*]
@enduml

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -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

View File

@@ -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

View File

@@ -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