If you define a server you basically pass an instance name and a list of
items to the
define-server! procedure. Each item has a name and a
value. A value has a type. We provide several types: integers (numbers),
integer arrays, strings, string arrays, booleans (yes/no-values), hashes
(associations) and port configurations.
The following table shows how each kind of value is set up in the configuration file. item is the name of the item to be configured.
Example: (item . 42)
Example: (item . (0 1 2 3))
Example: (item . "a character string")
Example: (item . ("abc" "cba" "bca" "acb"))
A normal boolean in guile is represented by #t or #f. But the configuration
file parser additional understand some bare words and numbers.
Example: (item . #f)
Hash maps associate keys with values. Both must be character strings.
Example: (item . (key1 . "value1") (key2 . "value2"))
See Define ports, for more information on this. When configuring a port
configuration you need to define it via
define-port! previously and
put its symbolic name into the configuration.
Example: (item . foo-tcp-port)
The next chapter describes the servers currently implemented using Serveez. The configuration items used by each of them are described in the following format:
NameOfTheItem (Type, default: DefaultValue, Comments)
Description of the configuration item named ‘NameOfTheItem’ (case sensitive). ‘Type’ can be either ‘integer’, ‘integer array’, ‘string’, ‘string array’, ‘boolean’, ‘hash’ or ‘port configuration’. The ‘Comments’ is an optional text.
The example configuration file data/serveez.cfg contains an example definition of each server already implemented. You can copy and modify the example for an easy start.