52 lines
1.0 KiB
Plaintext
52 lines
1.0 KiB
Plaintext
|
=================
|
||
|
FastCGI Internals
|
||
|
=================
|
||
|
|
||
|
---------------
|
||
|
Module: fastcgi
|
||
|
---------------
|
||
|
|
||
|
:Author: Jan Kneschke
|
||
|
:Date: $Date: 2004/08/01 07:01:29 $
|
||
|
:Revision: $Revision: 1.1 $
|
||
|
|
||
|
:abstract:
|
||
![]() |
This is a short summary of the state-engine which is driving the FastCGI
|
||
|
module. It describes the basic concepts and the way the different parts
|
||
|
of the module are connected.
|
||
![]() |
|
||
|
.. meta::
|
||
|
:keywords: lighttpd, state-engine, fastcgi
|
||
![]() |
|
||
|
.. contents:: Table of Contents
|
||
|
|
||
|
Description
|
||
|
===========
|
||
|
|
||
|
States
|
||
|
------
|
||
|
|
||
|
The state-engine is currently made of 6 states which are walk-through on
|
||
![]() |
the way each connection.
|
||
|
|
||
|
:init:
|
||
|
prepare fastcgi-connection
|
||
|
:connect:
|
||
|
waiting for a connection
|
||
|
:prepwrite:
|
||
|
build the fastcgi-request
|
||
|
:write:
|
||
|
write the fastcgi-request to the network
|
||
|
:read:
|
||
|
read fastcgi-response from network and push it to the write-queue
|
||
|
:close:
|
||
|
terminate the connection
|
||
![]() |
|
||
|
.. image:: fastcgi-state.png
|
||
|
|
||
|
Delays
|
||
|
------
|
||
|
|
||
|
connect, write and read may need to wait for an fdevent. That's the reason
|
||
|
for the loop in the state-diagram.
|