From cfce31471536ebe42af7d1b7a1958a93beca106c Mon Sep 17 00:00:00 2001 From: Paul Chang Date: Fri, 17 May 2024 08:10:26 -0700 Subject: [PATCH] Make BlobWriter::Add() accept const void* PiperOrigin-RevId: 634780483 --- compression/blob_store.cc | 9 +++++---- compression/blob_store.h | 6 +++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/compression/blob_store.cc b/compression/blob_store.cc index 49565d4..47bf00f 100644 --- a/compression/blob_store.cc +++ b/compression/blob_store.cc @@ -124,7 +124,7 @@ class BlobStore { } static std::vector PrepareWriteRequests( - const hwy::uint128_t keys[], const hwy::Span blobs[], + const hwy::uint128_t keys[], const hwy::Span blobs[], size_t num_blobs, BlobStore* bs) { // Sanity check and ensure the cast below is safe. HWY_ASSERT(num_blobs < (1ULL << 20)); @@ -164,7 +164,8 @@ class BlobStore { bs->keys_[num_blobs + i].lo = offset; bs->keys_[num_blobs + i].hi = blobs[i].size(); - EnqueueChunkRequests(offset, blobs[i].size(), blobs[i].data(), requests); + EnqueueChunkRequests(offset, blobs[i].size(), + const_cast(blobs[i].data()), requests); offset += blobs[i].size(); const size_t padded_size = hwy::RoundUpTo(blobs[i].size(), kBlobAlign); if (padded_size != blobs[i].size()) { @@ -270,8 +271,8 @@ BlobError BlobWriter::WriteAll(hwy::ThreadPool& pool, const Path& filename) { // Concatenate blobs in memory. const size_t header_size = BlobStore::HeaderSize(keys_.size()); const size_t padded_header_size = hwy::RoundUpTo(header_size, kBlobAlign); - BlobStorePtr bs = BlobStore::Allocate(padded_header_size); - std::vector requests = BlobStore::PrepareWriteRequests( + const BlobStorePtr bs = BlobStore::Allocate(padded_header_size); + const std::vector requests = BlobStore::PrepareWriteRequests( keys_.data(), blobs_.data(), keys_.size(), bs.get()); // Create/replace existing file. diff --git a/compression/blob_store.h b/compression/blob_store.h index d95d7e1..119f95c 100644 --- a/compression/blob_store.h +++ b/compression/blob_store.h @@ -80,9 +80,9 @@ class BlobReader { class BlobWriter { public: - void Add(hwy::uint128_t key, void* data, size_t size) { + void Add(hwy::uint128_t key, const void* data, size_t size) { keys_.push_back(key); - blobs_.emplace_back(static_cast(data), size); + blobs_.emplace_back(static_cast(data), size); } // Stores all blobs to disk in the given order with padding for alignment. @@ -90,7 +90,7 @@ class BlobWriter { private: std::vector keys_; - std::vector> blobs_; + std::vector> blobs_; }; } // namespace gcpp