This patch introduces the first version for the first layer of group chat, the
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
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.