?? main.c
字號:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <malloc.h>
#include "data.h"
#include "tracker.h"
#include "bitfield.h"
#include "torrent.h"
#include "parse_metafile.h"
#include "signal_hander.h"
#include "policy.h"
#include "log.h"
// #define DEBUG
int main(int argc, char *argv[])
{
int ret;
if(argc != 2) {
printf("usage:%s metafile\n",argv[0]);
exit(-1);
}
// 設置信號處理函數
ret = set_signal_hander();
if(ret != 0) { printf("%s:%d error\n",__FILE__,__LINE__); return -1; }
// 解析種子文件
ret = parse_metafile(argv[1]);
if(ret != 0) { printf("%s:%d error\n",__FILE__,__LINE__); return -1; }
// 初始化非阻塞peer
init_unchoke_peers();
// 創建用于保存下載數據的文件
ret = create_files();
if(ret != 0) { printf("%s:%d error\n",__FILE__,__LINE__); return -1; }
// 創建位圖
ret = create_bitfield();
if(ret != 0) { printf("%s:%d error\n",__FILE__,__LINE__); return -1; }
// 創建緩沖區
ret = create_btcache();
if(ret != 0) { printf("%s:%d error\n",__FILE__,__LINE__); return -1; }
// 負責與所有Peer收發數據、交換消息
download_upload_with_peers();
// 做一些清理工作,主要是釋放動態分配的內存
do_clear_work();
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -