20#ifndef RIPPLE_APP_LEDGER_TIMEOUTCOUNTER_H_INCLUDED
21#define RIPPLE_APP_LEDGER_TIMEOUTCOUNTER_H_INCLUDED
23#include <xrpld/app/main/Application.h>
24#include <xrpld/core/Job.h>
26#include <xrpl/beast/utility/Journal.h>
28#include <boost/asio/basic_waitable_timer.hpp>
149 boost::asio::basic_waitable_timer<std::chrono::steady_clock>
timer_;
A generic endpoint for log messages.
This class is an "active" object.
void queueJob(ScopedLockType &)
Queue a job to call invokeOnTimer().
virtual void onTimer(bool progress, ScopedLockType &)=0
Hook called from invokeOnTimer().
bool progress_
Whether forward progress has been made.
void setTimer(ScopedLockType &)
Schedule a call to queueJob() after mTimerInterval.
void invokeOnTimer()
Calls onTimer() if in the right state.
std::chrono::milliseconds timerInterval_
The minimum time to wait between calls to execute().
virtual ~TimeoutCounter()=default
QueueJobParameter queueJobParameter_
uint256 const hash_
The hash of the object (in practice, always a ledger) we are trying to fetch.
boost::asio::basic_waitable_timer< std::chrono::steady_clock > timer_
virtual std::weak_ptr< TimeoutCounter > pmDowncast()=0
Return a weak pointer to this.
virtual void cancel()
Cancel the task by marking it as failed if the task is not done.
std::recursive_mutex mtx_
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
std::optional< std::uint32_t > jobLimit