]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
refactor: Let core::CacheEntryDataWriter work with util::Bytes
authorJoel Rosdahl <joel@rosdahl.net>
Sun, 11 Sep 2022 11:10:48 +0000 (13:10 +0200)
committerJoel Rosdahl <joel@rosdahl.net>
Wed, 21 Sep 2022 15:06:29 +0000 (17:06 +0200)
src/ccache.cpp
src/core/CacheEntryDataWriter.hpp
src/core/Manifest.cpp
src/core/Manifest.hpp
src/core/Result.cpp
src/core/Result.hpp

index 3587658174fccaf37c00f254501bc71ed1a93388..66978f4bfc154bc01908ae2e3752b87ffff5ad3e 100644 (file)
@@ -793,7 +793,7 @@ save_manifest(const Config& config,
   header.set_entry_size_from_payload_size(manifest.serialized_size());
 
   core::CacheEntryWriter writer(file_writer, header);
-  std::vector<uint8_t> payload;
+  util::Bytes payload;
   payload.reserve(header.payload_size());
   manifest.serialize(payload);
   writer.write(payload.data(), payload.size());
@@ -945,7 +945,7 @@ write_result(Context& ctx,
   core::FileWriter file_writer(atomic_result_file.stream());
   core::CacheEntryWriter writer(file_writer, header);
 
-  std::vector<uint8_t> payload;
+  util::Bytes payload;
   payload.reserve(serializer.serialized_size());
   const auto serialize_result = serializer.serialize(payload);
   for (auto [file_number, source_path] : serialize_result.raw_files) {
index 122bee765b6ff79dee7817c2285805f4e2a6d6ce..92890f06c8f3d46c8c9e2e5c2593fba878cca38c 100644 (file)
 #include <cstddef>
 #include <cstring>
 #include <string_view>
-#include <vector>
 
 namespace core {
 
 class CacheEntryDataWriter
 {
 public:
-  CacheEntryDataWriter(std::vector<uint8_t>& output);
+  CacheEntryDataWriter(util::Bytes& output);
 
   // Write `data`. Throws `core::Error` on failure.
   void write_bytes(nonstd::span<const uint8_t> data);
@@ -47,10 +46,10 @@ public:
   template<typename T> void write_int(T value);
 
 private:
-  std::vector<uint8_t>& m_output;
+  util::Bytes& m_output;
 };
 
-inline CacheEntryDataWriter::CacheEntryDataWriter(std::vector<uint8_t>& output)
+inline CacheEntryDataWriter::CacheEntryDataWriter(util::Bytes& output)
   : m_output(output)
 {
 }
index b5ed4a2affbdb70d0ab3cc83314fb23517937a42..9b46be191200e4b4d36030f2467dd0c9e6818d8c 100644 (file)
@@ -231,7 +231,7 @@ Manifest::serialized_size() const
 }
 
 void
-Manifest::serialize(std::vector<uint8_t>& output) const
+Manifest::serialize(util::Bytes& output) const
 {
   core::CacheEntryDataWriter writer(output);
 
index 6f6d853acf421f6751b1a0e0d8a8859853c71d61..267055a81fcc16ec0c626e8174c745d2b2735127 100644 (file)
@@ -19,6 +19,7 @@
 #pragma once
 
 #include <Digest.hpp>
+#include <util/Bytes.hpp>
 
 #include <third_party/nonstd/span.hpp>
 
@@ -49,7 +50,7 @@ public:
                   bool save_timestamp);
 
   uint32_t serialized_size() const;
-  void serialize(std::vector<uint8_t>& output) const;
+  void serialize(util::Bytes& output) const;
 
   void inspect(FILE* stream) const;
 
index 935a2f30c2f8ab4a2ad39678721ad961e1af2956..9e454b7f3a64cbf49641ef7b0e04322964b79692 100644 (file)
@@ -263,7 +263,7 @@ Serializer::serialized_size() const
 }
 
 Serializer::SerializeResult
-Serializer::serialize(std::vector<uint8_t>& output)
+Serializer::serialize(util::Bytes& output)
 {
   SerializeResult serialize_result;
   CacheEntryDataWriter writer(output);
index 935fe29aa1715a7c76e7a25d77a6b892abebb278..140e9b2365eaa3c27751e125a924b4958a9da1f3 100644 (file)
@@ -18,6 +18,7 @@
 
 #pragma once
 
+#include <util/Bytes.hpp>
 #include <util/types.hpp>
 
 #include <third_party/nonstd/span.hpp>
@@ -139,7 +140,7 @@ public:
     std::unordered_map<uint8_t /*index*/, std::string /*path*/> raw_files;
   };
 
-  SerializeResult serialize(std::vector<uint8_t>& output);
+  SerializeResult serialize(util::Bytes& output);
 
 private:
   const Config& m_config;