diff options
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/internals.xml | 41 |
1 files changed, 25 insertions, 16 deletions
diff --git a/doc/src/internals.xml b/doc/src/internals.xml index d64bf87..dafa160 100644 --- a/doc/src/internals.xml +++ b/doc/src/internals.xml @@ -1,5 +1,5 @@ <para> -There are three basic parts of daemon: listener, message processor and +There are three basic parts of daemon: UDP listener, message processor and message writer. All these parts run in separate threads: the listener receives messages as fast as possible and passes them to the @@ -8,13 +8,13 @@ the message processor performs time-consuming tasks and message writer performs asynchronous output to files. </para> <para> -Datagrams are received by the listener. +Datagrams are received by the UDP listener. The listener emits raw messages (struct raw_message) which contain content of datagram, sender address and reference to a source described in configuration file. </para> <para> -Raw messages are passed to the processing thread via queue. +Raw messages are passed to the main processing thread via queue. Message processing involves the following tasks: <itemizedlist> <listitem> @@ -55,20 +55,29 @@ Log rotation is initiated at process startup or at writing thread startup. Old log files are deleted by the purger which is launched at process startup or by the writing thread after file is closed. <screen> -+--------+ raw message +-----+ +------+ message +-----------------+ -|listener|------------>|queue|--->|parser|-------->|charset converter|---> -+--------+ +-----+ +------+ +-----------------+ + mark message ++-------------------------------------------------+ +| | +| +----------------+ +-----+ message +--------------+ ++--->|internal sources|--->|queue|-------->| - - - - - | + | (log_internal) | +-----+ | \ | + +----------------+ | main loop \ | + | \| message ++------------+ raw message +-----+ | +------+ /|---------> +|UDP listener|------------>|queue|-------->|-|parser|- - | ++------------+ +-----+ | +------+ | + +--------------+ - +------+ +-----------+ +-----------+ ---->|filter|--->|multiplexer|-+->|destination|+ - +------+ +-----------+ +->+-----------+|+ - ^ +-> +-----------+| - | +-----------+ - +-------+ - |logpath|+ - +-------+|+ - +-------+| - +-------+ + +-----------------+ +------+ +-----------+ +-----------+ +--->|charset converter|--->|filter|--->|multiplexer|-+->|destination|+ + +-----------------+ +------+ +-----------+ +->+-----------+|+ + ^ +-> +-----------+| + | +-----------+ + +-------+ + |logpath|+ + +-------+|+ + +-------+| + +-------+ file +-----------+ +-----+ +--------------+ |