From: Joel Rosdahl Date: Sun, 11 Sep 2022 11:10:48 +0000 (+0200) Subject: refactor: Let core::CacheEntryDataWriter work with util::Bytes X-Git-Tag: v4.7~60 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=00ccae9a61fd8fc6631baf4675e77f34fd17d747;p=thirdparty%2Fccache.git refactor: Let core::CacheEntryDataWriter work with util::Bytes --- diff --git a/src/ccache.cpp b/src/ccache.cpp index 358765817..66978f4bf 100644 --- a/src/ccache.cpp +++ b/src/ccache.cpp @@ -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 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 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) { diff --git a/src/core/CacheEntryDataWriter.hpp b/src/core/CacheEntryDataWriter.hpp index 122bee765..92890f06c 100644 --- a/src/core/CacheEntryDataWriter.hpp +++ b/src/core/CacheEntryDataWriter.hpp @@ -28,14 +28,13 @@ #include #include #include -#include namespace core { class CacheEntryDataWriter { public: - CacheEntryDataWriter(std::vector& output); + CacheEntryDataWriter(util::Bytes& output); // Write `data`. Throws `core::Error` on failure. void write_bytes(nonstd::span data); @@ -47,10 +46,10 @@ public: template void write_int(T value); private: - std::vector& m_output; + util::Bytes& m_output; }; -inline CacheEntryDataWriter::CacheEntryDataWriter(std::vector& output) +inline CacheEntryDataWriter::CacheEntryDataWriter(util::Bytes& output) : m_output(output) { } diff --git a/src/core/Manifest.cpp b/src/core/Manifest.cpp index b5ed4a2af..9b46be191 100644 --- a/src/core/Manifest.cpp +++ b/src/core/Manifest.cpp @@ -231,7 +231,7 @@ Manifest::serialized_size() const } void -Manifest::serialize(std::vector& output) const +Manifest::serialize(util::Bytes& output) const { core::CacheEntryDataWriter writer(output); diff --git a/src/core/Manifest.hpp b/src/core/Manifest.hpp index 6f6d853ac..267055a81 100644 --- a/src/core/Manifest.hpp +++ b/src/core/Manifest.hpp @@ -19,6 +19,7 @@ #pragma once #include +#include #include @@ -49,7 +50,7 @@ public: bool save_timestamp); uint32_t serialized_size() const; - void serialize(std::vector& output) const; + void serialize(util::Bytes& output) const; void inspect(FILE* stream) const; diff --git a/src/core/Result.cpp b/src/core/Result.cpp index 935a2f30c..9e454b7f3 100644 --- a/src/core/Result.cpp +++ b/src/core/Result.cpp @@ -263,7 +263,7 @@ Serializer::serialized_size() const } Serializer::SerializeResult -Serializer::serialize(std::vector& output) +Serializer::serialize(util::Bytes& output) { SerializeResult serialize_result; CacheEntryDataWriter writer(output); diff --git a/src/core/Result.hpp b/src/core/Result.hpp index 935fe29aa..140e9b236 100644 --- a/src/core/Result.hpp +++ b/src/core/Result.hpp @@ -18,6 +18,7 @@ #pragma once +#include #include #include @@ -139,7 +140,7 @@ public: std::unordered_map raw_files; }; - SerializeResult serialize(std::vector& output); + SerializeResult serialize(util::Bytes& output); private: const Config& m_config;