20 #ifndef RIPPLE_APP_LEDGER_LEDGERREPLAYER_H_INCLUDED
21 #define RIPPLE_APP_LEDGER_LEDGERREPLAYER_H_INCLUDED
23 #include <ripple/app/ledger/LedgerMaster.h>
24 #include <ripple/app/ledger/LedgerReplayTask.h>
25 #include <ripple/app/main/Application.h>
26 #include <ripple/beast/utility/Journal.h>
35 class LedgerReplayClient;
38 namespace LedgerReplayParameters {
92 uint256 const& finishLedgerHash,
108 boost::intrusive_ptr<SHAMapItem const>
const& data);
hash_map< uint256, std::weak_ptr< SkipListAcquire > > skipLists_
constexpr std::uint32_t SUB_TASK_MAX_TIMEOUTS
constexpr auto SUB_TASK_FALLBACK_TIMEOUT
constexpr std::uint32_t MAX_TASKS
constexpr std::uint32_t MAX_TASK_SIZE
hash_map< uint256, std::weak_ptr< LedgerDeltaAcquire > > deltas_
void gotSkipList(LedgerInfo const &info, boost::intrusive_ptr< SHAMapItem const > const &data)
Process a skip list (extracted from a TMProofPathResponse message)
constexpr std::uint32_t MAX_QUEUED_TASKS
void createDeltas(std::shared_ptr< LedgerReplayTask > task)
Create LedgerDeltaAcquire subtasks for the LedgerReplayTask task.
InboundLedgers & inboundLedgers_
constexpr auto SUB_TASK_TIMEOUT
A generic endpoint for log messages.
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 replay(InboundLedger::Reason r, uint256 const &finishLedgerHash, std::uint32_t totalNumLedgers)
Replay a range of ledgers.
constexpr std::uint32_t TASK_MAX_TIMEOUTS_MULTIPLIER
Ledger replay client side.
Manages the lifetime of inbound ledgers.
std::vector< std::shared_ptr< LedgerReplayTask > > tasks_
constexpr auto TASK_TIMEOUT
void sweep()
Remove completed tasks.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
LedgerReplayer(Application &app, InboundLedgers &inboundLedgers, std::unique_ptr< PeerSetBuilder > peerSetBuilder)
constexpr std::uint32_t TASK_MAX_TIMEOUTS_MINIMUM
Manages the lifetime of ledger replay tasks.
constexpr auto MAX_NO_FEATURE_PEER_COUNT
Information about the notional ledger backing the view.
std::unique_ptr< PeerSetBuilder > peerSetBuilder_