This shows you the differences between two versions of the page.

Link to this comparison view

content:tech:configuration [03/06/2013 16:19] (current)
Andrew Bettison created
Line 1: Line 1:
 +====== Serval DNA Configuration ======
 +The [[Serval DNA]] configuration system was developed in early 2013, under the [[:content:activity:naf2]], with the following characteristics:
 +  * built entirely using the GNU C macro preprocessor, no extra utilities or tools needed
 +  * all configuration options are defined in a single header file ''[[https://github.com/servalproject/serval-dna/blob/development/conf_schema.h|conf_schema.h]]''
 +  * detailed diagnostic log messages cite filename and line number
 +  * warns of duplicate settings
 +  * warns of missing or inconsistent settings
 +  * warns of unsupported options (to catch misspellings and backward-incompatible schema upgrades)
 +  * new user commands for listing schema and examining run-time (loaded) configuration values
 +  * provision for future built-in comments to annotate schema (built-in help)
 +  * clearly defined semantics for run-time loading of defective configuration files
 +  * daemon automatically re-loads changed configuration file
 +  * coded with re-use in mind (eg, for limited, robust, textual data serialisation)
 +  * [[https://github.com/servalproject/serval-dna/blob/development/doc/Servald-Configuration.md|decent documentation]]