mirror of
https://github.com/mhx/dwarfs.git
synced 2025-09-10 04:50:31 -04:00
refactor(block_merger): improve naming, don't hard-code policy
This commit is contained in:
parent
948901a6e7
commit
ace345d805
@ -108,12 +108,12 @@ class multi_queue_block_merger : public block_merger<SourceT, BlockT> {
|
|||||||
multi_queue_block_merger() = default;
|
multi_queue_block_merger() = default;
|
||||||
|
|
||||||
multi_queue_block_merger(
|
multi_queue_block_merger(
|
||||||
size_t num_active_slots, size_t max_queued_blocks,
|
size_t num_active_slots, size_t max_queued_size,
|
||||||
std::vector<source_type> const& sources,
|
std::vector<source_type> const& sources,
|
||||||
on_block_merged_callback_type&& on_block_merged_callback,
|
on_block_merged_callback_type&& on_block_merged_callback,
|
||||||
BlockPolicy&& policy = block_merger_whole_block_policy{})
|
BlockPolicy&& policy = BlockPolicy{})
|
||||||
: state_{std::make_unique<state>(
|
: state_{std::make_unique<state>(
|
||||||
num_active_slots, max_queued_blocks, sources,
|
num_active_slots, max_queued_size, sources,
|
||||||
std::move(on_block_merged_callback), std::move(policy))} {}
|
std::move(on_block_merged_callback), std::move(policy))} {}
|
||||||
|
|
||||||
void add(source_type src, block_type blk) override {
|
void add(source_type src, block_type blk) override {
|
||||||
@ -131,13 +131,13 @@ class multi_queue_block_merger : public block_merger<SourceT, BlockT> {
|
|||||||
detail::multi_queue_block_merger_impl<SourceT, BlockT, BlockPolicy>;
|
detail::multi_queue_block_merger_impl<SourceT, BlockT, BlockPolicy>;
|
||||||
|
|
||||||
struct state {
|
struct state {
|
||||||
state(size_t num_active_slots, size_t max_queued_blocks,
|
state(size_t num_active_slots, size_t max_queued_size,
|
||||||
std::vector<source_type> const& sources,
|
std::vector<source_type> const& sources,
|
||||||
on_block_merged_callback_type&& on_block_merged_callback,
|
on_block_merged_callback_type&& on_block_merged_callback,
|
||||||
BlockPolicy&& policy = block_merger_whole_block_policy{})
|
BlockPolicy&& policy = BlockPolicy{})
|
||||||
: callback{std::move(on_block_merged_callback)}
|
: callback{std::move(on_block_merged_callback)}
|
||||||
, impl{std::make_shared<impl_type>(
|
, impl{std::make_shared<impl_type>(
|
||||||
num_active_slots, max_queued_blocks, sources,
|
num_active_slots, max_queued_size, sources,
|
||||||
[this](block_type&& blk, size_t size) {
|
[this](block_type&& blk, size_t size) {
|
||||||
on_block_merged(std::move(blk), size);
|
on_block_merged(std::move(blk), size);
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user