refactor(block_merger): move to internal namespace

This commit is contained in:
Marcus Holland-Moritz 2024-07-26 15:56:05 +02:00
parent f76d341317
commit cb167c450d
5 changed files with 23 additions and 24 deletions

View File

@ -26,7 +26,7 @@
#include <fmt/format.h>
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

View File

@ -40,10 +40,10 @@
#include <range/v3/view/join.hpp>
#include <range/v3/view/transform.hpp>
#include <dwarfs/block_merger.h>
#include <dwarfs/internal/block_merger.h>
#include <dwarfs/terminal.h>
namespace dwarfs::detail {
namespace dwarfs::internal::detail {
template <typename SourceT, typename BlockT, typename BlockPolicy>
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

View File

@ -27,10 +27,10 @@
#include <folly/Function.h>
#include <dwarfs/block_merger.h>
#include <dwarfs/detail/multi_queue_block_merger_impl.h>
#include <dwarfs/internal/block_merger.h>
#include <dwarfs/internal/detail/multi_queue_block_merger_impl.h>
namespace dwarfs {
namespace dwarfs::internal {
class block_merger_whole_block_policy {
public:
@ -152,4 +152,4 @@ class multi_queue_block_merger : public block_merger<SourceT, BlockT> {
std::unique_ptr<state> state_;
};
} // namespace dwarfs
} // namespace dwarfs::internal

View File

@ -39,8 +39,8 @@
#include <dwarfs/compression_metadata_requirements.h>
#include <dwarfs/filesystem_writer.h>
#include <dwarfs/fstypes.h>
#include <dwarfs/internal/multi_queue_block_merger.h>
#include <dwarfs/logger.h>
#include <dwarfs/multi_queue_block_merger.h>
#include <dwarfs/progress.h>
#include <dwarfs/util.h>
#include <dwarfs/worker_group.h>
@ -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<fragment_category, std::unique_ptr<fsblock>,
fsblock_merger_policy>;
using block_merger_type = internal::multi_queue_block_merger<
fragment_category, std::unique_ptr<fsblock>, fsblock_merger_policy>;
using block_holder_type = block_merger_type::block_holder_type;
block_compressor const&

View File

@ -36,7 +36,7 @@
#include <folly/String.h>
#include <folly/Synchronized.h>
#include <dwarfs/multi_queue_block_merger.h>
#include <dwarfs/internal/multi_queue_block_merger.h>
using namespace dwarfs;
@ -107,10 +107,10 @@ class sized_block_merger_policy {
template <typename BlockT>
struct timed_release_block {
std::chrono::steady_clock::time_point when;
merged_block_holder<BlockT> holder;
internal::merged_block_holder<BlockT> holder;
timed_release_block(std::chrono::steady_clock::time_point when,
merged_block_holder<BlockT>&& holder)
internal::merged_block_holder<BlockT>&& 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<std::vector<timed_release_block<BlockT>>> merged_queue;
std::vector<BlockT> merged;
auto merge_cb = [&](merged_block_holder<BlockT> holder) {
auto merge_cb = [&](internal::merged_block_holder<BlockT> 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<merged_block_holder<BlockT>> holders;
std::vector<internal::merged_block_holder<BlockT>> 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<merged_block_holder<BlockT>> partial;
std::vector<internal::merged_block_holder<BlockT>> 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<size_t, block>;
using merger_type = dwarfs::internal::multi_queue_block_merger<size_t, block>;
auto [passes, fails] = block_merger_test<merger_type>(max_runs_regular);
@ -477,8 +477,8 @@ TEST(block_merger, random) {
TEST(block_merger, random_sized) {
using merger_type =
dwarfs::multi_queue_block_merger<size_t, sized_block,
sized_block_merger_policy>;
dwarfs::internal::multi_queue_block_merger<size_t, sized_block,
sized_block_merger_policy>;
auto [passes, fails] = block_merger_test<merger_type>(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<size_t, sized_block,
sized_block_merger_policy>;
dwarfs::internal::multi_queue_block_merger<size_t, sized_block,
sized_block_merger_policy>;
auto [passes, fails] = block_merger_test<merger_type, true>(max_runs_partial);