From 4d05595f87043485a74a66659f3d541b4cd1d2c5 Mon Sep 17 00:00:00 2001 From: Andrej Babic Date: Wed, 30 Jan 2019 14:04:07 +0100 Subject: [PATCH] Implement DummyBufferedWriter --- lib/src/BufferedWriter.cpp | 5 ----- lib/src/BufferedWriter.hpp | 30 ++++++++++++++++++++++++++---- 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/lib/src/BufferedWriter.cpp b/lib/src/BufferedWriter.cpp index e5e3b50..a27dce4 100644 --- a/lib/src/BufferedWriter.cpp +++ b/lib/src/BufferedWriter.cpp @@ -52,11 +52,6 @@ void BufferedWriter::write_metadata_to_file() } } -DummyBufferedWriter::DummyBufferedWriter() : BufferedWriter("/dev/null", 0, 0, 0, 0){} - -void DummyBufferedWriter::cache_metadata(string name, uint64_t frame_index, const char* data){} -void DummyBufferedWriter::write_metadata_to_file() {} - std::unique_ptr get_buffered_writer(const string& filename, size_t total_frames, std::unique_ptr metadata_buffer, hsize_t frames_per_file, hsize_t dataset_increase_step) { diff --git a/lib/src/BufferedWriter.hpp b/lib/src/BufferedWriter.hpp index bfc6d3c..b8e6b75 100644 --- a/lib/src/BufferedWriter.hpp +++ b/lib/src/BufferedWriter.hpp @@ -16,12 +16,34 @@ class BufferedWriter : public H5Writer virtual void write_metadata_to_file(); }; -class DummyBufferedWriter : public BufferedWriter +class DummyBufferedWriter : public BufferedWriter, public DummyH5Writer { public: - DummyBufferedWriter(); - void cache_metadata(std::string name, uint64_t frame_index, const char* data) override; - void write_metadata_to_file() override; + DummyBufferedWriter() : BufferedWriter("/dev/null", 0, 0, 0, 0) {} + void cache_metadata(std::string name, uint64_t frame_index, const char* data) override {} + void write_metadata_to_file() override {} + + bool is_file_open() const override + { return DummyH5Writer::is_file_open(); } + + void create_file(const hsize_t frame_chunk=1) override + { return DummyH5Writer::create_file(frame_chunk); } + + void close_file() override + { return DummyH5Writer::close_file(); } + + void write_data(const std::string& dataset_name, const size_t data_index, const char* data, const std::vector& data_shape, + const size_t data_bytes_size, const std::string& data_type, const std::string& endianness) override + { + return DummyH5Writer::write_data ( + dataset_name, data_index, data, data_shape, data_bytes_size, data_type, endianness ); + } + + H5::H5File& get_h5_file() override + { return DummyH5Writer::get_h5_file(); } + + bool is_data_for_current_file(const size_t data_index) override + { return DummyH5Writer::is_data_for_current_file(data_index); } }; std::unique_ptr get_buffered_writer(const std::string& filename, size_t total_frames,