summaryrefslogtreecommitdiffstats
path: root/runtime/ratelimit.h
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2013-06-17 13:34:17 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2013-06-17 13:34:17 +0200
commit4357348b96e801bad73e83bc7891cd4d08b18b24 (patch)
tree0ae64f857f5248cc354d901acf866d92e7f2e15e /runtime/ratelimit.h
parent9ac7e207705a585bb4d11f4058ff7f640158c8d3 (diff)
downloadrsyslog-4357348b96e801bad73e83bc7891cd4d08b18b24.tar.gz
rsyslog-4357348b96e801bad73e83bc7891cd4d08b18b24.tar.bz2
rsyslog-4357348b96e801bad73e83bc7891cd4d08b18b24.zip
implement new ratelimiting mode for imjournal
and make imjournal use it. The new mode is needed, as imjournal uses journal's timestamp as message generation time (which otherwise is when the message entered the system, and the ratelimiter uses this as current timestamp in order to save performance). It is debatable if imjournal is doing the right thing here. But it doesn't feel totally wrong. So let's safe that debate for later ;)
Diffstat (limited to 'runtime/ratelimit.h')
-rw-r--r--runtime/ratelimit.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/runtime/ratelimit.h b/runtime/ratelimit.h
index a058b069..563777fd 100644
--- a/runtime/ratelimit.h
+++ b/runtime/ratelimit.h
@@ -35,6 +35,7 @@ struct ratelimit_s {
unsigned nsupp; /**< nbr of msgs suppressed */
msg_t *pMsg;
sbool bThreadSafe; /**< do we need to operate in Thread-Safe mode? */
+ sbool bNoTimeCache; /**< if we shall not used cached reception time */
pthread_mutex_t mut; /**< mutex if thread-safe operation desired */
};
@@ -42,6 +43,7 @@ struct ratelimit_s {
rsRetVal ratelimitNew(ratelimit_t **ppThis, char *modname, char *dynname);
void ratelimitSetThreadSafe(ratelimit_t *ratelimit);
void ratelimitSetLinuxLike(ratelimit_t *ratelimit, unsigned short interval, unsigned short burst);
+void ratelimitSetNoTimeCache(ratelimit_t *ratelimit);
void ratelimitSetSeverity(ratelimit_t *ratelimit, intTiny severity);
rsRetVal ratelimitMsg(ratelimit_t *ratelimit, msg_t *pMsg, msg_t **ppRep);
rsRetVal ratelimitAddMsg(ratelimit_t *ratelimit, multi_submit_t *pMultiSub, msg_t *pMsg);