dbwrapper: Move HandleError to dbwrapper_private

HandleError is implementation-specific.
This commit is contained in:
Wladimir J. van der Laan
2016-04-20 11:48:57 +02:00
parent b69836d6ff
commit 869cf1234a
2 changed files with 23 additions and 21 deletions

View File

@@ -23,14 +23,16 @@ public:
dbwrapper_error(const std::string& msg) : std::runtime_error(msg) {}
};
void HandleError(const leveldb::Status& status);
class CDBWrapper;
/** These should be considered an implementation detail of the specific database.
*/
namespace dbwrapper_private {
/** Handle database error by throwing dbwrapper_error exception.
*/
void HandleError(const leveldb::Status& status);
/** Work around circular dependency, as well as for testing in dbwrapper_tests.
* Database obfuscation should be considered an implementation detail of the
* specific database.
@@ -208,7 +210,7 @@ public:
if (status.IsNotFound())
return false;
LogPrintf("LevelDB read failure: %s\n", status.ToString());
HandleError(status);
dbwrapper_private::HandleError(status);
}
try {
CDataStream ssValue(strValue.data(), strValue.data() + strValue.size(), SER_DISK, CLIENT_VERSION);
@@ -242,7 +244,7 @@ public:
if (status.IsNotFound())
return false;
LogPrintf("LevelDB read failure: %s\n", status.ToString());
HandleError(status);
dbwrapper_private::HandleError(status);
}
return true;
}