From b6a21b5b3bcceea59c871101210cc44eaa7da913 Mon Sep 17 00:00:00 2001 From: Philippe Canal <pcanal@fnal.gov> Date: Thu, 4 Feb 2021 21:31:22 -0600 Subject: [PATCH] Add TBufferMerger::GetBuffered. This can be used to monitor the queue size in bytes rather than number of files --- io/io/inc/ROOT/TBufferMerger.hxx | 3 +++ io/io/src/TBufferMerger.cxx | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/io/io/inc/ROOT/TBufferMerger.hxx b/io/io/inc/ROOT/TBufferMerger.hxx index 48592cf00ab..c2e6822578d 100644 --- a/io/io/inc/ROOT/TBufferMerger.hxx +++ b/io/io/inc/ROOT/TBufferMerger.hxx @@ -70,6 +70,9 @@ public: /** Returns the number of buffers currently in the queue. */ size_t GetQueueSize() const; + /** Returns the number of bytes currently buffered (i.e. in the queue). */ + size_t GetBuffered() const; + /** Returns the current value of the auto save setting in bytes (default = 0). */ size_t GetAutoSave() const; diff --git a/io/io/src/TBufferMerger.cxx b/io/io/src/TBufferMerger.cxx index f7b9d5d1099..c09ceae192e 100644 --- a/io/io/src/TBufferMerger.cxx +++ b/io/io/src/TBufferMerger.cxx @@ -66,6 +66,12 @@ size_t TBufferMerger::GetQueueSize() const return fQueue.size(); } +size_t TBufferMerger::GetBuffered() const +{ + std::lock_guard<std::mutex> lock(fQueueMutex); + return fBuffered; +} + void TBufferMerger::Push(TBufferFile *buffer) { { -- GitLab