Bitcoin ABC 0.30.3
P2P Digital Currency
|
This is a minimally invasive approach to shutdown on LevelDB read errors from the chainstate, while keeping user interface out of the common library, which is shared between bitcoind, and bitcoin-qt and non-server tools. More...
#include <coins.h>
Public Member Functions | |
CCoinsViewErrorCatcher (CCoinsView *view) | |
void | AddReadErrCallback (std::function< void()> f) |
bool | GetCoin (const COutPoint &outpoint, Coin &coin) const override |
Retrieve the Coin (unspent transaction output) for a given outpoint. More... | |
Public Member Functions inherited from CCoinsViewBacked | |
CCoinsViewBacked (CCoinsView *viewIn) | |
bool | GetCoin (const COutPoint &outpoint, Coin &coin) const override |
Retrieve the Coin (unspent transaction output) for a given outpoint. More... | |
bool | HaveCoin (const COutPoint &outpoint) const override |
Just check whether a given outpoint is unspent. More... | |
BlockHash | GetBestBlock () const override |
Retrieve the block hash whose state this CCoinsView currently represents. More... | |
std::vector< BlockHash > | GetHeadBlocks () const override |
Retrieve the range of blocks that may have been only partially written. More... | |
void | SetBackend (CCoinsView &viewIn) |
bool | BatchWrite (CCoinsMap &mapCoins, const BlockHash &hashBlock, bool erase=true) override |
Do a bulk modification (multiple Coin changes + BestBlock change). More... | |
CCoinsViewCursor * | Cursor () const override |
Get a cursor to iterate over the whole state. More... | |
size_t | EstimateSize () const override |
Estimate database size (0 if not implemented) More... | |
Public Member Functions inherited from CCoinsView | |
virtual bool | GetCoin (const COutPoint &outpoint, Coin &coin) const |
Retrieve the Coin (unspent transaction output) for a given outpoint. More... | |
virtual bool | HaveCoin (const COutPoint &outpoint) const |
Just check whether a given outpoint is unspent. More... | |
virtual BlockHash | GetBestBlock () const |
Retrieve the block hash whose state this CCoinsView currently represents. More... | |
virtual std::vector< BlockHash > | GetHeadBlocks () const |
Retrieve the range of blocks that may have been only partially written. More... | |
virtual bool | BatchWrite (CCoinsMap &mapCoins, const BlockHash &hashBlock, bool erase=true) |
Do a bulk modification (multiple Coin changes + BestBlock change). More... | |
virtual CCoinsViewCursor * | Cursor () const |
Get a cursor to iterate over the whole state. More... | |
virtual | ~CCoinsView () |
As we use CCoinsViews polymorphically, have a virtual destructor. More... | |
virtual size_t | EstimateSize () const |
Estimate database size (0 if not implemented) More... | |
Private Attributes | |
std::vector< std::function< void()> > | m_err_callbacks |
A list of callbacks to execute upon leveldb read error. More... | |
Additional Inherited Members | |
Protected Attributes inherited from CCoinsViewBacked | |
CCoinsView * | base |
This is a minimally invasive approach to shutdown on LevelDB read errors from the chainstate, while keeping user interface out of the common library, which is shared between bitcoind, and bitcoin-qt and non-server tools.
Writes do not need similar protection, as failure to write is handled by the caller.
|
inlineexplicit |
|
inline |
|
overridevirtual |
Retrieve the Coin (unspent transaction output) for a given outpoint.
Returns true only when an unspent coin was found, which is returned in coin. When false is returned, coin's value is unspecified.
Reimplemented from CCoinsViewBacked.
Definition at line 408 of file coins.cpp.
|
private |