Nginx 基本数据结构
概述
在学习 Nginx 之前首先了解其基本的数据结构是非常重要的,这是入门必须了解的一个步骤。本节只是简单介绍了 Nginx 对基本数据的一种封装,包括 基本整型数据类型、字符串数据类型、缓冲区类型以及 chain 数据类型。
基本数据类型
整型数据
typedef intptr_t ngx_int_t;
typedef uintptr_t ngx_uint_t;
typedef intptr_t ngx_flag_t;
#if __WORDSIZE == 64
# ifndef __intptr_t_defined
typedef long int intptr_t;
# define __intptr_t_defined
# endif
typedef unsigned long int uintptr_t;
#else
# ifndef __intptr_t_defined
typedef int intptr_t;
# define __intptr_t_defined
# endif
typedef unsigned int uintptr_t;
字符串类型
内存池类型
内存池类型即是 ngx_pool_t ,有关内存池的讲解可参考前文《Nginx 内存池管理》
缓冲区数据类型
缓冲区 ngx_buf_t 的定义如下:
chain 数据类型
ngx_chain_t 数据类型是与缓冲区类型 ngx_buf_t 相关的链表结构,定义如下:
链表图如下:
参考资料:
《深入理解 Nginx 》
Last updated
Was this helpful?