This document is intended for the aspiring linux-hacker who likes to contribute to our little project. In this document you will see the internals of our ctsd-daemon. The intended audience is three-fold:
For those eager document-hackers, here is a link to the document-format we use Linuxdoc.
The authors can be reached at the following email adresses:
Jilles Oldenbeuving aka Falseprophet
falseprophet AT users.sourceforge.net
Roeland Nieuwenhuis aka Trance
azurazu AT users.sourceforge.net
For the ctsd-daemon we've chosen an implementation in plain C. Since there are no objects in C we have to put functionality in specific files instead of making objects. The idea is to split up as much as possible and this will be the guideline for future development. Long files with code arent welcome in the project. The guideline for a file is a maximum of 500 lines code. This guideline can be overruled if a file has a lot of repeating stuff such as if/else constructions. Also if the C code isnt too complex this can be overruled. main.c might be an exception for the 500 rule guideline because this file will get complex in time. Also if something belongs plain and simple together, for example a protocol, then it is wise to put this functionality into one file. This all to make it more readable.The flowcharts will give more information of the containments per file. As a rule of thumb every flowchart is a file on it self. From the above text you might understand that the design for our server is done in two ways:
The following sections will deal with the specifics of the design.