diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2009-10-27 17:31:27 +0100 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2009-10-27 17:31:27 +0100 |
commit | 1ada506e2d90377c2475e103340d8986bf8847f9 (patch) | |
tree | 214d2276fbfcff39d025eaf114cf5813e5a445cd /runtime/ruleset.h | |
parent | f3134f89211ea6a65e72bca1dd2f91bf0a0ae894 (diff) | |
download | rsyslog-1ada506e2d90377c2475e103340d8986bf8847f9.tar.gz rsyslog-1ada506e2d90377c2475e103340d8986bf8847f9.tar.xz rsyslog-1ada506e2d90377c2475e103340d8986bf8847f9.zip |
added the capability to have ruleset-specific main message queues
This offers considerable additional flexibility AND superior performance
(in cases where multiple inputs now can avoid lock contention)
Diffstat (limited to 'runtime/ruleset.h')
-rw-r--r-- | runtime/ruleset.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/runtime/ruleset.h b/runtime/ruleset.h index 32571687..deea9405 100644 --- a/runtime/ruleset.h +++ b/runtime/ruleset.h @@ -25,6 +25,7 @@ #ifndef INCLUDED_RULESET_H #define INCLUDED_RULESET_H +#include "queue.h" #include "linkedlist.h" /* the ruleset object */ @@ -32,6 +33,7 @@ struct ruleset_s { BEGINobjInstance; /* Data to implement generic object - MUST be the first data element! */ linkedList_t llRules; /* this is NOT a pointer - no typo here ;) */ uchar *pszName; /* name of our ruleset */ + qqueue_t *pQueue; /* "main" message queue, if the ruleset has its own (else NULL) */ }; /* interfaces */ @@ -50,8 +52,9 @@ BEGINinterface(ruleset) /* name must also be changed in ENDinterface macro! */ rsRetVal (*SetDefaultRuleset)(uchar*); rsRetVal (*SetCurrRuleset)(uchar*); ruleset_t* (*GetCurrent)(void); + qqueue_t* (*GetRulesetQueue)(ruleset_t*); ENDinterface(ruleset) -#define rulesetCURR_IF_VERSION 1 /* increment whenever you change the interface structure! */ +#define rulesetCURR_IF_VERSION 2 /* increment whenever you change the interface structure! */ /* prototypes */ |