|
SimpleTorrent
|
描述 peer 信息 更多...
#include <peer.h>

成员变量 | |
| int | fd |
| 连接套接字 | |
| char | ip [16] |
| ip 地址字符串, 最长不过 |255.255.255.255| + '\0' = 16 | |
| unsigned short | port |
| 端口, 本地字节序 | |
| uint32_t | addr |
| ip 的整数形式,用于地址比较,直接来自 sin_addr,故是网络字节序 | |
| unsigned char * | bitfield |
| piece 拥有情况 | |
| int | is_choked |
| 是否阻塞 peer | |
| int | is_interested |
| 是否对 peer 感兴趣 | |
| int | get_choked |
| 是否被 peer 阻塞 | |
| int | get_interested |
| peer 是否感兴趣 | |
| int * | requested_pieces |
| -1 terminated | |
| int * | requested_subpieces |
| -1 terminated | |
| int | requesting_index |
| 请求的分片号,-1 为无效。 | |
| int | requesting_begin |
| 请求的子分片偏移量(固定长度) | |
| int | contribution |
| 检查周期内的数据贡献 | |
| unsigned | wanted |
| 期望接受的字节数 | |
| struct PeerMsg * | msg |
| 记录尚未读完的 msg | |
| time_t | start_time |
| 记录发送请求的时刻,用于计算分片下载速度,不使用分片的 time 是因为后者可能因超时被更新。 | |
| double | speed |
| 下载速度 | |
描述 peer 信息
peer 只记录单次分片请求的信息。因为对单个连接上的数据传输,没有并发的可能, 只能顺序地读取,所以较为稳定的一次请求一次读取的操作,虽然简单,也是合理的。
1.8.11