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