2015-10-11 23:09:30 +02:00
|
|
|
+--------------+ "pimpl" +----------------+
|
|
|
|
| "session" +--------------------------->| "session_impl" |
|
|
|
|
+--------------+ +------+-----+---+
|
|
|
|
"m_torrents[]" | |
|
|
|
|
+---------------------+ | |
|
|
|
|
| "torrent_handle" +--------+ | |
|
|
|
|
+---------------------+ "weak" | +--------------+ |
|
|
|
|
| | | "m_connections[]"
|
2016-02-20 22:38:56 +01:00
|
|
|
| | +-------------+ +--+
|
|
|
|
| | | | |
|
|
|
|
"m_picker" v v | v v "peers we are connected to"
|
|
|
|
+----------------+ +----------++ +-------------------+
|
|
|
|
| "piece_picker" |<---+-+ "torrent" ++ +--+ "peer_connection" ++
|
|
|
|
+----------------+ | ++----------+| | ++------------------+|
|
|
|
|
"m_torrent_file" | +-----------+ | +-------------------+
|
2015-10-11 23:09:30 +02:00
|
|
|
+-------------------+ | |
|
2016-02-20 22:38:56 +01:00
|
|
|
| "torrent_info" |<---+ | "m_socket"
|
2015-10-11 23:09:30 +02:00
|
|
|
+-------------------+ | | +----------------------------+
|
|
|
|
| +->| "socket_type (variant)" |
|
|
|
|
"m_peer_list" v | | "(TCP/uTP/SSL/socks5/...)" |
|
|
|
|
+--------------+ | +----------------------------+
|
2016-02-20 22:38:56 +01:00
|
|
|
| "peer_list" | |
|
2015-10-11 23:09:30 +02:00
|
|
|
+------------+-+ | "m_peer_info"
|
|
|
|
"list of all" | "m_peers[]" | "contains contact information"
|
|
|
|
"peers we" | | "for peers we're not necessarily"
|
|
|
|
"know of" | v "connected to"
|
2016-02-20 22:38:56 +01:00
|
|
|
| +----------------+
|
2015-10-11 23:09:30 +02:00
|
|
|
+---->| "torrent_peer" ++
|
|
|
|
++---------------+|
|
|
|
|
+----------------+
|