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());
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) {
#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);
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)
{
}
}
void
-Manifest::serialize(std::vector<uint8_t>& output) const
+Manifest::serialize(util::Bytes& output) const
{
core::CacheEntryDataWriter writer(output);
#pragma once
#include <Digest.hpp>
+#include <util/Bytes.hpp>
#include <third_party/nonstd/span.hpp>
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;
}
Serializer::SerializeResult
-Serializer::serialize(std::vector<uint8_t>& output)
+Serializer::serialize(util::Bytes& output)
{
SerializeResult serialize_result;
CacheEntryDataWriter writer(output);
#pragma once
+#include <util/Bytes.hpp>
#include <util/types.hpp>
#include <third_party/nonstd/span.hpp>
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;