前言
上篇笔记记录了事件处理框架,以及事件的结构定义。这篇笔记开始Nginx连接定义。Nginx定义了基本的数据结构ngx_connection_t来表示连接。由客户端主动发起、Nginx服务器被动接收的TCP连接,这类可以称为被动连接。还有一类连接,在某些请求的处理过程中,Nginx会试图主动向其他上游服务器建立连接,并以此连接与上游服务器通信,Nginx定义ngx_peer_connection_t结构来表示,这类可以称为主动连接。本质上来说,主动连接是以ngx_connection_t结构体为基础实现的。
ngx_connection_t被动连接
直接看结构:
struct ngx_connection_s {
/* 连接未使用时,data成员相当于链表的next指针。当连接被使用时,data由使用该连接的Nginx的模块定义,比如HTTP模块data指向请求 */
void *data;
ngx_event_t *read; // 连接