From e2a1b600473ff897f7d7987b23156640eacf839f Mon Sep 17 00:00:00 2001
From: Giovanna Lazzari Miotto <giovanna.lazzari.miotto@cern.ch>
Date: Fri, 14 Feb 2025 10:50:38 +0100
Subject: [PATCH] tidy: output,sink: Pass args as const references

---
 src/OutputFile.cc        |  2 +-
 src/OutputFile.h         | 19 ++++++++++---------
 src/OutputFileHandler.cc |  1 +
 src/sink.cc              |  4 ++--
 src/sink.h               |  7 ++++---
 5 files changed, 18 insertions(+), 15 deletions(-)

diff --git a/src/OutputFile.cc b/src/OutputFile.cc
index f4832ac4..80f3fd1a 100644
--- a/src/OutputFile.cc
+++ b/src/OutputFile.cc
@@ -49,7 +49,7 @@ std::string Detail::LumisectionMetadata::MakeFooter(uint32_t run_number) const {
   return footer.str();
 }
 
-void Detail::RunMetadata::AddLumisectionMetadata(LumisectionMetadata& ls) {
+void Detail::RunMetadata::AddLumisectionMetadata(const LumisectionMetadata& ls) {
   std::lock_guard<std::mutex> l(mutex_);
   num_orbits += ls.num_orbits;
   num_files += ls.num_files;
diff --git a/src/OutputFile.h b/src/OutputFile.h
index 8f2369ca..c9585f6f 100644
--- a/src/OutputFile.h
+++ b/src/OutputFile.h
@@ -92,7 +92,7 @@ struct RunMetadata {
     num_orbits = num_files = 0;
     number = run_number;
   }
-  void AddLumisectionMetadata(LumisectionMetadata& ls);
+  void AddLumisectionMetadata(const LumisectionMetadata& ls);
   std::string MakeFooter(uint32_t ls_index) const;
 };
 
@@ -110,23 +110,23 @@ class Output {
   Output() = default;
   ~Output() {}
 
-  auto GetHandle() const { return handle_; }
+  [[maybe_unused]] auto GetHandle() const { return handle_; }
   auto GetMetadata() const { return md_; }
-  auto GetLumisection() const { return md_.lumisection; }
-  auto GetLumisectionFooter() const { return ls_footer_; }
+  [[maybe_unused]] auto GetLumisection() const { return md_.lumisection; }
+  [[maybe_unused]] auto GetLumisectionFooter() const { return ls_footer_; }
   auto HasPayload() const {
     auto min_val = header_.has_value() ? sizeof(HeaderType) : 0;
     return md_.size > min_val;
   }
-  auto HasLumisectionFooter() const { return ls_footer_.lumisection != 0; }
+  [[maybe_unused]] auto HasLumisectionFooter() const { return ls_footer_.lumisection != 0; }
   auto HasHeader() const { return reserved_header_; };
-  auto GetHeader() const -> std::optional<HeaderType> { return header_; }
+  [[maybe_unused]] auto GetHeader() const -> std::optional<HeaderType> { return header_; }
 
   void UpdateHeader() {
     header_ = HeaderType(md_.source_id, md_.num_orbits, md_.run_number, md_.lumisection, md_.size);
   }
 
-  void SetLumisectionFooter(Detail::LumisectionMetadata ls) {
+  void SetLumisectionFooter(const Detail::LumisectionMetadata& ls) {
     // The last file in a lumisection carries an LS metadata footer
     ls_footer_ = ls;
   }
@@ -136,14 +136,15 @@ class Output {
 
   virtual bool Open() = 0;
   virtual int Write(const char*& buffer, size_t size_bytes, uint32_t size_orbits) = 0;
-  [[maybe_unused]] virtual int WriteAt(const char*& data, size_t size_bytes, std::optional<off_t> abs_seek) = 0;
+  [[maybe_unused]] virtual int WriteAt(const char*& data, size_t size_bytes,
+                                       std::optional<off_t> abs_seek) = 0;
   virtual bool Close() = 0;
   virtual bool IsOpen() const = 0;
 
  protected:
   OutputHandleType handle_;
   std::optional<HeaderType> header_;
-  Detail::FileMetadata md_;
+  Detail::FileMetadata md_{};
   Detail::LumisectionMetadata ls_footer_{};
   bool reserved_header_{false};
 
diff --git a/src/OutputFileHandler.cc b/src/OutputFileHandler.cc
index a0d0c0f5..873ac4eb 100644
--- a/src/OutputFileHandler.cc
+++ b/src/OutputFileHandler.cc
@@ -50,6 +50,7 @@ void OutputFileHandler::UpdateRunInfo(uint32_t next_run, uint32_t next_index) {
 }
 
 void OutputFileHandler::CommitFile() {
+  assert(ls_);
   ls_->AddFileMetadata(outputFile_.GetMetadata());
   Detail::FileMetadata file_meta = outputFile_.GetMetadata();
   if (ls_->IsLastIndex(file_meta.index_in_ls) && IsMainPipeline() && HasCmsswHeaders()) {
diff --git a/src/sink.cc b/src/sink.cc
index 5555cbc4..319bfb82 100644
--- a/src/sink.cc
+++ b/src/sink.cc
@@ -26,9 +26,9 @@ void Sink<TOutput>::CommitFileHeader(TOutput &file) {
 }
 
 template <typename TOutput>
-void Sink<TOutput>::CommitOutput(TOutput &f) {
+void Sink<TOutput>::CommitOutput(const TOutput &f) {
   if constexpr (std::is_same<TOutput, FileOutput>()) {
-    auto file = reinterpret_cast<FileOutput &>(f);
+    auto file = reinterpret_cast<const FileOutput &>(f);
     auto filename = file.GetFilename();
     LOG(TRACE) << "Closing file '" << filename << "'";
     assert(file.Close());
diff --git a/src/sink.h b/src/sink.h
index f9bfccc8..0205568c 100644
--- a/src/sink.h
+++ b/src/sink.h
@@ -50,10 +50,11 @@ class Sink {
       }
     }
   }
-  void CommitOutput(TOutput &f);
+  void CommitOutput(const TOutput &f);
+  // CommitFileHeader: updates header
   void CommitFileHeader(TOutput &f);
 
-  Sink(std::string rp, std::string mp) : root_path_(rp), metadata_path_(mp) {
+  Sink(const std::string &rp, const std::string &mp) : root_path_(rp), metadata_path_(mp) {
     commit_thread_ = std::thread(&Sink::ProcessQueue, this);
   }
 
@@ -65,7 +66,7 @@ class Sink {
     commit_thread_.join();
   }
 
-  void WriteLumisectionFooter(uint32_t run_number, Detail::LumisectionMetadata &ls) {
+  void WriteLumisectionFooter(uint32_t run_number, const Detail::LumisectionMetadata &ls) {
     auto footer = ls.MakeFooter(run_number);
 
     auto filename = Detail::FormatRun(run_number) + "_" +
-- 
GitLab