1#ifndef XRPL_APP_LEDGER_TIMEOUTCOUNTER_H_INCLUDED 
    2#define XRPL_APP_LEDGER_TIMEOUTCOUNTER_H_INCLUDED 
    4#include <xrpld/app/main/Application.h> 
    5#include <xrpld/core/Job.h> 
    7#include <xrpl/beast/utility/Journal.h> 
    9#include <boost/asio/basic_waitable_timer.hpp> 
  130    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