SimpleTorrent
成员变量
MetaInfo结构体 参考

描述一次运行的全局信息 更多...

#include <metainfo.h>

MetaInfo 的协作图:
Collaboration graph
[图例]

成员变量

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 PieceInfopieces
 分片信息数组
 
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 WaitPeerwait_peers
 已发出 connect 的 peer 集合
 
size_t nr_trackers
 tracker 数量
 
struct Trackertrackers
 tracker 数组
 

详细描述

描述一次运行的全局信息

在结构体中记录侦听套接字 listen_fd, 以方便在 epoll 中根据 event 的套接字判断具体事件。


该结构体的文档由以下文件生成: