aboutsummaryrefslogtreecommitdiffstats
path: root/doc/src/internals.xml
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/internals.xml')
-rw-r--r--doc/src/internals.xml41
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 +-----------+ +-----+ +--------------+