text.c

这个文件是axelmain函数实现的地方(很奇怪,axel的作者没有把main放在axel.c中而放在text.c中,这对于刚接触axel的人,会觉得不太舒服,coding风格有问题^_^)

下面集中介绍main函数中的流程:

调用conf_init,从环境变量中加载配置
调用getopt_long解析命令行参数

如果配置查找镜像文件的话,查找镜像文件地址,构造列表。获取每个镜像文件的站点访问速度,进行速度排序,创建axel对象。
如果没有配置查找镜像的话,用源连接创造axel对象。
如果指定了多个URL地址去下载,为每一个地址创建一个axel对象

创建存储文件(临时文件)。
打开下载的连接。
注册停止信号


然后进入循环,当没有下载完或者没有收到停止信号时,执行以下操作:

进入axel_do函数,进行文件数据接收。
然后打印进度

当下载完成时,打印结果和速度等信息
关闭连接.

============================================
到目前,把axel的主题函数功能都列出来了。
有问题的地方吗,欢迎诸路朋友及时提出喔

你可能感兴趣的:(text.c)