The FCGIServer sets up a listening socket on which it accepts incoming client connections. For each incoming connection, creates a new ServerConnection instance and starts a separate processing task for messages from that connection. Maintains a list of such connections.


Whether the server is running and listening for new connections


Processes incoming connections on the listen socket, by creating a separate asynchronous handler for each new connection. Handling of messages on a connection is implemented in ServerConnection.


Set server parameters this server should respond with. Set values according to resources available on your system and the amount of load you wish this instance to take up.


Request stopping of the server by closing the listen socket


Number of bytes in a FCGIHeader. Future versions of the protocol will not reduce this number.


The maximum number of concurrent transport connections this application will accept, e.g. "1" or "10".


The maximum number of concurrent requests this application will accept, e.g. "1" or "50".


If this application does not multiplex connections (i.e. handle concurrent requests over each connection) then "0", "1" otherwise.


The runner type to use. Set this with the set_server_runner method.


Runs fast CGI commands as Julia functions. Holds the runner task and allows waiting and terminating (interrupting) the task.


Holds all the plumbing required for a running process or function


Runs fast CGI commands as processes. Holds the runner process and allows waiting and terminating the process.


Process a single FastCGI client connection. A client may send multiple requests over the same connection by setting the keep flag in the BEGINREQUEST message. Handles all messages that are not specific to any request id (including the BEGINREQUEST message that initializes a request). Initializes and maintains ServerRequest instances for each new request id. All messages targeted to ongoing request ids are handled over to respective ServerRequest instances.


Handles a single request. Invokes the process that would handle the CGI request, monitors it. Reads inputs and channels them to the running process. Reads outputs from the process and channels them to the connection.