mirror of
https://github.com/mhx/dwarfs.git
synced 2025-09-13 14:27:30 -04:00
refactor(block_merger): move to internal namespace
This commit is contained in:
parent
f76d341317
commit
cb167c450d
@ -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
|
@ -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
|
@ -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
|
@ -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&
|
||||
|
@ -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);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user