mirror of
https://github.com/XRPLF/rippled.git
synced 2026-08-22 23:00:55 +00:00
66 lines
1.8 KiB
C++
66 lines
1.8 KiB
C++
#pragma once
|
|
|
|
#include <xrpl/basics/chrono.h>
|
|
#include <xrpl/beast/utility/Journal.h>
|
|
#include <xrpl/ledger/ApplyView.h>
|
|
#include <xrpl/protocol/Protocol.h>
|
|
|
|
#include <memory>
|
|
#include <set>
|
|
|
|
namespace xrpl {
|
|
|
|
class Application;
|
|
class CanonicalTXSet;
|
|
class Ledger;
|
|
class LedgerReplay;
|
|
class SHAMap;
|
|
|
|
/**
|
|
* Build a new ledger by applying consensus transactions
|
|
*
|
|
* Build a new ledger by applying a set of transactions accepted as part of
|
|
* consensus.
|
|
*
|
|
* @param parent The ledger to apply transactions to
|
|
* @param closeTime The time the ledger closed
|
|
* @param closeTimeCorrect Whether consensus agreed on close time
|
|
* @param closeResolution Resolution used to determine consensus close time
|
|
* @param app Handle to application instance
|
|
* @param txs On entry, transactions to apply; on exit, transactions that must
|
|
* be retried in next round.
|
|
* @param failedTxs Populated with transactions that failed in this round
|
|
* @param j Journal to use for logging
|
|
* @return The newly built ledger
|
|
*/
|
|
std::shared_ptr<Ledger>
|
|
buildLedger(
|
|
std::shared_ptr<Ledger const> const& parent,
|
|
NetClock::time_point closeTime,
|
|
bool const closeTimeCorrect,
|
|
NetClock::duration closeResolution,
|
|
Application& app,
|
|
CanonicalTXSet& txns,
|
|
std::set<TxID>& failedTxs,
|
|
beast::Journal j);
|
|
|
|
/**
|
|
* Build a new ledger by replaying transactions
|
|
*
|
|
* Build a new ledger by replaying transactions accepted into a prior ledger.
|
|
*
|
|
* @param replayData Data of the ledger to replay
|
|
* @param applyFlags Flags to use when applying transactions
|
|
* @param app Handle to application instance
|
|
* @param j Journal to use for logging
|
|
* @return The newly built ledger
|
|
*/
|
|
std::shared_ptr<Ledger>
|
|
buildLedger(
|
|
LedgerReplay const& replayData,
|
|
ApplyFlags applyFlags,
|
|
Application& app,
|
|
beast::Journal j);
|
|
|
|
} // namespace xrpl
|