diff options
| author | Wladimir J. van der Laan <[email protected]> | 2015-08-06 09:47:01 +0200 |
|---|---|---|
| committer | Wladimir J. van der Laan <[email protected]> | 2015-08-06 09:47:01 +0200 |
| commit | fbf44e6f3e55d25aa40ca466be3dbfd55de6170a (patch) | |
| tree | b91253c926e3fd2c8ebd3207c4da6b3653619943 /src | |
| parent | Merge pull request #6521 (diff) | |
| download | discoin-fbf44e6f3e55d25aa40ca466be3dbfd55de6170a.tar.xz discoin-fbf44e6f3e55d25aa40ca466be3dbfd55de6170a.zip | |
Add debug message to CValidationState for optional extra information
Add a field `strDebugMessage` which can be passed to DoS or Invalid,
and queried using GetDebugMessage() to add extra troubleshooting
information to the validation state.
Diffstat (limited to 'src')
| -rw-r--r-- | src/consensus/validation.h | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/consensus/validation.h b/src/consensus/validation.h index 719e090a4..d6051edc3 100644 --- a/src/consensus/validation.h +++ b/src/consensus/validation.h @@ -30,14 +30,17 @@ private: std::string strRejectReason; unsigned int chRejectCode; bool corruptionPossible; + std::string strDebugMessage; public: CValidationState() : mode(MODE_VALID), nDoS(0), chRejectCode(0), corruptionPossible(false) {} bool DoS(int level, bool ret = false, - unsigned int chRejectCodeIn=0, std::string strRejectReasonIn="", - bool corruptionIn=false) { + unsigned int chRejectCodeIn=0, const std::string &strRejectReasonIn="", + bool corruptionIn=false, + const std::string &strDebugMessageIn="") { chRejectCode = chRejectCodeIn; strRejectReason = strRejectReasonIn; corruptionPossible = corruptionIn; + strDebugMessage = strDebugMessageIn; if (mode == MODE_ERROR) return ret; nDoS += level; @@ -45,8 +48,9 @@ public: return ret; } bool Invalid(bool ret = false, - unsigned int _chRejectCode=0, std::string _strRejectReason="") { - return DoS(0, ret, _chRejectCode, _strRejectReason); + unsigned int _chRejectCode=0, const std::string &_strRejectReason="", + const std::string &_strDebugMessage="") { + return DoS(0, ret, _chRejectCode, _strRejectReason, false, _strDebugMessage); } bool Error(const std::string& strRejectReasonIn) { if (mode == MODE_VALID) @@ -75,6 +79,7 @@ public: } unsigned int GetRejectCode() const { return chRejectCode; } std::string GetRejectReason() const { return strRejectReason; } + std::string GetDebugMessage() const { return strDebugMessage; } }; #endif // BITCOIN_CONSENSUS_VALIDATION_H |