Files
simplex-chat/diagrams/graph-chat/duplex-using.mmd
T
Evgeny Poberezkin bc460f0e31 Split to edge-messaging and graph-chat (#1)
* docs: graph-messaging protocol [WIP]

* docs: creating and using graph-messaging connection

* docs: subtitle

* docs: [WIP] graph-chat protocol

* docs: graph-chat establishing duplex connection

* apply minor typo fixes and wording adjustments to protocols docs

* rename file graph-messaging -> edge-messaging

* update test graph-messaging -> edge-messaging

* correction re CID

* duplex connection correction

* rename folder graph-messaging -> edge-messaging

* add duplex connection

* update edge-messaging to match graph-chat

* update symbols in graph-chat

* sequence diagram: creating duplex connection

* fix indentation

* edge-messaging: REST API, crypto, IDs, URIs

* REST API endpoints summary

* Rest -> REST

* REST API additional requirements

* adjust wordings and fix typos (#2)

* update readme (#4)

* update readme

* send message story and diagram

* edge-messaging: alternative flow of creating connection

* remove old diagrams

* apply minor fixes

* correct readme

Co-authored-by: Efim Poberezkin <efim.poberezkin@gmail.com>

* graph-chat: added duplex connection types

* graph-chat: comment on user profile visibility

* clarify duplex diagram

Co-authored-by: Efim Poberezkin <efim.poberezkin@gmail.com>
2020-01-21 21:01:48 +00:00

22 lines
1.1 KiB
Plaintext

sequenceDiagram
participant A as Alice's app
participant SA as Alice's servers <br> (connections CAi)
participant SB as Bob's servers <br> (connections CBi)
participant B as Bob's app
note over A: 1. Alice writes msg <br> to Bob in the app: <br> - message ID <br> - timestamp <br> - message body
note over A: sign and encrypt <br> message version <br> for each conn. CBi
A ->> SB: send message versions to connections CBi on Bob's servers
SB ->> B: 2. retrive message versions from CBi
note over B: decrypt and verify <br> message versions
note over B: discard duplicates <br> and show in chat <br> with Alice
note over B: 3. prepare msg <br> "message received": <br> - new message ID <br> - msg correlation ID <br> - receipt timestamp
note over B: sign and encrypt <br> message version <br> for each conn. CAi
B ->> SA: send message versions to connections CAi on Alice's servers
SA ->> A: 4. retrive message versions from CAi
note over A: decrypt and verify <br> message versions
note over A: discard duplicates <br> and show sent msg <br> as delivered <br> in chat with Bob