mirror of
https://github.com/mhx/dwarfs.git
synced 2025-09-13 14:27:30 -04:00
refactor(inode_manager): move to internal namespace
This commit is contained in:
parent
e7a59133f4
commit
a1e045a2f4
@ -656,11 +656,11 @@ list(APPEND LIBDWARFS_WRITER_SRC
|
|||||||
src/dwarfs/fragment_order_parser.cpp
|
src/dwarfs/fragment_order_parser.cpp
|
||||||
src/dwarfs/inode_element_view.cpp
|
src/dwarfs/inode_element_view.cpp
|
||||||
src/dwarfs/inode_fragments.cpp
|
src/dwarfs/inode_fragments.cpp
|
||||||
src/dwarfs/inode_manager.cpp
|
|
||||||
src/dwarfs/inode_ordering.cpp
|
src/dwarfs/inode_ordering.cpp
|
||||||
src/dwarfs/internal/block_manager.cpp
|
src/dwarfs/internal/block_manager.cpp
|
||||||
src/dwarfs/internal/file_scanner.cpp
|
src/dwarfs/internal/file_scanner.cpp
|
||||||
src/dwarfs/internal/global_entry_data.cpp
|
src/dwarfs/internal/global_entry_data.cpp
|
||||||
|
src/dwarfs/internal/inode_manager.cpp
|
||||||
src/dwarfs/internal/metadata_freezer.cpp
|
src/dwarfs/internal/metadata_freezer.cpp
|
||||||
src/dwarfs/nilsimsa.cpp
|
src/dwarfs/nilsimsa.cpp
|
||||||
src/dwarfs/progress.cpp
|
src/dwarfs/progress.cpp
|
||||||
|
@ -29,21 +29,17 @@
|
|||||||
namespace dwarfs {
|
namespace dwarfs {
|
||||||
|
|
||||||
class file;
|
class file;
|
||||||
class inode_manager;
|
|
||||||
class logger;
|
class logger;
|
||||||
class os_access;
|
class os_access;
|
||||||
class progress;
|
class progress;
|
||||||
|
|
||||||
namespace internal {
|
|
||||||
|
|
||||||
class worker_group;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
struct inode_options;
|
struct inode_options;
|
||||||
|
|
||||||
namespace internal {
|
namespace internal {
|
||||||
|
|
||||||
|
class inode_manager;
|
||||||
|
class worker_group;
|
||||||
|
|
||||||
class file_scanner {
|
class file_scanner {
|
||||||
public:
|
public:
|
||||||
struct options {
|
struct options {
|
||||||
@ -51,7 +47,7 @@ class file_scanner {
|
|||||||
bool debug_inode_create{false};
|
bool debug_inode_create{false};
|
||||||
};
|
};
|
||||||
|
|
||||||
file_scanner(logger& lgr, internal::worker_group& wg, os_access const& os,
|
file_scanner(logger& lgr, worker_group& wg, os_access const& os,
|
||||||
inode_manager& im, progress& prog, options const& opts);
|
inode_manager& im, progress& prog, options const& opts);
|
||||||
|
|
||||||
void scan(file* p) { impl_->scan(p); }
|
void scan(file* p) { impl_->scan(p); }
|
||||||
|
@ -41,14 +41,12 @@ class os_access;
|
|||||||
class progress;
|
class progress;
|
||||||
class script;
|
class script;
|
||||||
|
|
||||||
|
struct inode_options;
|
||||||
|
|
||||||
namespace internal {
|
namespace internal {
|
||||||
|
|
||||||
class worker_group;
|
class worker_group;
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
struct inode_options;
|
|
||||||
|
|
||||||
class inode_manager {
|
class inode_manager {
|
||||||
public:
|
public:
|
||||||
using inode_cb = std::function<void(std::shared_ptr<inode> const&)>;
|
using inode_cb = std::function<void(std::shared_ptr<inode> const&)>;
|
||||||
@ -85,14 +83,14 @@ class inode_manager {
|
|||||||
return impl_->fragment_category_info();
|
return impl_->fragment_category_info();
|
||||||
}
|
}
|
||||||
|
|
||||||
void scan_background(internal::worker_group& wg, os_access const& os,
|
void scan_background(worker_group& wg, os_access const& os,
|
||||||
std::shared_ptr<inode> ino, file* p) const {
|
std::shared_ptr<inode> ino, file* p) const {
|
||||||
impl_->scan_background(wg, os, std::move(ino), p);
|
impl_->scan_background(wg, os, std::move(ino), p);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool has_invalid_inodes() const { return impl_->has_invalid_inodes(); }
|
bool has_invalid_inodes() const { return impl_->has_invalid_inodes(); }
|
||||||
|
|
||||||
void try_scan_invalid(internal::worker_group& wg, os_access const& os) {
|
void try_scan_invalid(worker_group& wg, os_access const& os) {
|
||||||
impl_->try_scan_invalid(wg, os);
|
impl_->try_scan_invalid(wg, os);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -101,7 +99,7 @@ class inode_manager {
|
|||||||
sortable_inode_span sortable_span() const { return impl_->sortable_span(); }
|
sortable_inode_span sortable_span() const { return impl_->sortable_span(); }
|
||||||
|
|
||||||
sortable_inode_span
|
sortable_inode_span
|
||||||
ordered_span(fragment_category cat, internal::worker_group& wg) const {
|
ordered_span(fragment_category cat, worker_group& wg) const {
|
||||||
return impl_->ordered_span(cat, wg);
|
return impl_->ordered_span(cat, wg);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -114,20 +112,20 @@ class inode_manager {
|
|||||||
virtual void for_each_inode_in_order(
|
virtual void for_each_inode_in_order(
|
||||||
std::function<void(std::shared_ptr<inode> const&)> const& fn) const = 0;
|
std::function<void(std::shared_ptr<inode> const&)> const& fn) const = 0;
|
||||||
virtual fragment_infos fragment_category_info() const = 0;
|
virtual fragment_infos fragment_category_info() const = 0;
|
||||||
virtual void
|
virtual void scan_background(worker_group& wg, os_access const& os,
|
||||||
scan_background(internal::worker_group& wg, os_access const& os,
|
std::shared_ptr<inode> ino, file* p) const = 0;
|
||||||
std::shared_ptr<inode> ino, file* p) const = 0;
|
|
||||||
virtual bool has_invalid_inodes() const = 0;
|
virtual bool has_invalid_inodes() const = 0;
|
||||||
virtual void
|
virtual void try_scan_invalid(worker_group& wg, os_access const& os) = 0;
|
||||||
try_scan_invalid(internal::worker_group& wg, os_access const& os) = 0;
|
|
||||||
virtual void dump(std::ostream& os) const = 0;
|
virtual void dump(std::ostream& os) const = 0;
|
||||||
virtual sortable_inode_span sortable_span() const = 0;
|
virtual sortable_inode_span sortable_span() const = 0;
|
||||||
virtual sortable_inode_span
|
virtual sortable_inode_span
|
||||||
ordered_span(fragment_category cat, internal::worker_group& wg) const = 0;
|
ordered_span(fragment_category cat, worker_group& wg) const = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::unique_ptr<impl> impl_;
|
std::unique_ptr<impl> impl_;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
} // namespace internal
|
||||||
|
|
||||||
} // namespace dwarfs
|
} // namespace dwarfs
|
@ -36,7 +36,6 @@
|
|||||||
#include <dwarfs/entry.h>
|
#include <dwarfs/entry.h>
|
||||||
#include <dwarfs/format.h>
|
#include <dwarfs/format.h>
|
||||||
#include <dwarfs/inode.h>
|
#include <dwarfs/inode.h>
|
||||||
#include <dwarfs/inode_manager.h>
|
|
||||||
#include <dwarfs/logger.h>
|
#include <dwarfs/logger.h>
|
||||||
#include <dwarfs/mmif.h>
|
#include <dwarfs/mmif.h>
|
||||||
#include <dwarfs/options.h>
|
#include <dwarfs/options.h>
|
||||||
@ -45,6 +44,7 @@
|
|||||||
#include <dwarfs/util.h>
|
#include <dwarfs/util.h>
|
||||||
|
|
||||||
#include <dwarfs/internal/file_scanner.h>
|
#include <dwarfs/internal/file_scanner.h>
|
||||||
|
#include <dwarfs/internal/inode_manager.h>
|
||||||
#include <dwarfs/internal/worker_group.h>
|
#include <dwarfs/internal/worker_group.h>
|
||||||
|
|
||||||
namespace dwarfs::internal {
|
namespace dwarfs::internal {
|
||||||
@ -59,7 +59,7 @@ constexpr size_t const kLargeFileStartHashSize = 4096;
|
|||||||
template <typename LoggerPolicy>
|
template <typename LoggerPolicy>
|
||||||
class file_scanner_ final : public file_scanner::impl {
|
class file_scanner_ final : public file_scanner::impl {
|
||||||
public:
|
public:
|
||||||
file_scanner_(logger& lgr, internal::worker_group& wg, os_access const& os,
|
file_scanner_(logger& lgr, worker_group& wg, os_access const& os,
|
||||||
inode_manager& im, progress& prog,
|
inode_manager& im, progress& prog,
|
||||||
file_scanner::options const& opts);
|
file_scanner::options const& opts);
|
||||||
|
|
||||||
@ -119,7 +119,7 @@ class file_scanner_ final : public file_scanner::impl {
|
|||||||
void dump_map(std::ostream& os, std::string_view name, T const& map) const;
|
void dump_map(std::ostream& os, std::string_view name, T const& map) const;
|
||||||
|
|
||||||
LOG_PROXY_DECL(LoggerPolicy);
|
LOG_PROXY_DECL(LoggerPolicy);
|
||||||
internal::worker_group& wg_;
|
worker_group& wg_;
|
||||||
os_access const& os_;
|
os_access const& os_;
|
||||||
inode_manager& im_;
|
inode_manager& im_;
|
||||||
progress& prog_;
|
progress& prog_;
|
||||||
@ -188,8 +188,7 @@ class file_scanner_ final : public file_scanner::impl {
|
|||||||
// it should happen rarely enough to not be a problem.
|
// it should happen rarely enough to not be a problem.
|
||||||
|
|
||||||
template <typename LoggerPolicy>
|
template <typename LoggerPolicy>
|
||||||
file_scanner_<LoggerPolicy>::file_scanner_(logger& lgr,
|
file_scanner_<LoggerPolicy>::file_scanner_(logger& lgr, worker_group& wg,
|
||||||
internal::worker_group& wg,
|
|
||||||
os_access const& os,
|
os_access const& os,
|
||||||
inode_manager& im, progress& prog,
|
inode_manager& im, progress& prog,
|
||||||
file_scanner::options const& opts)
|
file_scanner::options const& opts)
|
||||||
@ -681,9 +680,9 @@ void file_scanner_<LoggerPolicy>::dump(std::ostream& os) const {
|
|||||||
os << "\n}\n";
|
os << "\n}\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
file_scanner::file_scanner(logger& lgr, internal::worker_group& wg,
|
file_scanner::file_scanner(logger& lgr, worker_group& wg, os_access const& os,
|
||||||
os_access const& os, inode_manager& im,
|
inode_manager& im, progress& prog,
|
||||||
progress& prog, options const& opts)
|
options const& opts)
|
||||||
: impl_{make_unique_logging_object<impl, file_scanner_, logger_policies>(
|
: impl_{make_unique_logging_object<impl, file_scanner_, logger_policies>(
|
||||||
lgr, wg, os, im, prog, opts)} {}
|
lgr, wg, os, im, prog, opts)} {}
|
||||||
|
|
||||||
|
@ -44,7 +44,6 @@
|
|||||||
#include <dwarfs/compiler.h>
|
#include <dwarfs/compiler.h>
|
||||||
#include <dwarfs/entry.h>
|
#include <dwarfs/entry.h>
|
||||||
#include <dwarfs/error.h>
|
#include <dwarfs/error.h>
|
||||||
#include <dwarfs/inode_manager.h>
|
|
||||||
#include <dwarfs/inode_ordering.h>
|
#include <dwarfs/inode_ordering.h>
|
||||||
#include <dwarfs/logger.h>
|
#include <dwarfs/logger.h>
|
||||||
#include <dwarfs/match.h>
|
#include <dwarfs/match.h>
|
||||||
@ -60,13 +59,12 @@
|
|||||||
#include <dwarfs/similarity_ordering.h>
|
#include <dwarfs/similarity_ordering.h>
|
||||||
#include <dwarfs/util.h>
|
#include <dwarfs/util.h>
|
||||||
|
|
||||||
|
#include <dwarfs/internal/inode_manager.h>
|
||||||
#include <dwarfs/internal/worker_group.h>
|
#include <dwarfs/internal/worker_group.h>
|
||||||
|
|
||||||
#include <dwarfs/gen-cpp2/metadata_types.h>
|
#include <dwarfs/gen-cpp2/metadata_types.h>
|
||||||
|
|
||||||
namespace dwarfs {
|
namespace dwarfs::internal {
|
||||||
|
|
||||||
namespace internal {
|
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
@ -814,11 +812,9 @@ auto inode_manager_<LoggerPolicy>::ordered_span(
|
|||||||
return span;
|
return span;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace internal
|
|
||||||
|
|
||||||
inode_manager::inode_manager(logger& lgr, progress& prog,
|
inode_manager::inode_manager(logger& lgr, progress& prog,
|
||||||
inode_options const& opts)
|
inode_options const& opts)
|
||||||
: impl_(make_unique_logging_object<impl, internal::inode_manager_,
|
: impl_(make_unique_logging_object<impl, internal::inode_manager_,
|
||||||
logger_policies>(lgr, prog, opts)) {}
|
logger_policies>(lgr, prog, opts)) {}
|
||||||
|
|
||||||
} // namespace dwarfs
|
} // namespace dwarfs::internal
|
@ -46,7 +46,6 @@
|
|||||||
#include <dwarfs/fragment_chunkable.h>
|
#include <dwarfs/fragment_chunkable.h>
|
||||||
#include <dwarfs/history.h>
|
#include <dwarfs/history.h>
|
||||||
#include <dwarfs/inode.h>
|
#include <dwarfs/inode.h>
|
||||||
#include <dwarfs/inode_manager.h>
|
|
||||||
#include <dwarfs/inode_ordering.h>
|
#include <dwarfs/inode_ordering.h>
|
||||||
#include <dwarfs/logger.h>
|
#include <dwarfs/logger.h>
|
||||||
#include <dwarfs/mmif.h>
|
#include <dwarfs/mmif.h>
|
||||||
@ -65,6 +64,7 @@
|
|||||||
#include <dwarfs/internal/features.h>
|
#include <dwarfs/internal/features.h>
|
||||||
#include <dwarfs/internal/file_scanner.h>
|
#include <dwarfs/internal/file_scanner.h>
|
||||||
#include <dwarfs/internal/global_entry_data.h>
|
#include <dwarfs/internal/global_entry_data.h>
|
||||||
|
#include <dwarfs/internal/inode_manager.h>
|
||||||
#include <dwarfs/internal/metadata_freezer.h>
|
#include <dwarfs/internal/metadata_freezer.h>
|
||||||
#include <dwarfs/internal/string_table.h>
|
#include <dwarfs/internal/string_table.h>
|
||||||
#include <dwarfs/internal/worker_group.h>
|
#include <dwarfs/internal/worker_group.h>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user