Skip to content
Snippets Groups Projects
Commit eb0fb2bd authored by Sébastien Blin's avatar Sébastien Blin
Browse files

ConnectionManager: first version

This patch introduces the first version for the first layer of group chat, the
ConnectionManager.

This class provides an API to get a channel socket between two devices. Behind
that API, channel sockets are working on top of a MultiplexedSocket, working
on top of a TLS Socket.

So, if an user want a socket, they just have to call connectDevice. The manager
will contact the other device through the DHT, negotiate (via the ICE protocol)
a socket, start a TLS session and then open a new channel. Channel 0 is used as
a control channel (to get channel requests and answer). Other channels are for
the user.

When a TLS packet is sent, the format is usually:
| 16 bits = len of the content | 16 bits = channel | content... |

Scenarios are described in the unitTest linked to that patch.

Finally, each Jami accounts has its own ConnectionManager.

Change-Id: I9cdd681e91ca71f24338e728fc382349393c6912
parent 33823822
No related branches found
No related tags found
No related merge requests found
Showing with 2516 additions and 42 deletions
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment