1#ifndef XRPL_APP_LEDGER_LEDGERREPLAYER_H_INCLUDED
2#define XRPL_APP_LEDGER_LEDGERREPLAYER_H_INCLUDED
4#include <xrpld/app/ledger/LedgerMaster.h>
5#include <xrpld/app/ledger/LedgerReplayTask.h>
6#include <xrpld/app/main/Application.h>
8#include <xrpl/beast/utility/Journal.h>
16class LedgerReplayClient;
19namespace LedgerReplayParameters {
73 uint256 const& finishLedgerHash,
89 boost::intrusive_ptr<SHAMapItem const>
const& data);
A generic endpoint for log messages.
Manages the lifetime of inbound ledgers.
Manages the lifetime of ledger replay tasks.
void gotReplayDelta(LedgerInfo const &info, std::map< std::uint32_t, std::shared_ptr< STTx const > > &&txns)
Process a ledger delta (extracted from a TMReplayDeltaResponse message)
void createDeltas(std::shared_ptr< LedgerReplayTask > task)
Create LedgerDeltaAcquire subtasks for the LedgerReplayTask task.
std::size_t deltasSize() const
void sweep()
Remove completed tasks.
std::vector< std::shared_ptr< LedgerReplayTask > > tasks_
std::unique_ptr< PeerSetBuilder > peerSetBuilder_
std::size_t tasksSize() const
void gotSkipList(LedgerInfo const &info, boost::intrusive_ptr< SHAMapItem const > const &data)
Process a skip list (extracted from a TMProofPathResponse message)
hash_map< uint256, std::weak_ptr< SkipListAcquire > > skipLists_
void replay(InboundLedger::Reason r, uint256 const &finishLedgerHash, std::uint32_t totalNumLedgers)
Replay a range of ledgers.
InboundLedgers & inboundLedgers_
std::size_t skipListsSize() const
hash_map< uint256, std::weak_ptr< LedgerDeltaAcquire > > deltas_
Ledger replay client side.
std::uint32_t constexpr TASK_MAX_TIMEOUTS_MINIMUM
auto constexpr SUB_TASK_FALLBACK_TIMEOUT
std::uint32_t constexpr MAX_QUEUED_TASKS
auto constexpr TASK_TIMEOUT
std::uint32_t constexpr SUB_TASK_MAX_TIMEOUTS
auto constexpr MAX_NO_FEATURE_PEER_COUNT
std::uint32_t constexpr MAX_TASK_SIZE
auto constexpr SUB_TASK_TIMEOUT
std::uint32_t constexpr MAX_TASKS
std::uint32_t constexpr TASK_MAX_TIMEOUTS_MULTIPLIER
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.