The Fastcgipp::Request class is a pure virtual class. The class, as is, establishes and parses session data. Once complete it looks to user defined virtual functions for actually generating the response. A response shall be outputted by the user defined virtuals through an output stream. Once a request has control over operation it maintains it until relinquishing it. Should the user know a request will sit around waiting for data, it can return control to Fastcgipp::Manager and have a message sent back through the manager when the data is ready. The aspects of the session are build around the Fastcgipp::Http namespace.
Fastcgipp::Manager basically runs an endless loop (which can be terminated through POSIX signals or a function call from another thread) that passes control to requests that have a message queued or the transceiver. It is smart enough to go into a sleep mode when there are no tasks to complete or data to receive.
Fastcgipp::Transceiver's transmit half implements a cyclic buffer that can grow indefinitely to insure that operation does not halt. The send half receives full frames and passes them through Fastcgipp::Manager onto the requests. It manages all the open connections and polls them for incoming data.
tar -xvjf fastcgi++-1.2.tar.bz2
cd fastcgi++-1.2
make
make install
The default prefix for installation is /usr/local. If you wanted to change it to /usr simply change "make install"
to "PREFIX=/usr make install"
. If you want the binary files to be run through strip
change "make"
to "STRIP=true make"
.
To also install the documentation into $PREFIX/share/doc/fastcgi++ with PREFIX preceded as above run this:
make doc-install
If you want to build and install the examples, simply the commands below. The build the examples statically, precede make with STATIC=yes.
make examples
make examples-install
The examples will by default install to $WWWROOT/fastcgipp with WWWROOT = /var/www/localhost/htdocs. To change WWWROOT, simply precede "make examples-install"
with a definition of WWWROOT as in the prefix example above.
Hello World in Five Languages : A simple tutorial outputting "Hello World" in five languages using UTF-32 internally and UTF-8 externally.
Echo : An example of a FastCGI application that echoes all user data and sets a cookie
Display The Gnu : A tutorial explaining how to display images and non-html data as well as setting locales
Delayed response : A tutorial covering the use of the task manager and threads to have requests efficiently communicate with non-fastcgi++ data.