Bitcoin Core 28.99.0
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) |
std::optional< Coin > | GetCoin (const COutPoint &outpoint) 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... | |
Public Member Functions inherited from CCoinsViewBacked | |
CCoinsViewBacked (CCoinsView *viewIn) | |
std::optional< Coin > | GetCoin (const COutPoint &outpoint) 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... | |
uint256 | GetBestBlock () const override |
Retrieve the block hash whose state this CCoinsView currently represents. More... | |
std::vector< uint256 > | GetHeadBlocks () const override |
Retrieve the range of blocks that may have been only partially written. More... | |
void | SetBackend (CCoinsView &viewIn) |
bool | BatchWrite (CoinsViewCacheCursor &cursor, const uint256 &hashBlock) override |
Do a bulk modification (multiple Coin changes + BestBlock change). More... | |
std::unique_ptr< 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 std::optional< Coin > | GetCoin (const COutPoint &outpoint) 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 uint256 | GetBestBlock () const |
Retrieve the block hash whose state this CCoinsView currently represents. More... | |
virtual std::vector< uint256 > | GetHeadBlocks () const |
Retrieve the range of blocks that may have been only partially written. More... | |
virtual bool | BatchWrite (CoinsViewCacheCursor &cursor, const uint256 &hashBlock) |
Do a bulk modification (multiple Coin changes + BestBlock change). More... | |
virtual std::unique_ptr< CCoinsViewCursor > | Cursor () const |
Get a cursor to iterate over the whole state. More... | |
virtual | ~CCoinsView ()=default |
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.
Reimplemented from CCoinsViewBacked.
Definition at line 380 of file coins.cpp.
|
overridevirtual |
Just check whether a given outpoint is unspent.
Reimplemented from CCoinsViewBacked.
Definition at line 385 of file coins.cpp.
|
private |