ChinaUnix.net
相关文章推荐:

nginx buffer结构

在任何一套成熟的C语言写的服务器或者语言或者应用里都包含有一些基本的数据结构操作,

一般是 array、list、hash、buf等,剖析nginx的list是下面这种结构

元素本身的长度是size,每个桶可承担n项,那么当你插入第n+1个元素的时候,要创建一个新桶。因此nginx的list内部元素是定长结构

例如:

mctx->variables = ngx_list_create(r->pool, 4,
 &nb...

by ChianXu - Web开发 - 2011-12-22 08:54:27 阅读(644) 回复(0)

相关讨论

数组是比较简单的一个结构,如下所示:
core/ngx_array.h
struct ngx_array_s {
    void        *elts;      //数组元素所在的内存地址
    ngx_uint_t   nelts;  //数组中已有的元素个数
    size_t       size;     //数组中...

by ChianXu - Web开发 - 2011-12-22 08:54:29 阅读(667) 回复(0)

nginx 的链表的定义在core/ngx_list.h中:
typedef struct {
    ngx_list_part_t  *last;     //最后一块
    ngx_list_part_t   part;     //第一块
    size_t            size;         //元素大小<...

by ChianXu - Web开发 - 2011-12-22 08:54:29 阅读(835) 回复(0)

nginx 的队列定义在 core/ngx_queue.h中
struct ngx_queue_s {
    ngx_queue_t  *prev;
    ngx_queue_t  *next;
};
首先这个队列很奇怪,因为它只有上一元素与下一元素的指针,却没有数据的结构成员。
那么它是如何存储与取得队列节点中的数据呢?看core/ngx_queue.h中的定义:
#define ngx_queue_data(q, type, link)      &...

by ChianXu - Web开发 - 2011-12-22 08:54:29 阅读(817) 回复(0)

sk_buff结构可能是linux网络代码中最重要的数据结构,它表示接收或发送数据包的包头信息。它在中定义,并包含很多成员变量供网络代码中的各子系统使用。 这个结构在linux内核的发展过程中改动过很多次,或者是增加新的选项,或者是重新组织已存在的成员变量以使得成员变量的布局更加清晰。它的成员变量可以大致分为以下几类: Layout 布局 General 通用 Feature-specific功能相关 Management functions管理函数 这个结构...

by thewayma - Linux文档专区 - 2010-01-14 20:39:31 阅读(1329) 回复(0)

sk_buff结构可能是linux网络代码中最重要的数据结构,它表示接收或发送数据包的包头信息。它在中定义,并包含很多成员变量供网络代码中的各子系统使用。 这个结构在linux内核的发展过程中改动过很多次,或者是增加新的选项,或者是重新组织已存在的成员变量以使得成员变量的布局更加清晰。它的成员变量可以大致分为以下几类: Layout 布局 General 通用 Feature-specific功能相关 Management functions管理函数 这个结构被...

by xiaoqing52_1 - Linux文档专区 - 2009-11-20 11:00:04 阅读(1040) 回复(0)

sk_buff结构可能是linux网络代码中最重要的数据结构,它表示接收或发送数据包的包头信息。它在中定义,并包含很多成员变量供网络代码中的各子系统使用。 这个结构在linux内核的发展过程中改动过很多次,或者是增加新的选项,或者是重新组织已存在的成员变量以使得成员变量的布局更加清晰。它的成员变量可以大致分为以下几类: Layout 布局 General 通用 Feature-specific功能相关 Management functions管理函数 这个结构被不...

by ubuntuer - Linux文档专区 - 2009-09-15 14:16:08 阅读(768) 回复(0)

sk_buff结构可能是linux网络代码中最重要的数据结构,它表示接收或发送数据包的包头信息。它在skbuff.h中定义,并包含很多成员变量供网络代码中的各子系统使用。 这个结构在linux内核的发展过程中改动过很多次,或者是增加新的选项,或者是重新组织已存在的成员变量以使得成员变量的布局更加清晰。它的成员变量可以大致分为以下几类: Layout 布局 General 通用 Feature-specific功能相关 Management functions管理函数 这...

by newcch - 网络技术文档中心 - 2009-06-16 16:58:23 阅读(2961) 回复(0)

sk_buff结构可能是linux网络代码中最重要的数据结构,它表示接收或发送数据包的包头信息。它在中定义,并包含很多成员变量供网络代码中的各子系统使用。 这个结构在linux内核的发展过程中改动过很多次,或者是增加新的选项,或者是重新组织已存在的成员变量以使得成员变量的布局更加清晰。它的成员变量可以大致分为以下几类: Layout 布局 General 通用 Feature-specific功能相关 Management functions管理函数 这个结构被...

by tomoowang - Linux文档专区 - 2009-04-14 12:37:18 阅读(534) 回复(0)

sk_buff结构可能是linux网络代码中最重要的数据结构,它表示接收或发送数据包的包头信息。它在中定义,并包含很多成员变量供网络代码中的各子系统使用。 这个结构在linux内核的发展过程中改动过很多次,或者是增加新的选项,或者是重新组织已存在的成员变量以使得成员变量的布局更加清晰。它的成员变量可以大致分为以下几类: Layout 布局 General 通用 Feature-specific功能相关 Management functions管理函数 这个结构被...

by vicgates - Linux文档专区 - 2008-10-30 20:39:01 阅读(1033) 回复(0)

从网上转载了一篇讲sk_buff的文章,讲的很清楚,最棒的是还有图。 sk_buff结构可能是linux网络代码中最重要的数据结构,它表示接收或发送数据包的包头信息。它在中定义,并包含很多成员变量供网络代码中的各子系统使用。 这个结构在linux内核的发展过程中改动过很多次,或者是增加新的选项,或者是重新组织已存在的成员变量以使得成员变量的布局更加清晰。它的成员变量可以大致分为以下几类: Layout 布局 General 通用 F...

by ano - Linux文档专区 - 2008-08-04 11:32:05 阅读(903) 回复(0)