Keep track of how many bytes DetachedBufferWriter writes
Change-Id: If7b932934d77b615ae2bf712c58eb24ac3253512
diff --git a/aos/events/logging/logfile_utils.h b/aos/events/logging/logfile_utils.h
index 4ab4dca..7acbbd3 100644
--- a/aos/events/logging/logfile_utils.h
+++ b/aos/events/logging/logfile_utils.h
@@ -7,6 +7,7 @@
#include <optional>
#include <string>
#include <string_view>
+#include <tuple>
#include <vector>
#include "absl/types/span.h"
@@ -38,6 +39,9 @@
DetachedBufferWriter(std::string_view filename);
~DetachedBufferWriter();
+ DetachedBufferWriter(const DetachedBufferWriter &) = delete;
+ DetachedBufferWriter &operator=(const DetachedBufferWriter &) = delete;
+
std::string_view filename() const { return filename_; }
// TODO(austin): Snappy compress the log file if it ends with .snappy!
@@ -53,6 +57,12 @@
// Triggers data to be provided to the kernel and written.
void Flush();
+ // Returns the number of bytes written.
+ size_t written_size() const { return written_size_; }
+
+ // Returns the number of bytes written or currently queued.
+ size_t total_size() const { return written_size_ + queued_size_; }
+
private:
const std::string filename_;
@@ -60,6 +70,7 @@
// Size of all the data in the queue.
size_t queued_size_ = 0;
+ size_t written_size_ = 0;
// List of buffers to flush.
std::vector<flatbuffers::DetachedBuffer> queue_;