本章我们介绍一下ngx_parse.c(h)文件,其主要用于解析如下三方面:
-
size单位解析(如K,M等)
-
offset偏移解析(如K、M、G等)
-
时间单位解析
1. ngx_parsh.h头文件
这里主要是声明了三个函数,分别用于size解析、offset解析、时间解析。
2. ngx_parse.c源文件
2.1 函数
在32位操作系统下,NGX_MAX_SIZE_T_VALUE
的最大值为0x7FFFFFF,因此这里我们可算出当以K
、M
为单位时的最大值size的最大值。函数ngx_atosz()用于将字符串转换为ssize_t
类型。
2.2 函数ngx_parse_offset()
此函数用于转换offset类型。与ngx_parse_size()函数类似,这里不再赘述。
2.3 函数ngx_parse_time()
此函数用于将时间解析成秒数
或毫秒数
(根据函数参数is_sec)。如果解析成毫秒数的话,由于NGX_MAX_INT_T_VALUE
表示范围的缘故,一般我们我们设置的最大单位就应该小于st_month
。
[参看]