#include <dbwrapper.h>
|
| CDBWrapper (const fs::path &path, size_t nCacheSize, bool fMemory=false, bool fWipe=false, bool obfuscate=false) |
|
| ~CDBWrapper () |
|
| CDBWrapper (const CDBWrapper &)=delete |
|
CDBWrapper & | operator= (const CDBWrapper &)=delete |
|
template<typename K , typename V > |
bool | Read (const K &key, V &value) const |
|
template<typename K , typename V > |
bool | Write (const K &key, const V &value, bool fSync=false) |
|
std::optional< fs::path > | StoragePath () |
|
template<typename K > |
bool | Exists (const K &key) const |
|
template<typename K > |
bool | Erase (const K &key, bool fSync=false) |
|
bool | WriteBatch (CDBBatch &batch, bool fSync=false) |
|
size_t | DynamicMemoryUsage () const |
|
CDBIterator * | NewIterator () |
|
bool | IsEmpty () |
| Return true if the database managed by this class contains no entries. More...
|
|
template<typename K > |
size_t | EstimateSize (const K &key_begin, const K &key_end) const |
|
template<typename K > |
void | CompactRange (const K &key_begin, const K &key_end) const |
| Compact a certain range of keys in the database. More...
|
|
|
std::vector< uint8_t > | CreateObfuscateKey () const |
| Returns a string (consisting of 8 random bytes) suitable for use as an obfuscating XOR key. More...
|
|
Definition at line 176 of file dbwrapper.h.
◆ CDBWrapper() [1/2]
CDBWrapper::CDBWrapper |
( |
const fs::path & |
path, |
|
|
size_t |
nCacheSize, |
|
|
bool |
fMemory = false , |
|
|
bool |
fWipe = false , |
|
|
bool |
obfuscate = false |
|
) |
| |
- Parameters
-
[in] | path | Location in the filesystem where leveldb data will be stored. |
[in] | nCacheSize | Configures various leveldb cache settings. |
[in] | fMemory | If true, use leveldb's memory environment. |
[in] | fWipe | If true, remove all existing data. |
[in] | obfuscate | If true, store data obfuscated via simple XOR. If false, XOR with a zero'd byte array. |
Definition at line 119 of file dbwrapper.cpp.
◆ ~CDBWrapper()
CDBWrapper::~CDBWrapper |
( |
| ) |
|
◆ CDBWrapper() [2/2]
◆ CompactRange()
template<typename K >
void CDBWrapper::CompactRange |
( |
const K & |
key_begin, |
|
|
const K & |
key_end |
|
) |
| const |
|
inline |
Compact a certain range of keys in the database.
Definition at line 336 of file dbwrapper.h.
◆ CreateObfuscateKey()
std::vector< uint8_t > CDBWrapper::CreateObfuscateKey |
( |
| ) |
const |
|
private |
Returns a string (consisting of 8 random bytes) suitable for use as an obfuscating XOR key.
Definition at line 232 of file dbwrapper.cpp.
◆ DynamicMemoryUsage()
size_t CDBWrapper::DynamicMemoryUsage |
( |
| ) |
const |
◆ Erase()
template<typename K >
bool CDBWrapper::Erase |
( |
const K & |
key, |
|
|
bool |
fSync = false |
|
) |
| |
|
inline |
◆ EstimateSize()
template<typename K >
size_t CDBWrapper::EstimateSize |
( |
const K & |
key_begin, |
|
|
const K & |
key_end |
|
) |
| const |
|
inline |
◆ Exists()
template<typename K >
bool CDBWrapper::Exists |
( |
const K & |
key | ) |
const |
|
inline |
◆ IsEmpty()
bool CDBWrapper::IsEmpty |
( |
| ) |
|
Return true if the database managed by this class contains no entries.
Definition at line 238 of file dbwrapper.cpp.
◆ NewIterator()
◆ operator=()
◆ Read()
template<typename K , typename V >
bool CDBWrapper::Read |
( |
const K & |
key, |
|
|
V & |
value |
|
) |
| const |
|
inline |
◆ StoragePath()
std::optional<fs::path> CDBWrapper::StoragePath |
( |
| ) |
|
|
inline |
- Returns
- filesystem path to the on-disk data.
Definition at line 273 of file dbwrapper.h.
◆ Write()
template<typename K , typename V >
bool CDBWrapper::Write |
( |
const K & |
key, |
|
|
const V & |
value, |
|
|
bool |
fSync = false |
|
) |
| |
|
inline |
◆ WriteBatch()
bool CDBWrapper::WriteBatch |
( |
CDBBatch & |
batch, |
|
|
bool |
fSync = false |
|
) |
| |
◆ dbwrapper_private::GetObfuscateKey
◆ iteroptions
leveldb::ReadOptions CDBWrapper::iteroptions |
|
private |
options used when iterating over values of the database
Definition at line 192 of file dbwrapper.h.
◆ m_is_memory
bool CDBWrapper::m_is_memory |
|
private |
whether or not the database resides in memory
Definition at line 221 of file dbwrapper.h.
◆ m_name
std::string CDBWrapper::m_name |
|
private |
◆ m_path
path to filesystem storage
Definition at line 218 of file dbwrapper.h.
◆ obfuscate_key
std::vector<uint8_t> CDBWrapper::obfuscate_key |
|
private |
a key used for optional XOR-obfuscation of the database
Definition at line 207 of file dbwrapper.h.
◆ OBFUSCATE_KEY_KEY
const std::string CDBWrapper::OBFUSCATE_KEY_KEY |
|
staticprivate |
the key under which the obfuscation key is stored
Definition at line 210 of file dbwrapper.h.
◆ OBFUSCATE_KEY_NUM_BYTES
const unsigned int CDBWrapper::OBFUSCATE_KEY_NUM_BYTES = 8 |
|
staticprivate |
the length of the obfuscate key in number of bytes
Definition at line 213 of file dbwrapper.h.
◆ options
leveldb::Options CDBWrapper::options |
|
private |
◆ pdb
leveldb::DB* CDBWrapper::pdb |
|
private |
◆ penv
leveldb::Env* CDBWrapper::penv |
|
private |
custom environment this database is using (may be nullptr in case of default environment)
Definition at line 183 of file dbwrapper.h.
◆ readoptions
leveldb::ReadOptions CDBWrapper::readoptions |
|
private |
options used when reading from the database
Definition at line 189 of file dbwrapper.h.
◆ syncoptions
leveldb::WriteOptions CDBWrapper::syncoptions |
|
private |
options used when sync writing to the database
Definition at line 198 of file dbwrapper.h.
◆ writeoptions
leveldb::WriteOptions CDBWrapper::writeoptions |
|
private |
options used when writing to the database
Definition at line 195 of file dbwrapper.h.
The documentation for this class was generated from the following files: