summaryrefslogtreecommitdiffstats
path: root/runtime/ruleset.h
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2009-10-27 17:31:27 +0100
committerRainer Gerhards <rgerhards@adiscon.com>2009-10-27 17:31:27 +0100
commit1ada506e2d90377c2475e103340d8986bf8847f9 (patch)
tree214d2276fbfcff39d025eaf114cf5813e5a445cd /runtime/ruleset.h
parentf3134f89211ea6a65e72bca1dd2f91bf0a0ae894 (diff)
downloadrsyslog-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.h5
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 */