From cb167c450de9844bba4e4119ddf40dddfd2f7a9f Mon Sep 17 00:00:00 2001 From: Marcus Holland-Moritz Date: Fri, 26 Jul 2024 15:56:05 +0200 Subject: [PATCH] refactor(block_merger): move to internal namespace --- include/dwarfs/{ => internal}/block_merger.h | 4 ++-- .../detail/multi_queue_block_merger_impl.h | 6 ++--- .../{ => internal}/multi_queue_block_merger.h | 8 +++---- src/dwarfs/filesystem_writer.cpp | 7 +++--- test/block_merger_test.cpp | 22 +++++++++---------- 5 files changed, 23 insertions(+), 24 deletions(-) rename include/dwarfs/{ => internal}/block_merger.h (98%) rename include/dwarfs/{ => internal}/detail/multi_queue_block_merger_impl.h (98%) rename include/dwarfs/{ => internal}/multi_queue_block_merger.h (97%) diff --git a/include/dwarfs/block_merger.h b/include/dwarfs/internal/block_merger.h similarity index 98% rename from include/dwarfs/block_merger.h rename to include/dwarfs/internal/block_merger.h index b7c813a7..6c3044c1 100644 --- a/include/dwarfs/block_merger.h +++ b/include/dwarfs/internal/block_merger.h @@ -26,7 +26,7 @@ #include -namespace dwarfs { +namespace dwarfs::internal { class block_merger_base { public: @@ -112,4 +112,4 @@ class block_merger { virtual void finish(source_type src) = 0; }; -} // namespace dwarfs +} // namespace dwarfs::internal diff --git a/include/dwarfs/detail/multi_queue_block_merger_impl.h b/include/dwarfs/internal/detail/multi_queue_block_merger_impl.h similarity index 98% rename from include/dwarfs/detail/multi_queue_block_merger_impl.h rename to include/dwarfs/internal/detail/multi_queue_block_merger_impl.h index 760efdab..435fbb1f 100644 --- a/include/dwarfs/detail/multi_queue_block_merger_impl.h +++ b/include/dwarfs/internal/detail/multi_queue_block_merger_impl.h @@ -40,10 +40,10 @@ #include #include -#include +#include #include -namespace dwarfs::detail { +namespace dwarfs::internal::detail { template class multi_queue_block_merger_impl : public block_merger_base, @@ -312,4 +312,4 @@ class multi_queue_block_merger_impl : public block_merger_base, on_block_merged_callback_type on_block_merged_callback_; }; -} // namespace dwarfs::detail +} // namespace dwarfs::internal::detail diff --git a/include/dwarfs/multi_queue_block_merger.h b/include/dwarfs/internal/multi_queue_block_merger.h similarity index 97% rename from include/dwarfs/multi_queue_block_merger.h rename to include/dwarfs/internal/multi_queue_block_merger.h index f2920449..15c02f8d 100644 --- a/include/dwarfs/multi_queue_block_merger.h +++ b/include/dwarfs/internal/multi_queue_block_merger.h @@ -27,10 +27,10 @@ #include -#include -#include +#include +#include -namespace dwarfs { +namespace dwarfs::internal { class block_merger_whole_block_policy { public: @@ -152,4 +152,4 @@ class multi_queue_block_merger : public block_merger { std::unique_ptr state_; }; -} // namespace dwarfs +} // namespace dwarfs::internal diff --git a/src/dwarfs/filesystem_writer.cpp b/src/dwarfs/filesystem_writer.cpp index 46b3e720..b6a91d9b 100644 --- a/src/dwarfs/filesystem_writer.cpp +++ b/src/dwarfs/filesystem_writer.cpp @@ -39,8 +39,8 @@ #include #include #include +#include #include -#include #include #include #include @@ -556,9 +556,8 @@ class filesystem_writer_ final : public filesystem_writer::impl { size_t size() const override { return image_size_; } private: - using block_merger_type = - multi_queue_block_merger, - fsblock_merger_policy>; + using block_merger_type = internal::multi_queue_block_merger< + fragment_category, std::unique_ptr, fsblock_merger_policy>; using block_holder_type = block_merger_type::block_holder_type; block_compressor const& diff --git a/test/block_merger_test.cpp b/test/block_merger_test.cpp index bcda6db8..06764aeb 100644 --- a/test/block_merger_test.cpp +++ b/test/block_merger_test.cpp @@ -36,7 +36,7 @@ #include #include -#include +#include using namespace dwarfs; @@ -107,10 +107,10 @@ class sized_block_merger_policy { template struct timed_release_block { std::chrono::steady_clock::time_point when; - merged_block_holder holder; + internal::merged_block_holder holder; timed_release_block(std::chrono::steady_clock::time_point when, - merged_block_holder&& holder) + internal::merged_block_holder&& holder) : when{when} , holder{std::move(holder)} {} @@ -266,7 +266,7 @@ do_run(std::mutex& out_mx, size_t run, std::mt19937& delay_rng) { synchronized>> merged_queue; std::vector merged; - auto merge_cb = [&](merged_block_holder holder) { + auto merge_cb = [&](internal::merged_block_holder holder) { merged.emplace_back(std::move(holder.value())); if (use_merged_queue) { @@ -306,7 +306,7 @@ do_run(std::mutex& out_mx, size_t run, std::mt19937& delay_rng) { while (running || !merged_queue.rlock()->empty()) { auto now = std::chrono::steady_clock::now(); std::chrono::steady_clock::time_point next; - std::vector> holders; + std::vector> holders; merged_queue.withWLock([&](auto&& q) { while (!q.empty()) { @@ -326,7 +326,7 @@ do_run(std::mutex& out_mx, size_t run, std::mt19937& delay_rng) { }); if constexpr (PartialRelease) { - std::vector> partial; + std::vector> partial; for (auto& h : holders) { if (partial_release_repeat_dist(partial_rng) > 0) { @@ -467,7 +467,7 @@ block_merger_test(size_t const max_runs) { } // namespace TEST(block_merger, random) { - using merger_type = dwarfs::multi_queue_block_merger; + using merger_type = dwarfs::internal::multi_queue_block_merger; auto [passes, fails] = block_merger_test(max_runs_regular); @@ -477,8 +477,8 @@ TEST(block_merger, random) { TEST(block_merger, random_sized) { using merger_type = - dwarfs::multi_queue_block_merger; + dwarfs::internal::multi_queue_block_merger; auto [passes, fails] = block_merger_test(max_runs_regular); @@ -488,8 +488,8 @@ TEST(block_merger, random_sized) { TEST(block_merger, random_sized_partial) { using merger_type = - dwarfs::multi_queue_block_merger; + dwarfs::internal::multi_queue_block_merger; auto [passes, fails] = block_merger_test(max_runs_partial);