summaryrefslogtreecommitdiffstats
path: root/runtime/queue.h
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2012-11-19 16:46:41 +0100
committerRainer Gerhards <rgerhards@adiscon.com>2012-11-19 16:46:41 +0100
commitc563914d6f96efc1c4da02a7f49409297b20f656 (patch)
tree32be51e909a97c103c4b866324540b29adb1f206 /runtime/queue.h
parent3c71347aa67c0a03dfa4ef1604ba39ae2caf87f9 (diff)
downloadrsyslog-c563914d6f96efc1c4da02a7f49409297b20f656.tar.gz
rsyslog-c563914d6f96efc1c4da02a7f49409297b20f656.tar.bz2
rsyslog-c563914d6f96efc1c4da02a7f49409297b20f656.zip
queue: file delete stream does no longer do real io
This stream is primarily used for state tracking, and has been modified to do just that. This results in considerable less io being done and the respective speedup.
Diffstat (limited to 'runtime/queue.h')
-rw-r--r--runtime/queue.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/runtime/queue.h b/runtime/queue.h
index e6ccdcdb..7db2d90d 100644
--- a/runtime/queue.h
+++ b/runtime/queue.h
@@ -147,7 +147,8 @@ struct queue_s {
struct queue_s *pqParent;/* pointer to the parent (if this is a child queue) */
int bDAEnqOnly; /* EnqOnly setting for DA queue */
/* now follow queueing mode specific data elements */
- union { /* different data elements based on queue type (qType) */
+ //union { /* different data elements based on queue type (qType) */
+ struct { /* different data elements based on queue type (qType) */
struct {
long deqhead, head, tail;
void** pBuf; /* the queued user data structure */
@@ -159,7 +160,9 @@ struct queue_s {
} linklist;
struct {
int64 sizeOnDisk; /* current amount of disk space used */
- int64 bytesRead; /* number of bytes read from current (undeleted!) file */
+ int64 deqOffs; /* offset after dequeue batch - used for file deleter */
+ int deqFileNumIn; /* same for the circular file numbers, mainly for */
+ int deqFileNumOut;/* deleting finished files */
strm_t *pWrite; /* current file to be written */
strm_t *pReadDeq; /* current file for dequeueing */
strm_t *pReadDel; /* current file for deleting */