2014-09-01 09:16:31 +02:00
|
|
|
+--------------+ pimpl +--------------+
|
|
|
|
| cGRE session +----------->| session_impl |
|
|
|
|
+--------------+ +------+-----+-+
|
|
|
|
m_torrents[] | |
|
|
|
|
+---------------------+ | |
|
|
|
|
| cGRE torrent_handle +-------+ | |
|
|
|
|
+---------------------+ weak | | |
|
|
|
|
| | | m_connections[]
|
|
|
|
| | +---+-------+
|
|
|
|
| | | |
|
|
|
|
m_picker v v | v peers we are connected to
|
|
|
|
+--------------+ +--------++ +-----------------+
|
|
|
|
| piece_picker |<---+-+ torrent ++ +--+ peer_connection ++
|
|
|
|
+--------------+ | ++--------+| | ++----------------+|
|
|
|
|
m_torrent_file | +---------+ | +-----------------+
|
|
|
|
+-------------------+ | |
|
|
|
|
| cGRE torrent_info |<---+ | m_socket
|
|
|
|
+-------------------+ | | +--------------------------+
|
2014-10-26 08:34:31 +01:00
|
|
|
m_peer_list | +------+->| socket_type (variant) |
|
|
|
|
+-----------+ | | | (TCP/uTP/SSL/socks5/...) |
|
|
|
|
| peer_list |<---------+ | +--------------------------+
|
|
|
|
+---------+-+ v
|
2014-09-01 09:16:31 +02:00
|
|
|
list of all | m_peers[] +--------------+
|
2014-10-26 08:34:31 +01:00
|
|
|
peers we +-------------->| torrent_peer ++ contains contact information
|
2014-09-01 09:16:31 +02:00
|
|
|
know of ++-------------+| for peers we're not necessarily
|
|
|
|
+--------------+ connected to
|