• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            那誰的技術(shù)博客

            感興趣領(lǐng)域:高性能服務(wù)器編程,存儲,算法,Linux內(nèi)核
            隨筆 - 210, 文章 - 0, 評論 - 1183, 引用 - 0
            數(shù)據(jù)加載中……

            Nginx0.7.61代碼分析(三)--事件處理

            Nginx里面的事件處理與其他服務(wù)器所做的事件處理模型其實大同小異---都是封裝了一個事件通知的結(jié)構(gòu)體,然后會對每個平臺上常用的事件觸發(fā)器做封裝(epoll/select/poll/...),根據(jù)編譯時配置來決定選擇哪個事件處理器,當(dāng)然,這個選擇也可以在配置文件中指定。

            封裝事件處理的結(jié)構(gòu)體在ngx_event_s中定義,其中的handler是處理事件的函數(shù)指針。

            對于監(jiān)聽socket而言,這個handler函數(shù)指針指向的是函數(shù)ngx_event_accept函數(shù)。顯然,這個函數(shù)是用于接收新連接。
            當(dāng)接收新的連接之后,對連接socket而言,這個函數(shù)指針指向ngx_http_init_request 函數(shù)。假如這個函數(shù)執(zhí)行成功,handler函數(shù)指針會改為指向ngx_http_process_request_line函數(shù)。其他的以此類推,我沒有繼續(xù)跟進這些與http具體業(yè)務(wù)相關(guān)的處理函數(shù)。

            所以,可以看到,在處理一個連接請求的每個階段,都對應(yīng)的是不同的handler函數(shù),在每個handler函數(shù)中,會在執(zhí)行成功之后修改handler函數(shù)指針指向下一個階段的處理函數(shù)。

            與之前分析過的lighhtpd的狀態(tài)機相比,Nginx里面的handler函數(shù)之間,耦合關(guān)系更緊密一些,也就是說,在狀態(tài)處理的每個階段,都需要知道下一個階段是由哪個函數(shù)進行處理。我個人更喜歡lighttpd的狀態(tài)機,因為這個狀態(tài)機使得每個階段的狀態(tài)耦合的不那么緊密,每次狀態(tài)處理完畢,該狀態(tài)的處理函數(shù)只需要保存本次處理的結(jié)果,然后進入狀態(tài)機處理函數(shù)中,由它來選擇處理的走向。




            posted on 2009-12-09 23:47 那誰 閱讀(5394) 評論(0)  編輯 收藏 引用 所屬分類: 服務(wù)器設(shè)計Nginx

            久久精品成人免费国产片小草| 亚洲AV无码久久寂寞少妇| 日本免费一区二区久久人人澡| 日韩精品国产自在久久现线拍| 国产精自产拍久久久久久蜜| 亚洲人AV永久一区二区三区久久 | 色婷婷综合久久久久中文一区二区| 日产精品久久久久久久| 久久国产亚洲高清观看| 久久精品综合一区二区三区| 国产69精品久久久久APP下载| 久久亚洲精品国产精品| 久久久久亚洲精品男人的天堂 | 久久精品国产99久久久| 久久国产成人精品国产成人亚洲| 伊人久久大香线蕉亚洲五月天| 久久精品国产亚洲AV大全| 人妻系列无码专区久久五月天| 欧洲精品久久久av无码电影| 无码精品久久一区二区三区 | 国产精品丝袜久久久久久不卡| 亚洲av伊人久久综合密臀性色| 久久夜色精品国产| 伊人久久精品线影院| 久久精品国产清高在天天线| 国产精品99久久久久久宅男小说 | 久久久久亚洲av综合波多野结衣 | 精品久久久久中文字幕一区| 久久精品aⅴ无码中文字字幕不卡| 精品国产综合区久久久久久| 久久99国产综合精品| 久久人人爽人人爽人人片AV不| 久久久久国产精品麻豆AR影院| a高清免费毛片久久| 99久久精品国产麻豆| 国产V亚洲V天堂无码久久久| 亚洲国产一成人久久精品| 久久久亚洲裙底偷窥综合| 97精品伊人久久久大香线蕉| 中文字幕无码久久精品青草| 久久99这里只有精品国产|