刚那个长得像deque的链表需要找它的应用场景,缓冲区就不用我多说了吧,前前后后也看了好几个缓冲区的实现,谁的好,就拿来用咯。
----
文章目录
缓冲区 Buffer
ngx_chain_t
方法配置
申请临时缓冲区
分配 chain 节点
分配一个 buf 链表
合并buf链表
从free chain链中获取一个空闲buf
回收链表空间
缓冲区 Buffer
此前研究了 muduo 的缓冲区设计,有些心得,再来看看 nginx 的缓冲区设计。
这是个公用的缓冲区吗?嗯,是从内存池中去申请空间的。
看来需要去完整的看一下 nginx 内存池的设计了,那个会比较重要些吧。
(包头存在链表里面)
----
方法配置
申请临时缓冲区
//申请临时缓冲区
ngx_buf_t *ngx_create_temp_buf(ngx_pool_t *pool, size_t size)