Date: Fri, 22 Nov 2002 15:42:18 +0100 (CET) From: Sascha Schumann To: ircg@lists.scs-web.de Subject: [ircg] IRCG 4 Hi! Work on IRCG 4 has commenced. The primary aims are: Support wider range of web servers IRCG 4 will be able to run inside Apache. Improve hardware scalability IRCG 4's tasks will be divided up so that they can be scheduled on multiple CPUs. Improve reliability IRCG 4 will survive failures in non-IRCG parts, such as the web server or PHP. IRCG 4 will run in a separate process which is forked off during the web server's start. * The separate process contains multiple threads (based on State Threads) and fulfills these tasks: ** Manage all IRC connections Running IRCG handlers (e.g. crafting output messages) Manage out-going data (e.g. data flowing over HTTP connections) HTTP workers (e.g. Apache children) do the following: Accept and process HTTP requests Pass sockets to the IRCG process Potentially block (e.g. database requests) without harming the user experience The C API will remain mostly unchanged. New API calls will be introduced for properly management of central data structure's lifetime. * At a later point in time, it might also be possible to have a persistently running IRCG server which the web server talks to using shared memory and a local socket. ** This might change to POSIX threads at some point in time to further improve scalability. - Sascha