acl  3.5.3.0
acl_chunk_chain.h 文件参考
#include "acl_define.h"
+ acl_chunk_chain.h 的引用(Include)关系图:
+ 此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

类型定义

typedef struct ACL_CHAIN ACL_CHAIN
 

函数

ACL_API ACL_CHAINacl_chain_new (size_t init_size, acl_int64 off_begin)
 
ACL_API void acl_chain_free (ACL_CHAIN *chain)
 
ACL_API void acl_chain_set_from_next (ACL_CHAIN *chain, acl_int64 from_next)
 
ACL_API void acl_chain_reset (ACL_CHAIN *chain, acl_int64 off_begin)
 
ACL_API acl_int64 acl_chain_from_next (ACL_CHAIN *chain)
 
ACL_API acl_int64 acl_chain_off_begin (ACL_CHAIN *chain)
 
ACL_API const char * acl_chain_data (ACL_CHAIN *chain)
 
ACL_API int acl_chain_data_len (ACL_CHAIN *chain)
 
ACL_API int acl_chain_size (ACL_CHAIN *chain)
 
ACL_API int acl_chain_chunk_data_len (ACL_CHAIN *chain)
 
ACL_API void acl_chain_add (ACL_CHAIN *chain, const void *data, acl_int64 from, int dlen)
 
ACL_API void acl_chain_list (ACL_CHAIN *chain)
 

类型定义说明

◆ ACL_CHAIN

typedef struct ACL_CHAIN ACL_CHAIN

数据链类型定义

在文件 acl_chunk_chain.h13 行定义.

函数说明

◆ acl_chain_add()

ACL_API void acl_chain_add ( ACL_CHAIN chain,
const void *  data,
acl_int64  from,
int  dlen 
)

向数据链中添加一个数据块,内部自动去掉重叠数据

参数
chain{ACL_CHAIN*} 数据链对象
data{const void*} 数据块指针
from{acl_int64} 该新数据块的起始位置
dlen{int} 数据块的长度

◆ acl_chain_chunk_data_len()

ACL_API int acl_chain_chunk_data_len ( ACL_CHAIN chain)

获得当前数据链中非连续数据块的所有数据总长度

参数
chain{ACL_CHAIN*} 数据链对象
返回
{int} 非连续数据块的总长度

◆ acl_chain_data()

ACL_API const char* acl_chain_data ( ACL_CHAIN chain)

获得当前数据链中连续数据块的起始存储指针地址

参数
chain{ACL_CHAIN*} 数据链对象
返回
{const char*} 连续数据块的起始存储指针地址

◆ acl_chain_data_len()

ACL_API int acl_chain_data_len ( ACL_CHAIN chain)

获得当前数据链中连续数据块的数据长度

参数
chain{ACL_CHAIN*} 数据链对象
返回
{int} 连续数据块的数据长度

◆ acl_chain_free()

ACL_API void acl_chain_free ( ACL_CHAIN chain)

释放数据链对象

参数
chain{ACL_CHAIN*} 数据链对象

◆ acl_chain_from_next()

ACL_API acl_int64 acl_chain_from_next ( ACL_CHAIN chain)

获得当前数据链对象中连续数据块中的下一个位置

参数
chain{ACL_CHAIN*} 数据链对象
返回
{acl_int64} 连接数据块的下一个位置

◆ acl_chain_list()

ACL_API void acl_chain_list ( ACL_CHAIN chain)

打印输出当前数据链的连续数据块及非连续数据块的起始位置信息

参数
chain{ACL_CHAIN*} 数据链对象

◆ acl_chain_new()

ACL_API ACL_CHAIN* acl_chain_new ( size_t  init_size,
acl_int64  off_begin 
)

创建一个数据链对象

参数
init_size{size_t} 连续数据动态内存的初始尺寸大小
off_begin{acl_int64} 连续数据块的起始位置
返回
{ACL_CHAIN*} 数据链对象

◆ acl_chain_off_begin()

ACL_API acl_int64 acl_chain_off_begin ( ACL_CHAIN chain)

获得当前数据链对象的起始位置

参数
chain{ACL_CHAIN*} 数据链对象
返回
{acl_int64} 数据链的起始位置

◆ acl_chain_reset()

ACL_API void acl_chain_reset ( ACL_CHAIN chain,
acl_int64  off_begin 
)

重置数据链对象,并将起始位置重置为给定值

参数
chain{ACL_CHAIN*} 数据链对象
off_begin{acl_int64} 给定连接数据块的起始位置

◆ acl_chain_set_from_next()

ACL_API void acl_chain_set_from_next ( ACL_CHAIN chain,
acl_int64  from_next 
)

设置连续数据块的下一个偏移位置

参数
chain{ACL_CHAIN*} 数据链对象
from_next{acl_int64} 连续数据块的下一个偏移位置

◆ acl_chain_size()

ACL_API int acl_chain_size ( ACL_CHAIN chain)

当前数据链中非连续数据块的个数

参数
chain{ACL_CHAIN*} 数据链对象
返回
{int} 非连续数据块的个数