| ================= |
| 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. |