diff options
author | Pieter Wuille <pieter.wuille@gmail.com> | 2012-10-16 22:23:39 +0200 |
---|---|---|
committer | Pieter Wuille <pieter.wuille@gmail.com> | 2012-10-20 23:08:57 +0200 |
commit | 4ca60bba5c3b8394c252715c71e8758d63c316ee (patch) | |
tree | 7c0df7313bf492b67bd629a01d28074f22af4104 /src/txdb.h | |
parent | beeb57610cf57c1d802be993ac0e98211bfc5f0c (diff) |
Remove BDB block database support
Diffstat (limited to 'src/txdb.h')
-rw-r--r-- | src/txdb.h | 49 |
1 files changed, 41 insertions, 8 deletions
diff --git a/src/txdb.h b/src/txdb.h index e21a1e6774..123ec00d23 100644 --- a/src/txdb.h +++ b/src/txdb.h @@ -2,13 +2,46 @@ // Copyright (c) 2009-2012 The Bitcoin developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef BITCOIN_TXDB_H -#define BITCOIN_TXDB_H +#ifndef BITCOIN_TXDB_LEVELDB_H +#define BITCOIN_TXDB_LEVELDB_H -#ifdef USE_LEVELDB -#include "txdb-leveldb.h" -#else -#include "txdb-bdb.h" -#endif +#include "main.h" +#include "leveldb.h" -#endif // BITCOIN_TXDB_H +/** CCoinsView backed by the LevelDB coin database (coins/) */ +class CCoinsViewDB : public CCoinsView +{ +protected: + CLevelDB db; +public: + CCoinsViewDB(bool fMemory = false); + + bool GetCoins(uint256 txid, CCoins &coins); + bool SetCoins(uint256 txid, const CCoins &coins); + bool HaveCoins(uint256 txid); + CBlockIndex *GetBestBlock(); + bool SetBestBlock(CBlockIndex *pindex); + bool BatchWrite(const std::map<uint256, CCoins> &mapCoins, CBlockIndex *pindex); + bool GetStats(CCoinsStats &stats); +}; + +/** Access to the block database (blktree/) */ +class CBlockTreeDB : public CLevelDB +{ +public: + CBlockTreeDB(bool fMemory = false); +private: + CBlockTreeDB(const CBlockTreeDB&); + void operator=(const CBlockTreeDB&); +public: + bool WriteBlockIndex(const CDiskBlockIndex& blockindex); + bool ReadBestInvalidWork(CBigNum& bnBestInvalidWork); + bool WriteBestInvalidWork(const CBigNum& bnBestInvalidWork); + bool ReadBlockFileInfo(int nFile, CBlockFileInfo &fileinfo); + bool WriteBlockFileInfo(int nFile, const CBlockFileInfo &fileinfo); + bool ReadLastBlockFile(int &nFile); + bool WriteLastBlockFile(int nFile); + bool LoadBlockIndexGuts(); +}; + +#endif // BITCOIN_TXDB_LEVELDB_H |