SimpleTorrent
|
描述一次运行的全局信息 更多...
#include <metainfo.h>
成员变量 | |
size_t | file_size |
数据文件大小 | |
FILE * | file |
下载文件 | |
unsigned char | info_hash [HASH_SIZE] |
整个 info 字典的 sha1 摘要 | |
uint32_t | piece_size |
分片大小 | |
size_t | nr_pieces |
分片数量,由 file_size 和 piece_size 计算得出,上取整 | |
size_t | bitfield_size |
bitfield 的字节大小,即 nr_pieces / 8 上取整 | |
uint32_t | sub_size |
子分片的大小,使用统一大小的子分片以简化实现 | |
size_t | sub_count |
子分片的数量 | |
struct PieceInfo * | pieces |
分片信息数组 | |
unsigned short | port |
侦听端口 | |
int | listen_fd |
侦听套接字 | |
int | timerfd |
发送 KEEP-ALIVE 的定时器 | |
int | nr_peers |
peers 数组的大小 == 已握手 peer 的数量 | |
struct Peer ** | peers |
已握手 peer 的集合 | |
int | nr_wait_peers |
已发出 connect 的 peer 数量 | |
struct WaitPeer * | wait_peers |
已发出 connect 的 peer 集合 | |
size_t | nr_trackers |
tracker 数量 | |
struct Tracker * | trackers |
tracker 数组 | |
描述一次运行的全局信息
在结构体中记录侦听套接字 listen_fd, 以方便在 epoll 中根据 event 的套接字判断具体事件。