30 lines
784 B
Plaintext
30 lines
784 B
Plaintext
@startuml "Messaging with server delivery"
|
|
actor Sender as snd
|
|
actor Receiver as rcv
|
|
control Server as srv
|
|
collections msg as msg
|
|
queue msgch as msgch
|
|
collections dvyrq as dvyrq
|
|
collections dvy as dvy
|
|
queue dvych as dvych
|
|
|
|
|
|
rcv->srv: Listen for messages
|
|
srv->msgch: Subscribe
|
|
snd->srv: Send message with delivery uid
|
|
snd->msg: Listen for delivery
|
|
|
|
group storeMessage
|
|
srv->msg: Store message
|
|
srv->dvyrq: Store delivery request uid=>Receiver
|
|
srv->msgch: Notify listening receivers
|
|
end
|
|
msgch->srv: Notify
|
|
msg->srv: Grab message
|
|
srv->rcv: Cuts listening with message
|
|
srv->dvy: Store delivery done Receiver=>uid
|
|
srv->dvych: Notify listening Sender
|
|
dvych->srv: Notify
|
|
dvy->srv: Grab delivery
|
|
srv->snd: Cuts listening with delivery
|
|
@enduml |