自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 ngx_listen

listen的作用大家都知道,来主要看下他的结构体和一些使用方法:struct ngx_listening_s { ngx_socket_t fd;//套接字 struct sockaddr *sockaddr;//监听的sockaddr地址 socklen_t socklen; /* size of sockaddr */

2016-08-21 19:52:23 384

原创 ngx_connection

上一节说了ngx_event 对于底层事件封装,这节来看下ngx_connection 先来看下ngx_connection结构体struct ngx_connection_s { void *data;//关联的模型 在空闲链表的时候是next 比如在http的时候就是http_request ngx_event_t *read;//读取

2016-08-09 23:38:36 533

原创 ngx_event

前面说了一些基本的数据结构,现在来看ngx关于网络这块的处理。ngx_event会牵涉到一个模块的东西,这个暂时先不说,在后面的文章,整合的时候才说,现在只是来看这个数据结构和功能。看下结构体:typedef void (*ngx_event_handler_pt)(ngx_event_t *ev);typedef void (*ngx_connection_handler_pt)(ngx_con

2016-08-08 17:54:53 558

原创 ngx_slab_pool

slab:slab是啥 借用百度百科的话来说,slab是Linux操作系统的一种内存分配机制。其工作是针对一些经常分配并释放的对象,如进程描述符等,这些对象的大小一般比较小,如果直接采用伙伴系统来进行分配和释放,不仅会造成大量的内存碎片,而且处理速度也太慢。而slab分配器是基于对象进行管理的,相同类型的对象归为一类(如进程描述符就是一类),每当要申请这样一个对象,slab分配器就从一个slab列表

2016-08-08 01:04:15 597 4

原创 ngx_rbtree的基本使用方法

ngx_rbtree导语: 红黑树是一个常用的高级数据结构,它虽然是复杂的,但它的最坏情况运行时间也是非常良好的,并且在实践中是高效的:它可以在O(log n)时间内做查找,插入和删除,这里的n是树中元素的数目.一: 红黑树的性质1. 每个节点不是红的就是黑的 (必须上色嘛)2. 根节点必须是黑的3. 每个叶节点是黑色的(ngx 是sentinel)4. 如果该节点是

2016-08-06 23:46:32 1893 3

原创 ngx_buf_t

buffer 在编程的时候经常用到,具体的概念就没啥好说的了。还是直接来看下ngx_bufngx_buf 是一个抽象的数据结构,他可以指向很多数据。比如某个内存块。比如某一个文件数据等。来具体看下他的数据结构的定义吧。struct ngx_buf_s {    u_char          *pos;//buf指向的数据在内存的时候,pos指这个buf数据开始的位

2016-08-02 18:59:15 347

原创 ngx_hash_combined_t,ngx_hash_keys_arrays_t

通过上一篇文章ngx_hash_wildcard_t 我们发现 虽然这个功能不错,但是好像不是那么好用样。主要是我们还需要对通配字段进行转换啊那些,如果不知道的话,还不一定搞得定,所以nginx就给我们提供了结构体来帮我完成这个事情。先看ngx_hash_combined_ttypedef struct {    ngx_hash_t            hash

2016-08-02 17:47:51 312

原创 nngx_hash_wildcard_t

通配符hash:    在nginx中,有可能会处理配符的域名的匹配问题, nginx喃 实现了 前匹配和后匹配 , 就是 *.xxx.com   www.xxx.* 这种配备模式。  这个实现就是通过nngx_hash_wildcard_t(当然 里面会用ngx_hash_t) 来我们先从代码入手吧 ,先看代码吧:typedef struct {    ngx_hash_

2016-08-02 15:31:28 728

原创 ngx_hash

hash 一个常用的数据结构,一般来说 hash主要是主要关注key的散列算法和冲突处理的方法。nginx的hash对冲突处理使用的是开链法。并且ngx_hash是一次初始化,没有删除和添加方法。来看下ngx_hash的实现吧。首先还是数据结构。typedef struct {    ngx_str_t         key;//name    ngx_uint_

2016-08-01 16:41:02 343

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除