3#include <xrpld/app/ledger/LedgerMaster.h>
4#include <xrpld/app/ledger/LedgerReplayTask.h>
5#include <xrpld/app/main/Application.h>
7#include <xrpl/beast/utility/Journal.h>
A generic endpoint for log messages.
Manages the lifetime of inbound ledgers.
hash_map< uint256, std::weak_ptr< SkipListAcquire > > skipLists_
InboundLedgers & inboundLedgers_
void replay(InboundLedger::Reason r, uint256 const &finishLedgerHash, std::uint32_t totalNumLedgers)
Replay a range of ledgers.
void gotReplayDelta(LedgerHeader const &info, std::map< std::uint32_t, std::shared_ptr< STTx const > > &&txns)
Process a ledger delta (extracted from a TMReplayDeltaResponse message).
std::size_t skipListsSize() const
std::size_t tasksSize() const
void gotSkipList(LedgerHeader const &info, boost::intrusive_ptr< SHAMapItem const > const &data)
Process a skip list (extracted from a TMProofPathResponse message).
std::unique_ptr< PeerSetBuilder > peerSetBuilder_
std::vector< std::shared_ptr< LedgerReplayTask > > tasks_
void sweep()
Remove completed tasks.
void createDeltas(std::shared_ptr< LedgerReplayTask > task)
Create LedgerDeltaAcquire subtasks for the LedgerReplayTask task.
LedgerReplayer(Application &app, InboundLedgers &inboundLedgers, std::unique_ptr< PeerSetBuilder > peerSetBuilder)
hash_map< uint256, std::weak_ptr< LedgerDeltaAcquire > > deltas_
std::size_t deltasSize() const
Ledger replay client side.
constexpr std::uint32_t kMaxTasks
constexpr auto kSubTaskTimeout
constexpr auto kSubTaskFallbackTimeout
constexpr auto kTaskTimeout
constexpr std::uint32_t kMaxTaskSize
constexpr std::uint32_t kTaskMaxTimeoutsMinimum
constexpr std::uint32_t kTaskMaxTimeoutsMultiplier
constexpr auto kMaxNoFeaturePeerCount
constexpr std::uint32_t kSubTaskMaxTimeouts
constexpr std::uint32_t kMaxQueuedTasks
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
std::unordered_map< Key, Value, Hash, Pred, Allocator > hash_map