![]() |
Bitcoin Core 30.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 384 of file coins.cpp.
|
overridevirtual |
Just check whether a given outpoint is unspent.
Reimplemented from CCoinsViewBacked.
Definition at line 389 of file coins.cpp.
|
private |