|
rippled
|
#include <LedgerReplayTask.h>


Classes | |
| class | TaskParameter |
Public Member Functions | |
| LedgerReplayTask (Application &app, InboundLedgers &inboundLedgers, LedgerReplayer &replayer, std::shared_ptr< SkipListAcquire > &skipListAcquirer, TaskParameter &¶meter) | |
| Constructor. | |
| ~LedgerReplayTask () | |
| void | init () |
| Start the task. | |
| void | addDelta (std::shared_ptr< LedgerDeltaAcquire > const &delta) |
| add a new LedgerDeltaAcquire subtask | |
| TaskParameter const & | getTaskParameter () const |
| bool | finished () const |
| return if the task is finished | |
| virtual void | cancel () |
| Cancel the task by marking it as failed if the task is not done. | |
| T | shared_from_this (T... args) |
| T | weak_from_this (T... args) |
Protected Types | |
| using | ScopedLockType = std::unique_lock< std::recursive_mutex > |
Protected Member Functions | |
| void | setTimer (ScopedLockType &) |
| Schedule a call to queueJob() after mTimerInterval. | |
| void | queueJob (ScopedLockType &) |
| Queue a job to call invokeOnTimer(). | |
| bool | isDone () const |
Protected Attributes | |
| Application & | app_ |
| beast::Journal | journal_ |
| std::recursive_mutex | mtx_ |
| uint256 const | hash_ |
| The hash of the object (in practice, always a ledger) we are trying to fetch. | |
| int | timeouts_ |
| bool | complete_ |
| bool | failed_ |
| bool | progress_ |
| Whether forward progress has been made. | |
| std::chrono::milliseconds | timerInterval_ |
| The minimum time to wait between calls to execute(). | |
| QueueJobParameter | queueJobParameter_ |
Private Member Functions | |
| void | onTimer (bool progress, ScopedLockType &sl) override |
| Hook called from invokeOnTimer(). | |
| std::weak_ptr< TimeoutCounter > | pmDowncast () override |
| Return a weak pointer to this. | |
| void | updateSkipList (uint256 const &hash, std::uint32_t seq, std::vector< uint256 > const &sList) |
| Update this task (by a SkipListAcquire subtask) when skip list is ready. | |
| void | deltaReady (uint256 const &deltaHash) |
| Notify this task (by a LedgerDeltaAcquire subtask) that a delta is ready. | |
| void | trigger (ScopedLockType &sl) |
| Trigger another round. | |
| void | tryAdvance (ScopedLockType &sl) |
| Try to build more ledgers. | |
| void | invokeOnTimer () |
| Calls onTimer() if in the right state. | |
Static Private Member Functions | |
| static auto & | getCounter () noexcept |
Private Attributes | |
| InboundLedgers & | inboundLedgers_ |
| LedgerReplayer & | replayer_ |
| TaskParameter | parameter_ |
| uint32_t | maxTimeouts_ |
| std::shared_ptr< SkipListAcquire > | skipListAcquirer_ |
| std::shared_ptr< Ledger const > | parent_ = {} |
| uint32_t | deltaToBuild_ = 0 |
| std::vector< std::shared_ptr< LedgerDeltaAcquire > > | deltas_ |
| boost::asio::basic_waitable_timer< std::chrono::steady_clock > | timer_ |
Friends | |
| class | test::LedgerReplayClient |
Definition at line 20 of file LedgerReplayTask.h.
|
protectedinherited |
Definition at line 64 of file TimeoutCounter.h.
| ripple::LedgerReplayTask::LedgerReplayTask | ( | Application & | app, |
| InboundLedgers & | inboundLedgers, | ||
| LedgerReplayer & | replayer, | ||
| std::shared_ptr< SkipListAcquire > & | skipListAcquirer, | ||
| TaskParameter && | parameter | ||
| ) |
Constructor.
| app | Application reference |
| inboundLedgers | InboundLedgers reference |
| replayer | LedgerReplayer reference |
| skipListAcquirer | shared_ptr of SkipListAcquire subtask, to make sure it will not be destroyed. |
| parameter | parameter of the task |
Definition at line 69 of file LedgerReplayTask.cpp.
| ripple::LedgerReplayTask::~LedgerReplayTask | ( | ) |
Definition at line 95 of file LedgerReplayTask.cpp.
| void ripple::LedgerReplayTask::init | ( | ) |
Start the task.
Definition at line 101 of file LedgerReplayTask.cpp.
| void ripple::LedgerReplayTask::addDelta | ( | std::shared_ptr< LedgerDeltaAcquire > const & | delta | ) |
add a new LedgerDeltaAcquire subtask
| delta | the new LedgerDeltaAcquire subtask |
Definition at line 259 of file LedgerReplayTask.cpp.
| TaskParameter const & ripple::LedgerReplayTask::getTaskParameter | ( | ) | const |
Definition at line 103 of file LedgerReplayTask.h.
| bool ripple::LedgerReplayTask::finished | ( | ) | const |
return if the task is finished
Definition at line 289 of file LedgerReplayTask.cpp.
|
overrideprivatevirtual |
Hook called from invokeOnTimer().
Implements ripple::TimeoutCounter.
Definition at line 237 of file LedgerReplayTask.cpp.
|
overrideprivatevirtual |
Return a weak pointer to this.
Implements ripple::TimeoutCounter.
Definition at line 253 of file LedgerReplayTask.cpp.
|
private |
Update this task (by a SkipListAcquire subtask) when skip list is ready.
| hash | hash of the ledger that has the skip list |
| seq | sequence number of the ledger that has the skip list |
| sList | skip list |
Definition at line 213 of file LedgerReplayTask.cpp.
|
private |
Notify this task (by a LedgerDeltaAcquire subtask) that a delta is ready.
| deltaHash | ledger hash of the delta |
Definition at line 159 of file LedgerReplayTask.cpp.
|
private |
Trigger another round.
| sl | lock. this function must be called with the lock |
Definition at line 131 of file LedgerReplayTask.cpp.
|
private |
Try to build more ledgers.
| sl | lock. this function must be called with the lock |
Definition at line 169 of file LedgerReplayTask.cpp.
|
virtualinherited |
Cancel the task by marking it as failed if the task is not done.
Definition at line 99 of file TimeoutCounter.cpp.
|
protectedinherited |
Schedule a call to queueJob() after mTimerInterval.
Definition at line 31 of file TimeoutCounter.cpp.
|
protectedinherited |
Queue a job to call invokeOnTimer().
Definition at line 50 of file TimeoutCounter.cpp.
|
protectedinherited |
Definition at line 99 of file TimeoutCounter.h.
|
privateinherited |
Calls onTimer() if in the right state.
Only called by queueJob().
Definition at line 74 of file TimeoutCounter.cpp.
|
staticprivatenoexceptinherited |
Definition at line 110 of file CountedObject.h.
|
friend |
Definition at line 161 of file LedgerReplayTask.h.
|
private |
Definition at line 152 of file LedgerReplayTask.h.
|
private |
Definition at line 153 of file LedgerReplayTask.h.
|
private |
Definition at line 154 of file LedgerReplayTask.h.
|
private |
Definition at line 155 of file LedgerReplayTask.h.
|
private |
Definition at line 156 of file LedgerReplayTask.h.
|
private |
Definition at line 157 of file LedgerReplayTask.h.
|
private |
Definition at line 158 of file LedgerReplayTask.h.
|
private |
Definition at line 159 of file LedgerReplayTask.h.
|
protectedinherited |
Definition at line 106 of file TimeoutCounter.h.
|
protectedinherited |
Definition at line 107 of file TimeoutCounter.h.
|
mutableprotectedinherited |
Definition at line 108 of file TimeoutCounter.h.
|
protectedinherited |
The hash of the object (in practice, always a ledger) we are trying to fetch.
Definition at line 112 of file TimeoutCounter.h.
|
protectedinherited |
Definition at line 113 of file TimeoutCounter.h.
|
protectedinherited |
Definition at line 114 of file TimeoutCounter.h.
|
protectedinherited |
Definition at line 115 of file TimeoutCounter.h.
|
protectedinherited |
Whether forward progress has been made.
Definition at line 117 of file TimeoutCounter.h.
|
protectedinherited |
The minimum time to wait between calls to execute().
Definition at line 119 of file TimeoutCounter.h.
|
protectedinherited |
Definition at line 121 of file TimeoutCounter.h.
|
privateinherited |
Definition at line 130 of file TimeoutCounter.h.