diff options
author | James O'Beirne <james.obeirne@pm.me> | 2022-02-01 16:22:00 -0500 |
---|---|---|
committer | James O'Beirne <james.obeirne@pm.me> | 2022-09-13 12:38:06 -0400 |
commit | d14bebf100aaaa25c7558eeed8b5c536da99885f (patch) | |
tree | ccebf20faa56670c317a72ff1af1debe9eba7e42 /src/dbwrapper.h | |
parent | 29d540b7ada890dd588c4825d40c27c5e6f20061 (diff) |
db: add StoragePath to CDBWrapper/CCoinsViewDB
This is used in subsequent commits. It allows us to clean up UTXO
snapshot chainstate after background validation completes.
Diffstat (limited to 'src/dbwrapper.h')
-rw-r--r-- | src/dbwrapper.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/dbwrapper.h b/src/dbwrapper.h index 665eaa0e98..1052da01d5 100644 --- a/src/dbwrapper.h +++ b/src/dbwrapper.h @@ -39,6 +39,10 @@ public: class CDBWrapper; +namespace dbwrapper { + using leveldb::DestroyDB; +} + /** These should be considered an implementation detail of the specific database. */ namespace dbwrapper_private { @@ -219,6 +223,12 @@ private: std::vector<unsigned char> CreateObfuscateKey() const; + //! path to filesystem storage + const fs::path m_path; + + //! whether or not the database resides in memory + bool m_is_memory; + public: /** * @param[in] path Location in the filesystem where leveldb data will be stored. @@ -268,6 +278,14 @@ public: return WriteBatch(batch, fSync); } + //! @returns filesystem path to the on-disk data. + std::optional<fs::path> StoragePath() { + if (m_is_memory) { + return {}; + } + return m_path; + } + template <typename K> bool Exists(const K& key) const { |