Move CBlockLocator to core.h
As CBlockLocator is a P2P data structure, and independent from the validation logic, it can be moved to core.
This commit is contained in:
parent
e4daecda0b
commit
f9b15a4fc9
2 changed files with 34 additions and 38 deletions
34
src/core.h
34
src/core.h
|
@ -661,4 +661,38 @@ public:
|
|||
void print() const;
|
||||
};
|
||||
|
||||
|
||||
/** Describes a place in the block chain to another node such that if the
|
||||
* other node doesn't have the same branch, it can find a recent common trunk.
|
||||
* The further back it is, the further before the fork it may be.
|
||||
*/
|
||||
struct CBlockLocator
|
||||
{
|
||||
std::vector<uint256> vHave;
|
||||
|
||||
CBlockLocator() {}
|
||||
|
||||
CBlockLocator(const std::vector<uint256>& vHaveIn)
|
||||
{
|
||||
vHave = vHaveIn;
|
||||
}
|
||||
|
||||
IMPLEMENT_SERIALIZE
|
||||
(
|
||||
if (!(nType & SER_GETHASH))
|
||||
READWRITE(nVersion);
|
||||
READWRITE(vHave);
|
||||
)
|
||||
|
||||
void SetNull()
|
||||
{
|
||||
vHave.clear();
|
||||
}
|
||||
|
||||
bool IsNull()
|
||||
{
|
||||
return vHave.empty();
|
||||
}
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
38
src/main.h
38
src/main.h
|
@ -22,7 +22,6 @@ class CBlock;
|
|||
class CBlockIndex;
|
||||
class CKeyItem;
|
||||
class CReserveKey;
|
||||
class CBlockLocator;
|
||||
|
||||
class CAddress;
|
||||
class CInv;
|
||||
|
@ -1047,43 +1046,6 @@ extern CChain chainActive;
|
|||
|
||||
|
||||
|
||||
/** Describes a place in the block chain to another node such that if the
|
||||
* other node doesn't have the same branch, it can find a recent common trunk.
|
||||
* The further back it is, the further before the fork it may be.
|
||||
*/
|
||||
class CBlockLocator
|
||||
{
|
||||
protected:
|
||||
std::vector<uint256> vHave;
|
||||
public:
|
||||
CBlockLocator() {}
|
||||
|
||||
CBlockLocator(const std::vector<uint256>& vHaveIn)
|
||||
{
|
||||
vHave = vHaveIn;
|
||||
}
|
||||
|
||||
IMPLEMENT_SERIALIZE
|
||||
(
|
||||
if (!(nType & SER_GETHASH))
|
||||
READWRITE(nVersion);
|
||||
READWRITE(vHave);
|
||||
)
|
||||
|
||||
void SetNull()
|
||||
{
|
||||
vHave.clear();
|
||||
}
|
||||
|
||||
bool IsNull()
|
||||
{
|
||||
return vHave.empty();
|
||||
}
|
||||
|
||||
friend class CChain;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue