• Sébastien Blin's avatar
    ConnectionManager: first version · eb0fb2bd
    Sébastien Blin authored
    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
    eb0fb2bd
Name
Last commit
Last update
..
sip Loading commit data...
turn Loading commit data...
unitTest Loading commit data...
.gitignore Loading commit data...
Makefile.am Loading commit data...
test_runner.h Loading commit data...