refactor(fs_section): move to internal namespace

This commit is contained in:
Marcus Holland-Moritz 2024-07-28 22:45:29 +02:00
parent da511654a0
commit 1995bea40d
11 changed files with 35 additions and 25 deletions

View File

@ -631,9 +631,9 @@ list(APPEND LIBDWARFS_COMMON_SRC
list(APPEND LIBDWARFS_READER_SRC
src/dwarfs/block_range.cpp
src/dwarfs/filesystem_v2.cpp
src/dwarfs/fs_section.cpp
src/dwarfs/internal/block_cache.cpp
src/dwarfs/internal/cached_block.cpp
src/dwarfs/internal/fs_section.cpp
src/dwarfs/internal/inode_reader_v2.cpp
src/dwarfs/internal/metadata_types.cpp
src/dwarfs/internal/metadata_v2.cpp

View File

@ -32,23 +32,23 @@
#include <dwarfs/compression_constraints.h>
#include <dwarfs/fragment_category.h>
#include <dwarfs/fs_section.h>
#include <dwarfs/fstypes.h>
#include <dwarfs/options.h>
namespace dwarfs {
namespace internal {
class block_data;
} // namespace internal
class block_compressor;
class logger;
class progress;
class thread_pool;
namespace internal {
class block_data;
class fs_section;
} // namespace internal
class filesystem_writer {
public:
using physical_block_cb_type = std::function<void(size_t)>;
@ -133,8 +133,9 @@ class filesystem_writer {
impl_->write_section(type, compression, data, cat);
}
void write_compressed_section(fs_section sec, std::span<uint8_t const> data) {
impl_->write_compressed_section(std::move(sec), data);
void write_compressed_section(internal::fs_section const& sec,
std::span<uint8_t const> data) {
impl_->write_compressed_section(sec, data);
}
void flush() { impl_->flush(); }
@ -179,8 +180,8 @@ class filesystem_writer {
write_section(section_type type, compression_type compression,
std::span<uint8_t const> data,
std::optional<fragment_category::value_type> cat) = 0;
virtual void
write_compressed_section(fs_section sec, std::span<uint8_t const> data) = 0;
virtual void write_compressed_section(internal::fs_section const& sec,
std::span<uint8_t const> data) = 0;
virtual void flush() = 0;
virtual size_t size() const = 0;
};

View File

@ -36,7 +36,6 @@ namespace dwarfs {
struct block_cache_options;
struct cache_tidy_config;
class fs_section;
class logger;
class mmif;
class os_access;
@ -44,6 +43,8 @@ class performance_monitor;
namespace internal {
class fs_section;
class block_cache {
public:
block_cache(logger& lgr, os_access const& os, std::shared_ptr<mmif> mm,

View File

@ -29,11 +29,12 @@
namespace dwarfs {
class logger;
class fs_section;
class mmif;
namespace internal {
class fs_section;
class cached_block {
public:
static std::unique_ptr<cached_block>

View File

@ -33,6 +33,8 @@ namespace dwarfs {
class mmif;
namespace internal {
class fs_section {
public:
fs_section(mmif const& mm, size_t offset, int version);
@ -93,4 +95,6 @@ class fs_section {
std::shared_ptr<impl const> impl_;
};
} // namespace internal
} // namespace dwarfs

View File

@ -38,7 +38,6 @@
#include <dwarfs/error.h>
#include <dwarfs/filesystem_v2.h>
#include <dwarfs/filesystem_writer.h>
#include <dwarfs/fs_section.h>
#include <dwarfs/fstypes.h>
#include <dwarfs/history.h>
#include <dwarfs/logger.h>
@ -50,6 +49,7 @@
#include <dwarfs/internal/block_cache.h>
#include <dwarfs/internal/block_data.h>
#include <dwarfs/internal/fs_section.h>
#include <dwarfs/internal/inode_reader_v2.h>
#include <dwarfs/internal/metadata_v2.h>
#include <dwarfs/internal/worker_group.h>

View File

@ -44,6 +44,7 @@
#include <dwarfs/util.h>
#include <dwarfs/internal/block_data.h>
#include <dwarfs/internal/fs_section.h>
#include <dwarfs/internal/multi_queue_block_merger.h>
#include <dwarfs/internal/worker_group.h>
@ -556,7 +557,7 @@ class filesystem_writer_ final : public filesystem_writer::impl {
void write_section(section_type type, compression_type compression,
std::span<uint8_t const> data,
std::optional<fragment_category::value_type> cat) override;
void write_compressed_section(fs_section sec,
void write_compressed_section(fs_section const& sec,
std::span<uint8_t const> data) override;
void flush() override;
size_t size() const override { return image_size_; }
@ -922,7 +923,7 @@ void filesystem_writer_<LoggerPolicy>::write_section(
template <typename LoggerPolicy>
void filesystem_writer_<LoggerPolicy>::write_compressed_section(
fs_section sec, std::span<uint8_t const> data) {
fs_section const& sec, std::span<uint8_t const> data) {
{
std::lock_guard lock(mx_);
@ -930,7 +931,7 @@ void filesystem_writer_<LoggerPolicy>::write_compressed_section(
pctx_ = prog_.create_context<compression_progress>();
}
auto fsb = std::make_unique<fsblock>(std::move(sec), data, pctx_);
auto fsb = std::make_unique<fsblock>(sec, data, pctx_);
fsb->set_block_no(section_number_++);
fsb->compress(wg_);

View File

@ -42,7 +42,6 @@
#include <folly/stats/Histogram.h>
#include <folly/system/ThreadName.h>
#include <dwarfs/fs_section.h>
#include <dwarfs/logger.h>
#include <dwarfs/mmif.h>
#include <dwarfs/options.h>
@ -51,6 +50,7 @@
#include <dwarfs/internal/block_cache.h>
#include <dwarfs/internal/cached_block.h>
#include <dwarfs/internal/fs_section.h>
#include <dwarfs/internal/worker_group.h>
namespace dwarfs::internal {

View File

@ -27,11 +27,11 @@
#include <dwarfs/block_compressor.h>
#include <dwarfs/error.h>
#include <dwarfs/fs_section.h>
#include <dwarfs/logger.h>
#include <dwarfs/mmif.h>
#include <dwarfs/internal/cached_block.h>
#include <dwarfs/internal/fs_section.h>
namespace dwarfs::internal {

View File

@ -27,10 +27,11 @@
#include <dwarfs/checksum.h>
#include <dwarfs/error.h>
#include <dwarfs/fs_section.h>
#include <dwarfs/mmif.h>
namespace dwarfs {
#include <dwarfs/internal/fs_section.h>
namespace dwarfs::internal {
namespace {
@ -359,4 +360,4 @@ fs_section::impl const& fs_section_v2_lazy::section() const {
return *sec_;
}
} // namespace dwarfs
} // namespace dwarfs::internal

View File

@ -42,7 +42,6 @@
#include <dwarfs/filesystem_v2.h>
#include <dwarfs/filesystem_writer.h>
#include <dwarfs/filter_debug.h>
#include <dwarfs/fs_section.h>
#include <dwarfs/logger.h>
#include <dwarfs/mmif.h>
#include <dwarfs/options.h>
@ -52,6 +51,8 @@
#include <dwarfs/thread_pool.h>
#include <dwarfs/vfs_stat.h>
#include <dwarfs/internal/fs_section.h>
#include "filter_test_data.h"
#include "loremipsum.h"
#include "mmap_mock.h"
@ -1159,7 +1160,7 @@ TEST(section_index_regression, github183) {
ASSERT_LT(index_pos, fsimage.size());
test::mmap_mock mm(fsimage);
auto section = fs_section(mm, index_pos, 2);
auto section = internal::fs_section(mm, index_pos, 2);
EXPECT_TRUE(section.check_fast(mm));