beanstalk源码剖析——Server和主循环

 

以后的分析都是基于beanstalk版本1.6版本的源码。

1. 服务实例Server

beanstalk中将一个监听实例抽象成为一个Server, 服务实例是监听指定地址(ip:port)的运行实例。结构如下:

server

 

2.epoll抽象

beanstalk对epoll相关的函数命名很奇怪,封装为如下

epoll处理

epoll在srvserver中初始化,并将监听socket加入epoll

srvserve

2. beanstalk主循环

beanstalk主循环用作处理epoll事件、时钟事件。对于epoll事件,每次只处理一个事件。

主循环

 

posted @ 2013-02-17 16:36  blockcipher  阅读(381)  评论(0编辑  收藏  举报