aria2的控制文件*.aria2的技术说明

2024-03-27 13:48
文章标签 技术 说明 控制 aria2

本文主要是介绍aria2的控制文件*.aria2的技术说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Technical Notes

This document describes additional technical information of aria2. The expected audience is developers.

本文档描述了aria2的其他技术信息。预期的受众是开发人员。

Control File (*.aria2) Format

The control file uses a binary format to store progress information of a download. Here is the diagram for each field:

控制文件使用二进制格式来存储下载的进度信息。下面是每个字段的图:

 0                   1                   2                   30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---+-------+-------+-------------------------------------------+
|VER|  EXT  |INFO   |INFO HASH ...                              |
|(2)|  (4)  |HASH   | (INFO HASH LENGTH)                        |
|   |       |LENGTH |                                           |
|   |       |  (4)  |                                           |
+---+---+---+-------+---+---------------+-------+---------------+
|PIECE  |TOTAL LENGTH   |UPLOAD LENGTH  |BIT-   |BITFIELD ...   |
|LENGTH |     (8)       |     (8)       |FIELD  | (BITFIELD     |
|  (4)  |               |               |LENGTH |  LENGTH)      |
|       |               |               |  (4)  |               |
+-------+-------+-------+-------+-------+-------+---------------+
|NUM    |INDEX  |LENGTH |PIECE  |PIECE BITFIELD ...             |
|IN-    |  (4)  |  (4)  |BIT-   | (PIECE BITFIELD LENGTH)       |
|FLIGHT |       |       |FIELD  |                               |
|PIECE  |       |       |LENGTH |                               |
|  (4)  |       |       |  (4)  |                               |
+-------+-------+-------+-------+-------------------------------+^                                                       ^|                                                       |+-------------------------------------------------------+Repeated in (NUM IN-FLIGHT) PIECE times
VER (VERSION): 2 bytes
Should be either version 0(0x0000) or version 1(0x0001). In version 1, all multi-byte integers are saved in network byte order(big endian). In version 0, all multi-byte integers are saved in host byte order. aria2 1.4.1 can read both versions and only writes a control file in version 1 format. version 0 support will be disappear in the future version.
应为版本0(0x0000)或版本1(0x0001)。 在版本1中,所有多字节整数以网络字节顺序(大字节序)保存。 在版本0中,所有多字节整数以主机字节顺序保存。 aria2 1.4.1可以读取这两个版本,并且只写入版本1格式的控制文件。 版本0支持将在以后的版本中消失。

EXT (EXTENSION): 4 bytes
If LSB is 1(i.e.  EXT[3]&1 == 1), aria2 checks whether the saved !InfoHash and current downloading one are the same. If they are not the same, an exception is thrown. This is called "infoHashCheck" extension.
如果LSB为1(即),aria2将检查保存的!InfoHash和当前下载的信息是否相同。如果它们不相同,则抛出异常。这被称为“infoHashCheck”扩展。 EXT[3]&1 == 1

INFO HASH LENGTH: 4 bytes
The length of InfoHash that is located after this field. If "infoHashCheck" extension is enabled, if this value is 0, then an exception is thrown. For http/ftp downloads, this value should be 0.
位于此字段后面的InfoHash的长度。 如果启用了“infoHashCheck”扩展,如果此值为0,则抛出异常。 对于http / ftp下载,此值应为0。

INFO HASH(INFO HASH LENGTH) bytes
BitTorrent InfoHash.
PIECE LENGTH: 4 bytes
The length of the piece.
TOTAL LENGTH: 8 bytes
The total length of the download.
UPLOAD LENGTH: 8 bytes
The uploaded length in this download.
BITFIELD LENGTH: 4 bytes
The length of bitfield.
BITFIELD(BITFIELD LENGTH) bytes
This is the bitfield which represents current download progress.
NUM IN-FLIGHT PIECE: 4 bytes
The number of in-flight pieces. These piece is not marked 'downloaded' in the bitfield, but it has at least one downloaded chunk.

The following 4 fields are repeated in (NUM IN-FLIGHT PIECE) times.

INDEX: 4 bytes
The index of the piece.
LENGTH: 4 bytes
The length of the piece.
PIECE BITFIELD LENGTH: 4 bytes
The length of bitfield of this piece.
PIECE BITFIELD(PIECE BITFIELD LENGTH) bytes
The bitfield of this piece. The each bit represents 16KiB chunk.

这篇关于aria2的控制文件*.aria2的技术说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/852317

相关文章

MySQL之InnoDB存储引擎中的索引用法及说明

《MySQL之InnoDB存储引擎中的索引用法及说明》:本文主要介绍MySQL之InnoDB存储引擎中的索引用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录1、背景2、准备3、正篇【1】存储用户记录的数据页【2】存储目录项记录的数据页【3】聚簇索引【4】二

mysql中的数据目录用法及说明

《mysql中的数据目录用法及说明》:本文主要介绍mysql中的数据目录用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、版本3、数据目录4、总结1、背景安装mysql之后,在安装目录下会有一个data目录,我们创建的数据库、创建的表、插入的

Spring如何使用注解@DependsOn控制Bean加载顺序

《Spring如何使用注解@DependsOn控制Bean加载顺序》:本文主要介绍Spring如何使用注解@DependsOn控制Bean加载顺序,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录1.javascript 前言2. 代码实现总结1. 前言默认情况下,Spring加载Bean的顺

Qt如何实现文本编辑器光标高亮技术

《Qt如何实现文本编辑器光标高亮技术》这篇文章主要为大家详细介绍了Qt如何实现文本编辑器光标高亮技术,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录实现代码函数作用概述代码详解 + 注释使用 QTextEdit 的高亮技术(重点)总结用到的关键技术点应用场景举例示例优化建议

Maven中的profiles使用及说明

《Maven中的profiles使用及说明》:本文主要介绍Maven中的profiles使用及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录主要用途定义 Profiles示例:多环境配置激活 Profiles示例:资源过滤示例:依赖管理总结Maven 中的

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

Before和BeforeClass的区别及说明

《Before和BeforeClass的区别及说明》:本文主要介绍Before和BeforeClass的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Before和BeforeClass的区别一个简单的例子当运行这个测试类时总结Before和Befor

Python pip下载包及所有依赖到指定文件夹的步骤说明

《Pythonpip下载包及所有依赖到指定文件夹的步骤说明》为了方便开发和部署,我们常常需要将Python项目所依赖的第三方包导出到本地文件夹中,:本文主要介绍Pythonpip下载包及所有依... 目录步骤说明命令格式示例参数说明离线安装方法注意事项总结要使用pip下载包及其所有依赖到指定文件夹,请按照以

Python远程控制MySQL的完整指南

《Python远程控制MySQL的完整指南》MySQL是最流行的关系型数据库之一,Python通过多种方式可以与MySQL进行交互,下面小编就为大家详细介绍一下Python操作MySQL的常用方法和最... 目录1. 准备工作2. 连接mysql数据库使用mysql-connector使用PyMySQL3.

Java中的登录技术保姆级详细教程

《Java中的登录技术保姆级详细教程》:本文主要介绍Java中登录技术保姆级详细教程的相关资料,在Java中我们可以使用各种技术和框架来实现这些功能,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录1.登录思路2.登录标记1.会话技术2.会话跟踪1.Cookie技术2.Session技术3.令牌技