本文整理汇总了C++中DatabaseSet::name方法的典型用法代码示例。如果您正苦于以下问题:C++ DatabaseSet::name方法的具体用法?C++ DatabaseSet::name怎么用?C++ DatabaseSet::name使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DatabaseSet
的用法示例。
在下文中一共展示了DatabaseSet::name方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: gameDb
// pindex must belong to the main branch, i.e. corresponding blocks must be connected
// Returns a copy of the game state
bool
GetGameState (DatabaseSet& dbset, CBlockIndex *pindex, GameState &outState)
{
if (!pindex)
{
outState = GameState();
return true;
}
/* See if we have the block in the state cache. */
if (stateCache.query (*pindex->phashBlock, outState))
return true;
// Get the latest saved state
CGameDB gameDb("r", dbset.tx ());
if (gameDb.Read(pindex->nHeight, outState))
{
if (outState.nHeight != pindex->nHeight)
return error("GetGameState: wrong height");
if (outState.hashBlock != *pindex->phashBlock)
return error("GetGameState: wrong hash");
return true;
}
if (!pindex->IsInMainChain())
return error("GetGameState called for non-main chain");
printf("%s ", DateTimeStrFormat("%x %H:%M:%S", GetTime()).c_str());
printf("GetGameState: need to integrate state for height %d (current %d)\n",
pindex->nHeight, nBestHeight);
CBlockIndex *plast = pindex;
GameState lastState;
for (; plast->pprev; plast = plast->pprev)
{
if (stateCache.query (*plast->pprev->phashBlock, lastState))
break;
if (gameDb.Read(plast->pprev->nHeight, lastState))
break;
}
printf("%s ", DateTimeStrFormat("%x %H:%M:%S", GetTime()).c_str());
printf("GetGameState: last saved block has height %d\n", lastState.nHeight);
// Integrate steps starting from the last saved state
// FIXME: Might want to store intermediate steps in stateCache, too.
loop
{
std::vector<CTransaction> vgametx;
CBlock block;
block.ReadFromDisk(plast);
int64 nTax;
if (!PerformStep (dbset.name (), lastState, &block, nTax,
outState, vgametx))
return false;
if (block.vgametx != vgametx)
{
printf("Error: GetGameState: computed vgametx is different from the stored one\n");
printf(" block %s (height = %d) vgametx:\n", block.GetHash().ToString().c_str(), plast->nHeight);
BOOST_FOREACH (const CTransaction &tx, block.vgametx)
{
printf(" ");
tx.print();
}
printf(" computed vgametx (height = %d):\n", outState.nHeight);
BOOST_FOREACH (const CTransaction &tx, vgametx)
{
printf(" ");
tx.print();
}
return false;
}