Last active
January 31, 2020 17:18
-
-
Save blueset/bbace3f24890d3e4784658cd5e4262d6 to your computer and use it in GitHub Desktop.
UML diagrams for https://github.com/blueset/efb-telegram-master/wiki/Message-delivery-issue-in-ETM-(compare-to-a-generic-IM-service)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@startuml | |
skinparam monochrome true | |
skinparam backgroundColor #fefefe | |
skinparam sequenceReferenceAlign center | |
skinparam sequenceMessageAlign center | |
actor User | |
== Send message == | |
User -> Client: 1.1. Send message | |
activate Client | |
Client -> Server: 1.1.1. Deliver message | |
activate Server | |
Server -> Server: 1.1.2. Verify message content | |
activate Server | |
deactivate Server | |
Server -> : 1.1.3 Send to recipient | |
Server --> Client: 1.1.4. Delivery receipt | |
deactivate Server | |
deactivate Client | |
== Receive message == | |
Server <- : 1.2. Receive new message | |
activate Server | |
Server -> Client: 1.2.1 Notify client | |
activate Client | |
Client -> Server: 1.2.2. Retrieve message | |
activate Server | |
Client <-- Server: message | |
deactivate Server | |
deactivate Server | |
Client -> User: 1.2.3 Notify user | |
deactivate Client | |
@enduml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@startuml | |
skinparam monochrome true | |
skinparam backgroundColor #fefefe | |
skinparam sequenceReferenceAlign center | |
skinparam sequenceMessageAlign center | |
actor User | |
participant "Telegram Bot API" as API | |
participant ETM | |
participant "Slave Channels\n//(via framework)//" as Slave | |
== Send message == | |
User -> API: 2.1. Send message | |
activate API | |
API -> ETM: 2.1.1. Receive message | |
deactivate API | |
activate ETM | |
ETM -> ETM: 2.1.2. Verify & transform | |
activate ETM | |
deactivate ETM | |
ETM -> Slave: 2.1.3. Send message | |
activate Slave | |
||| | |
Slave --> ETM: Message ID | |
deactivate Slave | |
ETM -> ETM: 2.1.4. Record message | |
activate ETM | |
deactivate ETM | |
||| | |
deactivate ETM | |
== Receive message == | |
Slave <- : 2.2. Receive message | |
activate Slave | |
Slave -> ETM: 2.2.1. Deliver message | |
deactivate Slave | |
activate ETM | |
ETM -> ETM: 2.2.2. Verify & transform | |
activate ETM | |
deactivate ETM | |
ETM -> API: 2.2.3. Send message | |
activate API | |
API --> ETM: Message ID | |
deactivate API | |
ETM -> ETM: 2.1.4. Record message | |
activate ETM | |
deactivate ETM | |
deactivate ETM | |
@enduml |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment