-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
Description
Based on the team members discussion we have to implement the protocol to client - server communication.
This issue scope is to create a logic that identify the cases below and call a class responsible for that logic.
This issue scope doesn't cover implement all those cases logic.
The issues for implement the cases logic are:
Case1: #16
Case2: #11
Case3: #12
Case4: #13
Case5: #14
Case6: #15
Protocol cases:
Case 1 - new user ask to connect to the server:
- C -> S hello
- C -> S I am "nickname", "PGP key fingerprint"
- S -> C accepted or not accepted
- S -> users connected
- S -> C {[ "nick1": "fingerprint1", "nick2": "fingerprint2", ... ]}
Case 2 - notification that new user connects to the server:
- S -> C new user connected
- S -> C { "new_nick": "new_fingerprint" }
Case 3 - send message:
- C -> S send message
- C -> S block PGP message
Case 4 - receive message:
- S -> C receive message
- S -> C block PGP message
Case 5 - notification that user disconnects:
- S -> C user disconected
- S -> C "nickname"
Case 6 - keep alive notice:
- C -> S keep alive
- S -> C ok