lumiera_/doc/technical/vault/ConfigGuide.txt
Ichthyostega 6261779531 Global-Layer-Renaming: rearrange directories
backend -> vault
proc -> steam
gui -> stage
2018-11-15 23:28:03 +01:00

121 lines
3.2 KiB
Text

The incomplete Guide to Lumiera Configuration
=============================================
:author: ct
:date: 8/2008
WARNING: this is a draft from the early days of Lumiera +
IMHO, the whole topic ``Configuration'' requires further
discussion and design.
+
-- -- Ichthyo
'''''''''''''
'''''''''''''
Order is roughly alphabetically, depending on the mood of the writer.
Defaults are noted if present. Not all are implemented yet.
General Introduction
--------------------
Lumiera uses plaintext files with a INI file like syntax for
configuration. This Syntax is strictly line based. There are only a
few syntactic elements.
TODO:describe config syntax here
Config Subsystem
----------------
The path where Lumiera searches its configuration. Single components are
separated by colons as in PATH and other such environment variables.
Here it might be handy that any Lumiera configuration can be
overridden by a environment variable:
'LUMIERA_CONFIG_PATH=somewhere:else lumiera ...'
A default are initialized at installation time, this is important to
bootstrap the whole configuration system.
config.path
The config system check for a preferred format when writing config
entries. For each key 'foo.bar', these can be overridden with a key
'config.format.foo.bar' linking to the desired format.
config.formatkey ='config.format.%s'
The following are links to the default formatting when no explicit
format is set for a key. Changing these to a wrong type will break the
system!
config.formatdef.link < config.formatstr.link
config.formatdef.number < config.formatstr.number.dec
config.formatdef.real < config.formatstr.real
config.formatdef.string < config.formatstr.string
config.formatdef.word < config.formatstr.word
config.formatdef.bool < config.formatstr.bool
This are the low level formating specifications for the buildin
types, DONT TOUCH THESE!
config.formatstr.link = '< %s'
config.formatstr.number.dec = '= %lld'
config.formatstr.number.hex = '= 0x%llX'
config.formatstr.number.oct = '= 0%llo'
config.formatstr.real = '= %Lg'
config.formatstr.real.dec = '= %Lf'
config.formatstr.real.sci = '= %Le'
config.formatstr.string = '= %s'
config.formatstr.string.dquoted = '= \"%s\"'
config.formatstr.string.quoted = '= ''%s'''
config.formatstr.word = '= %s'
config.formatstr.bool = '= %d'
Plugin System
-------------
The path where Lumiera searches its plugins. Single components are
separated by colons as in PATH and other such environment variables.
Here it might be handy that any Lumiera configuration can be
overridden by a environment variable:
'LUMIERA_PLUGIN_PATH=somewhere:else lumiera ...'
Sensible defaults are initialized at installation time.
plugin.path
I/O Backend
-----------
File handling
~~~~~~~~~~~~~
How many filehandles the backend shall use [approx 2/3 of all available]
backend.file.max_handles
Memory mapped Files
~~~~~~~~~~~~~~~~~~~
Address space limit (memory mapping)
Defaults:
3GiB on 32 bit arch
192TiB on 64 bit arch
backend.mmap.as_limit
Default start size for mmaping windows.
128MB on 32 bit arch
2GB on 64 bit arch
backend.mmap.window_size
How many memory mappings shall be established at most
Default 60000
backend.mmap.max_maps