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