From 1c77a403be8d8834b50e3a242dacbe95e677fbc4 Mon Sep 17 00:00:00 2001 From: Green Sky Date: Sat, 20 Jul 2024 18:28:06 +0200 Subject: [PATCH] remove old file stuff from message --- src/solanaceae/message3/old/file.hpp | 20 ------ src/solanaceae/message3/old/file_r_file.hpp | 56 --------------- src/solanaceae/message3/old/file_r_mem.hpp | 38 ----------- src/solanaceae/message3/old/file_rw_file.hpp | 71 -------------------- src/solanaceae/message3/old/file_w_file.hpp | 46 ------------- 5 files changed, 231 deletions(-) delete mode 100644 src/solanaceae/message3/old/file.hpp delete mode 100644 src/solanaceae/message3/old/file_r_file.hpp delete mode 100644 src/solanaceae/message3/old/file_r_mem.hpp delete mode 100644 src/solanaceae/message3/old/file_rw_file.hpp delete mode 100644 src/solanaceae/message3/old/file_w_file.hpp diff --git a/src/solanaceae/message3/old/file.hpp b/src/solanaceae/message3/old/file.hpp deleted file mode 100644 index 03ca294..0000000 --- a/src/solanaceae/message3/old/file.hpp +++ /dev/null @@ -1,20 +0,0 @@ -#pragma once - -#include -#include - -struct FileI { - uint64_t _file_size {0}; - // TODO: remove? - uint64_t _bytes_read {0}; - uint64_t _bytes_written {0}; - - virtual ~FileI(void) {} - - virtual bool isGood(void) = 0; - - // TODO: move to owning/nonowning pointers - virtual std::vector read(uint64_t pos, uint64_t size) = 0; - virtual bool write(uint64_t pos, const std::vector& data) = 0; -}; - diff --git a/src/solanaceae/message3/old/file_r_file.hpp b/src/solanaceae/message3/old/file_r_file.hpp deleted file mode 100644 index eb8b97a..0000000 --- a/src/solanaceae/message3/old/file_r_file.hpp +++ /dev/null @@ -1,56 +0,0 @@ -#pragma once - -#include "./file.hpp" - -#include -#include -#include - -struct FileRFile : public FileI { - std::ifstream _file; - - FileRFile(std::string_view file_path) : _file(static_cast(file_path), std::ios::binary) { - if (!_file.is_open()) { - return; // TODO: error - } - - // figure out size - _file.seekg(0, _file.end); - _file_size = _file.tellg(); - _file.seekg(0, _file.beg); - } - - //FileRFile(std::ifstream&& other_file) : _file(std::move(other_file)) {} - //FileRFile(std::ifstream&& other_file, size_t file_size) : _file(std::move(other_file)), _file_size(file_size) {} - - virtual ~FileRFile(void) {} - - bool isGood(void) override { - return _file.is_open() && _file.good(); - } - - std::vector read(uint64_t pos, uint64_t size) override { - if (_file_size > 0 && pos >= _file_size) { - return {}; - } - - // TODO: error check - _file.seekg(pos); - - std::vector chunk(size); - const auto nread = _file.read(reinterpret_cast(chunk.data()), chunk.size()).gcount(); - if (nread != std::numeric_limits::max()) { - chunk.resize(nread); // usually a noop - } else { - chunk.clear(); - } - - _bytes_read += chunk.size(); - - return chunk; - } - - // read only - bool write(uint64_t, const std::vector&) override { return false; } -}; - diff --git a/src/solanaceae/message3/old/file_r_mem.hpp b/src/solanaceae/message3/old/file_r_mem.hpp deleted file mode 100644 index 9863514..0000000 --- a/src/solanaceae/message3/old/file_r_mem.hpp +++ /dev/null @@ -1,38 +0,0 @@ -#pragma once - -#include "./file.hpp" - -struct FileRMem : public FileI { - std::vector _data; - - FileRMem(void) = delete; - FileRMem(const std::vector& data) : _data(data) { - _file_size = _data.size(); - } - virtual ~FileRMem(void) {} - - bool isGood(void) override { - return true; - } - - std::vector read(uint64_t pos, uint64_t size) override { - if (_file_size > 0 && pos >= _data.size()) { - return {}; - } - - // TODO: optimize - std::vector chunk; - for (size_t i = 0; i < size && i+pos < _data.size(); i++) { - chunk.push_back(_data[pos+i]); - } - //chunk.insert(chunk.begin(), _data.cbegin()+pos, _data.cbegin()+pos+size); - - _bytes_read += chunk.size(); - - return chunk; - } - - // read only - bool write(uint64_t, const std::vector&) override { return false; } -}; - diff --git a/src/solanaceae/message3/old/file_rw_file.hpp b/src/solanaceae/message3/old/file_rw_file.hpp deleted file mode 100644 index b3ccf61..0000000 --- a/src/solanaceae/message3/old/file_rw_file.hpp +++ /dev/null @@ -1,71 +0,0 @@ -#pragma once - -#include "./file.hpp" - -#include -#include - -struct FileRWFile : public FileI { - std::fstream _file; - - // dont truncate by default - FileRWFile(std::string_view file_path, uint64_t file_size, bool trunc = false) - : _file( - static_cast(file_path), - std::ios::in | - std::ios::out | - (trunc ? std::ios::trunc | std::ios::binary : std::ios::binary) // hacky but type safe - ) { - _file_size = file_size; - - if (!_file.is_open()) { - return; // TODO: error - } - } - - virtual ~FileRWFile(void) {} - - bool isGood(void) override { - return _file.is_open() && _file.good(); - } - - std::vector read(uint64_t pos, uint64_t size) override { - if (pos >= _file_size) { - return {}; - } - - // TODO: error check - _file.seekg(pos, std::ios::beg); - - std::vector chunk(size); - const auto nread = _file.read(reinterpret_cast(chunk.data()), chunk.size()).gcount(); - if (nread != std::numeric_limits::max()) { - chunk.resize(nread); // usually a noop - } else { - chunk.clear(); - } - - _bytes_read += chunk.size(); - - return chunk; - } - - bool write(uint64_t pos, const std::vector& data) override { - if (pos >= _file_size) { - return false; - } - - // if out-of-order, seek - if (_file.tellp() != int64_t(pos)) { - // TODO: error check - if (_file.seekp(pos, std::ios::beg).fail()) { - return false; - } - } - - _file.write(reinterpret_cast(data.data()), data.size()); - - return _file.good(); - } -}; - diff --git a/src/solanaceae/message3/old/file_w_file.hpp b/src/solanaceae/message3/old/file_w_file.hpp deleted file mode 100644 index fd210e5..0000000 --- a/src/solanaceae/message3/old/file_w_file.hpp +++ /dev/null @@ -1,46 +0,0 @@ -#pragma once - -#include "./file.hpp" - -#include -#include - -struct FileWFile : public FileI { - std::ofstream _file; - - FileWFile(std::string_view file_path, uint64_t file_size) : _file(static_cast(file_path), std::ios::binary) { - _file_size = file_size; - - if (!_file.is_open()) { - return; // TODO: error - } - } - - virtual ~FileWFile(void) {} - - bool isGood(void) override { - return _file.is_open() && _file.good(); - } - - // write only - std::vector read(uint64_t, uint64_t) override { return {}; } - - bool write(uint64_t pos, const std::vector& data) override { - if (_file_size > 0 && pos >= _file_size) { - return false; - } - - // if out-of-order, seek - if (_file.tellp() != int64_t(pos)) { - // TODO: error check - _file.seekp(pos); - } - - _file.write(reinterpret_cast(data.data()), data.size()); - - _bytes_written += data.size(); - - return _file.good(); - } -}; -