Bitcoin Core 28.99.0
P2P Digital Currency
index.cpp
Go to the documentation of this file.
1// Copyright (c) 2020-2022 The Bitcoin Core developers
2// Distributed under the MIT software license, see the accompanying
3// file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
5#include <test/util/index.h>
6
7#include <index/base.h>
8#include <util/check.h>
10#include <util/time.h>
11
12void IndexWaitSynced(const BaseIndex& index, const util::SignalInterrupt& interrupt)
13{
14 while (!index.BlockUntilSyncedToCurrentChain()) {
15 // Assert shutdown was not requested to abort the test, instead of looping forever, in case
16 // there was an unexpected error in the index that caused it to stop syncing and request a shutdown.
17 Assert(!interrupt);
18
20 }
21 assert(index.GetSummary().synced);
22}
#define Assert(val)
Identity function.
Definition: check.h:85
Base class for indices of blockchain data.
Definition: base.h:43
IndexSummary GetSummary() const
Get a summary of the index and its state.
Definition: base.cpp:421
Helper class that manages an interrupt flag, and allows a thread or signal to interrupt another threa...
void IndexWaitSynced(const BaseIndex &index, const util::SignalInterrupt &interrupt)
Block until the index is synced to the current chain.
Definition: index.cpp:12
bool synced
Definition: base.h:27
void UninterruptibleSleep(const std::chrono::microseconds &n)
Definition: time.cpp:20
assert(!tx.IsCoinBase())