Changeset View
Changeset View
Standalone View
Standalone View
src/flatfile.h
// 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 | // Distributed under the MIT software license, see the accompanying | ||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php. | // file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||||
#ifndef BITCOIN_FLATFILE_H | #ifndef BITCOIN_FLATFILE_H | ||||
#define BITCOIN_FLATFILE_H | #define BITCOIN_FLATFILE_H | ||||
#include <chain.h> | |||||
#include <fs.h> | #include <fs.h> | ||||
#include <serialize.h> | |||||
#include <string> | |||||
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)); | |||||
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 | * FlatFileSeq represents a sequence of numbered files storing raw data. This | ||||
* class facilitates access to and efficient management of these files. | * class facilitates access to and efficient management of these files. | ||||
*/ | */ | ||||
class FlatFileSeq { | class FlatFileSeq { | ||||
private: | private: | ||||
const fs::path m_dir; | const fs::path m_dir; | ||||
▲ Show 20 Lines • Show All 46 Lines • Show Last 20 Lines |