Move CDiskBlockPos from chain to flatfile.
This commit is contained in:
parent
e0380933e3
commit
d6d8a78f26
3 changed files with 49 additions and 43 deletions
41
src/chain.h
41
src/chain.h
|
@ -8,6 +8,7 @@
|
|||
|
||||
#include <arith_uint256.h>
|
||||
#include <consensus/params.h>
|
||||
#include <flatfile.h>
|
||||
#include <primitives/block.h>
|
||||
#include <tinyformat.h>
|
||||
#include <uint256.h>
|
||||
|
@ -90,46 +91,6 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
struct CDiskBlockPos
|
||||
{
|
||||
int nFile;
|
||||
unsigned int nPos;
|
||||
|
||||
ADD_SERIALIZE_METHODS;
|
||||
|
||||
template <typename Stream, typename Operation>
|
||||
inline void SerializationOp(Stream& s, Operation ser_action) {
|
||||
READWRITE(VARINT(nFile, VarIntMode::NONNEGATIVE_SIGNED));
|
||||
READWRITE(VARINT(nPos));
|
||||
}
|
||||
|
||||
CDiskBlockPos() {
|
||||
SetNull();
|
||||
}
|
||||
|
||||
CDiskBlockPos(int nFileIn, unsigned int nPosIn) {
|
||||
nFile = nFileIn;
|
||||
nPos = nPosIn;
|
||||
}
|
||||
|
||||
friend bool operator==(const CDiskBlockPos &a, const CDiskBlockPos &b) {
|
||||
return (a.nFile == b.nFile && a.nPos == b.nPos);
|
||||
}
|
||||
|
||||
friend bool operator!=(const CDiskBlockPos &a, const CDiskBlockPos &b) {
|
||||
return !(a == b);
|
||||
}
|
||||
|
||||
void SetNull() { nFile = -1; nPos = 0; }
|
||||
bool IsNull() const { return (nFile == -1); }
|
||||
|
||||
std::string ToString() const
|
||||
{
|
||||
return strprintf("CDiskBlockPos(nFile=%i, nPos=%i)", nFile, nPos);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
enum BlockStatus: uint32_t {
|
||||
//! Unused.
|
||||
BLOCK_VALID_UNKNOWN = 0,
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
// Copyright (c) 2019 The Bitcoin Core developers
|
||||
// Copyright (c) 2009-2010 Satoshi Nakamoto
|
||||
// Copyright (c) 2009-2019 The Bitcoin Core developers
|
||||
// Distributed under the MIT software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
|
@ -19,6 +20,11 @@ FlatFileSeq::FlatFileSeq(fs::path dir, const char* prefix, size_t chunk_size) :
|
|||
}
|
||||
}
|
||||
|
||||
std::string CDiskBlockPos::ToString() const
|
||||
{
|
||||
return strprintf("CDiskBlockPos(nFile=%i, nPos=%i)", nFile, nPos);
|
||||
}
|
||||
|
||||
fs::path FlatFileSeq::FileName(const CDiskBlockPos& pos) const
|
||||
{
|
||||
return m_dir / strprintf("%s%05u.dat", m_prefix, pos.nFile);
|
||||
|
|
|
@ -1,12 +1,51 @@
|
|||
// Copyright (c) 2019 The Bitcoin Core developers
|
||||
// Copyright (c) 2009-2010 Satoshi Nakamoto
|
||||
// Copyright (c) 2009-2019 The Bitcoin Core developers
|
||||
// Distributed under the MIT software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
#ifndef BITCOIN_FLATFILE_H
|
||||
#define BITCOIN_FLATFILE_H
|
||||
|
||||
#include <chain.h>
|
||||
#include <string>
|
||||
|
||||
#include <fs.h>
|
||||
#include <serialize.h>
|
||||
|
||||
struct CDiskBlockPos
|
||||
{
|
||||
int nFile;
|
||||
unsigned int nPos;
|
||||
|
||||
ADD_SERIALIZE_METHODS;
|
||||
|
||||
template <typename Stream, typename Operation>
|
||||
inline void SerializationOp(Stream& s, Operation ser_action) {
|
||||
READWRITE(VARINT(nFile, VarIntMode::NONNEGATIVE_SIGNED));
|
||||
READWRITE(VARINT(nPos));
|
||||
}
|
||||
|
||||
CDiskBlockPos() {
|
||||
SetNull();
|
||||
}
|
||||
|
||||
CDiskBlockPos(int nFileIn, unsigned int nPosIn) {
|
||||
nFile = nFileIn;
|
||||
nPos = nPosIn;
|
||||
}
|
||||
|
||||
friend bool operator==(const CDiskBlockPos &a, const CDiskBlockPos &b) {
|
||||
return (a.nFile == b.nFile && a.nPos == b.nPos);
|
||||
}
|
||||
|
||||
friend bool operator!=(const CDiskBlockPos &a, const CDiskBlockPos &b) {
|
||||
return !(a == b);
|
||||
}
|
||||
|
||||
void SetNull() { nFile = -1; nPos = 0; }
|
||||
bool IsNull() const { return (nFile == -1); }
|
||||
|
||||
std::string ToString() const;
|
||||
};
|
||||
|
||||
/**
|
||||
* FlatFileSeq represents a sequence of numbered files storing raw data. This class facilitates
|
||||
|
|
Loading…
Reference in a new issue