Skip to content

Implement the custom protocol #10

@jeffhsta

Description

@jeffhsta

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions