29 lines
890 B
Plaintext
29 lines
890 B
Plaintext
@startuml
|
|
!include card-uml-style.iuml
|
|
scale 900 width
|
|
left to right direction
|
|
|
|
state "01 high Ready\npriority 0" as HighLow
|
|
state "02 high Ready\npriority 3" as HighReady
|
|
state "03 high Running" as HighRun
|
|
state "04 high Deleted" as HighDeleted
|
|
|
|
state "05 peers Ready / Running\npriority 2 · time sliced" as Peers
|
|
state "06 peers Completed / Deleted" as PeersDone
|
|
|
|
state "07 verifier Ready\npriority 1" as VerifyReady
|
|
state "08 verifier Running\nPASS" as VerifyRun
|
|
|
|
HighLow --> HighReady : peerA vTaskPrioritySet
|
|
HighReady --> HighRun : preempts priority 2
|
|
HighRun --> HighDeleted : self-delete
|
|
Peers --> Peers : tick rotates equal priority
|
|
Peers --> PeersDone : stop after peerA returns
|
|
VerifyReady --> VerifyRun : priorities 2/3 no longer Ready
|
|
|
|
note bottom of Peers
|
|
Ready does not mean Running.
|
|
Priority selects first; time slicing acts only among equals.
|
|
end note
|
|
@enduml
|