@startuml !include card-uml-style.iuml scale 900 width left to right direction class "01 peerA\npriority 2 · CPU-bound" as PeerA <> class "02 peerB\npriority 2 · CPU-bound" as PeerB <> class "03 high_probe\npriority 0 → 3" as High <> class "04 verifier\npriority 1 · runs last" as Verifier <> PeerA <--> PeerB : tick time slicing\nA → B → A PeerA --> High : raise to priority 3 High --> PeerA : preempts before call returns PeerA --> Verifier : stop requested after return PeerB --> Verifier : both peers self-delete note right of High HIGH writes marker 2 and self-deletes. peerA then writes marker 3. end note @enduml