Files
rippled/classripple_1_1TimeoutCounter.html
2025-08-19 09:49:50 -07:00

854 lines
51 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>rippled: ripple::TimeoutCounter Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">rippled
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespaceripple.html">ripple</a></li><li class="navelem"><a class="el" href="classripple_1_1TimeoutCounter.html">TimeoutCounter</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-types">Protected Types</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classripple_1_1TimeoutCounter-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">ripple::TimeoutCounter Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div></div>
</div><!--header-->
<div class="contents">
<p>This class is an "active" object.
<a href="classripple_1_1TimeoutCounter.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="TimeoutCounter_8h_source.html">TimeoutCounter.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ripple::TimeoutCounter:</div>
<div class="dyncontent">
<div class="center"><img src="classripple_1_1TimeoutCounter__inherit__graph.png" border="0" usemap="#aripple_1_1TimeoutCounter_inherit__map" alt="Inheritance graph"/></div>
<map name="aripple_1_1TimeoutCounter_inherit__map" id="aripple_1_1TimeoutCounter_inherit__map">
<area shape="rect" title="This class is an &quot;active&quot; object." alt="" coords="5,104,177,129"/>
<area shape="rect" href="classripple_1_1InboundLedger.html" title=" " alt="" coords="241,5,404,31"/>
<area shape="poly" title=" " alt="" coords="122,94,169,66,224,40,259,28,261,33,226,44,171,71,124,99"/>
<area shape="rect" href="classripple_1_1LedgerDeltaAcquire.html" title="Manage the retrieval of a ledger delta (header and transactions) from the network." alt="" coords="225,55,420,80"/>
<area shape="poly" title=" " alt="" coords="164,99,262,77,263,83,165,104"/>
<area shape="rect" href="classripple_1_1LedgerReplayTask.html" title=" " alt="" coords="230,104,415,129"/>
<area shape="poly" title=" " alt="" coords="192,114,230,114,230,119,192,119"/>
<area shape="rect" href="classripple_1_1SkipListAcquire.html" title="Manage the retrieval of a skip list in a ledger from the network." alt="" coords="239,153,406,179"/>
<area shape="poly" title=" " alt="" coords="165,130,263,151,262,156,164,135"/>
<area shape="rect" href="classripple_1_1TransactionAcquire.html" title=" " alt="" coords="227,203,418,228"/>
<area shape="poly" title=" " alt="" coords="125,134,172,162,226,188,265,200,263,205,224,192,169,166,122,139"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for ripple::TimeoutCounter:</div>
<div class="dyncontent">
<div class="center"><img src="classripple_1_1TimeoutCounter__coll__graph.png" border="0" usemap="#aripple_1_1TimeoutCounter_coll__map" alt="Collaboration graph"/></div>
<map name="aripple_1_1TimeoutCounter_coll__map" id="aripple_1_1TimeoutCounter_coll__map">
<area shape="rect" title="This class is an &quot;active&quot; object." alt="" coords="1479,257,1651,282"/>
<area shape="rect" href="classripple_1_1Application.html" title=" " alt="" coords="1171,177,1311,202"/>
<area shape="poly" title=" " alt="" coords="1326,201,1455,229,1531,254,1529,259,1454,235,1324,206"/>
<area shape="rect" href="classbeast_1_1PropertyStream_1_1Source.html" title="Subclasses can be called to write to a stream and have children." alt="" coords="863,123,1031,163"/>
<area shape="poly" title=" " alt="" coords="1045,155,1171,176,1170,181,1045,161"/>
<area shape="poly" title=" " alt="" coords="921,106,930,99,947,96,962,98,972,104,976,113,975,123,970,122,971,114,968,108,960,103,947,101,932,104,924,111"/>
<area shape="rect" href="classbeast_1_1PropertyStream_1_1Item.html" title=" " alt="" coords="1157,111,1325,151"/>
<area shape="poly" title=" " alt="" coords="1045,136,1157,131,1157,137,1045,141"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/string/basic_string.html" title=" " alt="" coords="612,87,699,113"/>
<area shape="poly" title=" " alt="" coords="712,106,864,128,863,133,712,111"/>
<area shape="rect" href="structripple_1_1TimeoutCounter_1_1QueueJobParameter.html" title=" " alt="" coords="861,20,1033,60"/>
<area shape="poly" title=" " alt="" coords="712,86,860,55,861,60,713,91"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/string/basic_string.html" title=" " alt="" coords="297,80,435,120"/>
<area shape="poly" title=" " alt="" coords="449,97,612,97,612,103,449,103"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/thread/recursive_mutex.html" title=" " alt="" coords="576,229,735,254"/>
<area shape="poly" title=" " alt="" coords="748,241,1479,264,1478,269,748,247"/>
<area shape="poly" title=" " alt="" coords="728,223,782,207,836,187,860,172,887,160,890,165,863,177,839,192,783,212,729,228"/>
<area shape="poly" title=" " alt="" coords="1144,117,1101,115,1058,117,1016,125,1015,120,1057,112,1101,110,1144,112"/>
<area shape="rect" title=" " alt="" coords="874,187,1021,213"/>
<area shape="poly" title=" " alt="" coords="1015,182,1157,148,1158,153,1016,187"/>
<area shape="rect" href="classbeast_1_1List.html" title=" " alt="" coords="563,161,748,201"/>
<area shape="poly" title=" " alt="" coords="761,167,837,157,863,154,863,159,838,163,762,172"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/types/size_t.html" title=" " alt="" coords="322,286,410,311"/>
<area shape="poly" title=" " alt="" coords="408,278,562,214,599,199,601,204,564,218,410,283"/>
<area shape="rect" href="classripple_1_1base__uint.html" title="Integers of any length that is a multiple of 32&#45;bits." alt="" coords="1171,288,1312,328"/>
<area shape="poly" title=" " alt="" coords="424,307,563,328,695,341,798,347,901,346,1033,337,1170,319,1171,324,1034,343,901,351,798,353,694,347,562,333,423,312"/>
<area shape="rect" href="classbeast_1_1detail_1_1ListNode.html" title=" " alt="" coords="275,154,457,209"/>
<area shape="poly" title=" " alt="" coords="471,179,563,179,563,184,471,184"/>
<area shape="rect" href="classbeast_1_1detail_1_1ListNode.html" title=" " alt="" coords="5,161,173,201"/>
<area shape="poly" title=" " alt="" coords="187,179,274,179,274,184,187,184"/>
<area shape="poly" title=" " alt="" coords="64,145,73,138,89,135,103,137,113,143,117,152,115,161,110,161,112,152,109,146,102,142,89,140,75,142,68,149"/>
<area shape="rect" href="classbeast_1_1Journal.html" title="A generic endpoint for log messages." alt="" coords="1186,353,1297,378"/>
<area shape="poly" title=" " alt="" coords="1309,350,1380,333,1454,312,1535,280,1537,285,1456,317,1381,338,1311,355"/>
<area shape="rect" href="classbeast_1_1Journal_1_1Sink.html" title="Abstraction for the underlying message destination." alt="" coords="874,403,1021,429"/>
<area shape="poly" title=" " alt="" coords="1034,409,1125,396,1149,388,1192,375,1194,381,1150,393,1126,401,1035,414"/>
<area shape="poly" title=" " alt="" coords="1326,296,1454,281,1478,278,1479,284,1455,287,1326,302"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/container/array.html" title=" " alt="" coords="863,288,1031,328"/>
<area shape="poly" title=" " alt="" coords="1045,305,1170,305,1170,311,1045,311"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/types/integer.html" title=" " alt="" coords="604,293,707,318"/>
<area shape="poly" title=" " alt="" coords="721,303,863,305,863,310,721,309"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/chrono/duration.html" title=" " alt="" coords="1149,402,1333,427"/>
<area shape="poly" title=" " alt="" coords="1339,397,1397,381,1453,358,1482,340,1509,319,1549,281,1553,284,1513,323,1485,344,1456,362,1399,386,1340,402"/>
<area shape="poly" title=" " alt="" coords="1047,39,1113,45,1186,55,1262,72,1334,96,1404,133,1467,178,1518,221,1553,254,1549,258,1515,225,1464,182,1401,138,1332,101,1260,77,1185,60,1112,50,1047,45"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/utility/optional.html" title=" " alt="" coords="586,5,725,45"/>
<area shape="poly" title=" " alt="" coords="739,27,861,33,861,38,738,32"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structripple_1_1TimeoutCounter_1_1QueueJobParameter.html">QueueJobParameter</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ac9f8538b7f73ebcda116c33d5541d16d" id="r_ac9f8538b7f73ebcda116c33d5541d16d"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1TimeoutCounter.html#ac9f8538b7f73ebcda116c33d5541d16d">cancel</a> ()</td></tr>
<tr class="memdesc:ac9f8538b7f73ebcda116c33d5541d16d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cancel the task by marking it as failed if the task is not done. <br /></td></tr>
<tr class="separator:ac9f8538b7f73ebcda116c33d5541d16d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-types" name="pro-types"></a>
Protected Types</h2></td></tr>
<tr class="memitem:acc58d4a18742a417a8b290df4b58072d" id="r_acc58d4a18742a417a8b290df4b58072d"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1TimeoutCounter.html#acc58d4a18742a417a8b290df4b58072d">ScopedLockType</a> = <a class="elRef" href="http://en.cppreference.com/w/cpp/thread/unique_lock.html">std::unique_lock</a>&lt; <a class="elRef" href="http://en.cppreference.com/w/cpp/thread/recursive_mutex.html">std::recursive_mutex</a> &gt;</td></tr>
<tr class="separator:acc58d4a18742a417a8b290df4b58072d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:ac47f0c1cbaf98bbd44505dec517ce4f3" id="r_ac47f0c1cbaf98bbd44505dec517ce4f3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1TimeoutCounter.html#ac47f0c1cbaf98bbd44505dec517ce4f3">TimeoutCounter</a> (<a class="el" href="classripple_1_1Application.html">Application</a> &amp;app, <a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const &amp;targetHash, <a class="elRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::milliseconds</a> timeoutInterval, <a class="el" href="structripple_1_1TimeoutCounter_1_1QueueJobParameter.html">QueueJobParameter</a> &amp;&amp;jobParameter, <a class="el" href="classbeast_1_1Journal.html">beast::Journal</a> journal)</td></tr>
<tr class="separator:ac47f0c1cbaf98bbd44505dec517ce4f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5237b8bd5776dd16d54d214c08e16328" id="r_a5237b8bd5776dd16d54d214c08e16328"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1TimeoutCounter.html#a5237b8bd5776dd16d54d214c08e16328">~TimeoutCounter</a> ()=default</td></tr>
<tr class="separator:a5237b8bd5776dd16d54d214c08e16328"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a01b0664f4479588f93e805ee9aaced" id="r_a3a01b0664f4479588f93e805ee9aaced"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1TimeoutCounter.html#a3a01b0664f4479588f93e805ee9aaced">setTimer</a> (<a class="el" href="classripple_1_1TimeoutCounter.html#acc58d4a18742a417a8b290df4b58072d">ScopedLockType</a> &amp;)</td></tr>
<tr class="memdesc:a3a01b0664f4479588f93e805ee9aaced"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedule a call to <a class="el" href="classripple_1_1TimeoutCounter.html#a0679c129f5ffcdcf46b6b2ce6f31a553" title="Queue a job to call invokeOnTimer().">queueJob()</a> after mTimerInterval. <br /></td></tr>
<tr class="separator:a3a01b0664f4479588f93e805ee9aaced"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0679c129f5ffcdcf46b6b2ce6f31a553" id="r_a0679c129f5ffcdcf46b6b2ce6f31a553"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1TimeoutCounter.html#a0679c129f5ffcdcf46b6b2ce6f31a553">queueJob</a> (<a class="el" href="classripple_1_1TimeoutCounter.html#acc58d4a18742a417a8b290df4b58072d">ScopedLockType</a> &amp;)</td></tr>
<tr class="memdesc:a0679c129f5ffcdcf46b6b2ce6f31a553"><td class="mdescLeft">&#160;</td><td class="mdescRight">Queue a job to call <a class="el" href="classripple_1_1TimeoutCounter.html#a3e417a539a334133b056df64d06ddda0" title="Calls onTimer() if in the right state.">invokeOnTimer()</a>. <br /></td></tr>
<tr class="separator:a0679c129f5ffcdcf46b6b2ce6f31a553"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17c93d4a677d83e11650fbf5812379c8" id="r_a17c93d4a677d83e11650fbf5812379c8"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1TimeoutCounter.html#a17c93d4a677d83e11650fbf5812379c8">onTimer</a> (bool progress, <a class="el" href="classripple_1_1TimeoutCounter.html#acc58d4a18742a417a8b290df4b58072d">ScopedLockType</a> &amp;)=0</td></tr>
<tr class="memdesc:a17c93d4a677d83e11650fbf5812379c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hook called from <a class="el" href="classripple_1_1TimeoutCounter.html#a3e417a539a334133b056df64d06ddda0" title="Calls onTimer() if in the right state.">invokeOnTimer()</a>. <br /></td></tr>
<tr class="separator:a17c93d4a677d83e11650fbf5812379c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5aeaf14b76435677f3f7481f5dae899" id="r_aa5aeaf14b76435677f3f7481f5dae899"><td class="memItemLeft" align="right" valign="top">virtual <a class="elRef" href="http://en.cppreference.com/w/cpp/memory/weak_ptr.html">std::weak_ptr</a>&lt; <a class="el" href="classripple_1_1TimeoutCounter.html">TimeoutCounter</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1TimeoutCounter.html#aa5aeaf14b76435677f3f7481f5dae899">pmDowncast</a> ()=0</td></tr>
<tr class="memdesc:aa5aeaf14b76435677f3f7481f5dae899"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a weak pointer to this. <br /></td></tr>
<tr class="separator:aa5aeaf14b76435677f3f7481f5dae899"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28e1660d3e1964810a10e298cd2f5c94" id="r_a28e1660d3e1964810a10e298cd2f5c94"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1TimeoutCounter.html#a28e1660d3e1964810a10e298cd2f5c94">isDone</a> () const</td></tr>
<tr class="separator:a28e1660d3e1964810a10e298cd2f5c94"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:ad9edbc193ee8a2d70897613e9debfdb7" id="r_ad9edbc193ee8a2d70897613e9debfdb7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1Application.html">Application</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1TimeoutCounter.html#ad9edbc193ee8a2d70897613e9debfdb7">app_</a></td></tr>
<tr class="separator:ad9edbc193ee8a2d70897613e9debfdb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85b050512eadcc42934c1a03cba6ce79" id="r_a85b050512eadcc42934c1a03cba6ce79"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbeast_1_1Journal.html">beast::Journal</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1TimeoutCounter.html#a85b050512eadcc42934c1a03cba6ce79">journal_</a></td></tr>
<tr class="separator:a85b050512eadcc42934c1a03cba6ce79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad13bccc1f788cec83fd1d81cb2e80743" id="r_ad13bccc1f788cec83fd1d81cb2e80743"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/thread/recursive_mutex.html">std::recursive_mutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1TimeoutCounter.html#ad13bccc1f788cec83fd1d81cb2e80743">mtx_</a></td></tr>
<tr class="separator:ad13bccc1f788cec83fd1d81cb2e80743"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f0d7c15dfbdda95cc8b01a1a5b9e722" id="r_a8f0d7c15dfbdda95cc8b01a1a5b9e722"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1TimeoutCounter.html#a8f0d7c15dfbdda95cc8b01a1a5b9e722">hash_</a></td></tr>
<tr class="memdesc:a8f0d7c15dfbdda95cc8b01a1a5b9e722"><td class="mdescLeft">&#160;</td><td class="mdescRight">The hash of the object (in practice, always a ledger) we are trying to fetch. <br /></td></tr>
<tr class="separator:a8f0d7c15dfbdda95cc8b01a1a5b9e722"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6b3661800dfea540e8c6d4121b502bc" id="r_ab6b3661800dfea540e8c6d4121b502bc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1TimeoutCounter.html#ab6b3661800dfea540e8c6d4121b502bc">timeouts_</a></td></tr>
<tr class="separator:ab6b3661800dfea540e8c6d4121b502bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7136bc55557a72b6fe16984b9afd0ace" id="r_a7136bc55557a72b6fe16984b9afd0ace"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1TimeoutCounter.html#a7136bc55557a72b6fe16984b9afd0ace">complete_</a></td></tr>
<tr class="separator:a7136bc55557a72b6fe16984b9afd0ace"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8d27d1e5f6f3d5a6cb59545b2ee7433" id="r_ae8d27d1e5f6f3d5a6cb59545b2ee7433"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1TimeoutCounter.html#ae8d27d1e5f6f3d5a6cb59545b2ee7433">failed_</a></td></tr>
<tr class="separator:ae8d27d1e5f6f3d5a6cb59545b2ee7433"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e38caa16d926bbc77c92f67a69facfb" id="r_a2e38caa16d926bbc77c92f67a69facfb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1TimeoutCounter.html#a2e38caa16d926bbc77c92f67a69facfb">progress_</a></td></tr>
<tr class="memdesc:a2e38caa16d926bbc77c92f67a69facfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether forward progress has been made. <br /></td></tr>
<tr class="separator:a2e38caa16d926bbc77c92f67a69facfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cd3ab8d59bc971262ec26d715f8538a" id="r_a4cd3ab8d59bc971262ec26d715f8538a"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::milliseconds</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1TimeoutCounter.html#a4cd3ab8d59bc971262ec26d715f8538a">timerInterval_</a></td></tr>
<tr class="memdesc:a4cd3ab8d59bc971262ec26d715f8538a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The minimum time to wait between calls to execute(). <br /></td></tr>
<tr class="separator:a4cd3ab8d59bc971262ec26d715f8538a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57a50217ec6ad8fb6ff2af4496fe5ea8" id="r_a57a50217ec6ad8fb6ff2af4496fe5ea8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structripple_1_1TimeoutCounter_1_1QueueJobParameter.html">QueueJobParameter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1TimeoutCounter.html#a57a50217ec6ad8fb6ff2af4496fe5ea8">queueJobParameter_</a></td></tr>
<tr class="separator:a57a50217ec6ad8fb6ff2af4496fe5ea8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-methods" name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:a3e417a539a334133b056df64d06ddda0" id="r_a3e417a539a334133b056df64d06ddda0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1TimeoutCounter.html#a3e417a539a334133b056df64d06ddda0">invokeOnTimer</a> ()</td></tr>
<tr class="memdesc:a3e417a539a334133b056df64d06ddda0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calls <a class="el" href="classripple_1_1TimeoutCounter.html#a17c93d4a677d83e11650fbf5812379c8" title="Hook called from invokeOnTimer().">onTimer()</a> if in the right state. <br /></td></tr>
<tr class="separator:a3e417a539a334133b056df64d06ddda0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a9c57abb1684ecfa13a3c567b0406d416" id="r_a9c57abb1684ecfa13a3c567b0406d416"><td class="memItemLeft" align="right" valign="top">boost::asio::basic_waitable_timer&lt; <a class="elRef" href="http://en.cppreference.com/w/cpp/chrono/steady_clock.html">std::chrono::steady_clock</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1TimeoutCounter.html#a9c57abb1684ecfa13a3c567b0406d416">timer_</a></td></tr>
<tr class="separator:a9c57abb1684ecfa13a3c567b0406d416"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This class is an "active" object. </p>
<p>It maintains its own timer and dispatches work to a job queue. Implementations derive from this class and override the abstract hook functions in the base.</p>
<p>This class implements an asynchronous loop:</p>
<ol type="1">
<li>The entry point is <code>setTimer</code>.</li>
<li>After <code>mTimerInterval</code>, <code>queueJob</code> is called, which schedules a job to call <code>invokeOnTimer</code> (or loops back to setTimer if there are too many concurrent jobs).</li>
<li>The job queue calls <code>invokeOnTimer</code> which either breaks the loop if <code>isDone</code> or calls <code>onTimer</code>.</li>
<li><code>onTimer</code> is the only "real" virtual method in this class. It is the callback for when the timeout expires. Generally, its only responsibility is to set <code>mFailed = true</code>. However, if it wants to implement a policy of retries, then it has a chance to just increment a count of expired timeouts.</li>
<li>Once <code>onTimer</code> returns, if the object is still not <code>isDone</code>, then <code>invokeOnTimer</code> sets another timeout by looping back to setTimer.</li>
</ol>
<p>This loop executes concurrently with another asynchronous sequence, implemented by the subtype, that is trying to make progress and eventually set <code>mComplete = true</code>. While it is making progress but not complete, it should set <code>mProgress = true</code>, which is passed to onTimer so it can decide whether to postpone failure and reset the timeout. However, if it can complete all its work in one synchronous step (while it holds the lock), then it can ignore <code>mProgress</code>. </p>
<p class="definition">Definition at line <a class="el" href="TimeoutCounter_8h_source.html#l00068">68</a> of file <a class="el" href="TimeoutCounter_8h_source.html">TimeoutCounter.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="acc58d4a18742a417a8b290df4b58072d" name="acc58d4a18742a417a8b290df4b58072d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc58d4a18742a417a8b290df4b58072d">&#9670;&#160;</a></span>ScopedLockType</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classripple_1_1TimeoutCounter.html#acc58d4a18742a417a8b290df4b58072d">ripple::TimeoutCounter::ScopedLockType</a> = <a class="elRef" href="http://en.cppreference.com/w/cpp/thread/unique_lock.html">std::unique_lock</a>&lt;<a class="elRef" href="http://en.cppreference.com/w/cpp/thread/recursive_mutex.html">std::recursive_mutex</a>&gt;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="TimeoutCounter_8h_source.html#l00083">83</a> of file <a class="el" href="TimeoutCounter_8h_source.html">TimeoutCounter.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ac47f0c1cbaf98bbd44505dec517ce4f3" name="ac47f0c1cbaf98bbd44505dec517ce4f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac47f0c1cbaf98bbd44505dec517ce4f3">&#9670;&#160;</a></span>TimeoutCounter()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ripple::TimeoutCounter::TimeoutCounter </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1Application.html">Application</a> &amp;&#160;</td>
<td class="paramname"><em>app</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const &amp;&#160;</td>
<td class="paramname"><em>targetHash</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::milliseconds</a>&#160;</td>
<td class="paramname"><em>timeoutInterval</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structripple_1_1TimeoutCounter_1_1QueueJobParameter.html">QueueJobParameter</a> &amp;&amp;&#160;</td>
<td class="paramname"><em>jobParameter</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classbeast_1_1Journal.html">beast::Journal</a>&#160;</td>
<td class="paramname"><em>journal</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="TimeoutCounter_8cpp_source.html#l00027">27</a> of file <a class="el" href="TimeoutCounter_8cpp_source.html">TimeoutCounter.cpp</a>.</p>
</div>
</div>
<a id="a5237b8bd5776dd16d54d214c08e16328" name="a5237b8bd5776dd16d54d214c08e16328"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5237b8bd5776dd16d54d214c08e16328">&#9670;&#160;</a></span>~TimeoutCounter()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual ripple::TimeoutCounter::~TimeoutCounter </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ac9f8538b7f73ebcda116c33d5541d16d" name="ac9f8538b7f73ebcda116c33d5541d16d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac9f8538b7f73ebcda116c33d5541d16d">&#9670;&#160;</a></span>cancel()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::TimeoutCounter::cancel </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Cancel the task by marking it as failed if the task is not done. </p>
<dl class="section note"><dt>Note</dt><dd>this function does not attempt to cancel the scheduled timer or to remove the queued job if any. When the timer expires or the queued job starts, however, the code will see that the task is done and returns immediately, if it can lock the weak pointer of the task. </dd></dl>
<p class="definition">Definition at line <a class="el" href="TimeoutCounter_8cpp_source.html#l00118">118</a> of file <a class="el" href="TimeoutCounter_8cpp_source.html">TimeoutCounter.cpp</a>.</p>
</div>
</div>
<a id="a3a01b0664f4479588f93e805ee9aaced" name="a3a01b0664f4479588f93e805ee9aaced"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a01b0664f4479588f93e805ee9aaced">&#9670;&#160;</a></span>setTimer()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::TimeoutCounter::setTimer </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1TimeoutCounter.html#acc58d4a18742a417a8b290df4b58072d">ScopedLockType</a> &amp;&#160;</td>
<td class="paramname"><em>sl</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Schedule a call to <a class="el" href="classripple_1_1TimeoutCounter.html#a0679c129f5ffcdcf46b6b2ce6f31a553" title="Queue a job to call invokeOnTimer().">queueJob()</a> after mTimerInterval. </p>
<p class="definition">Definition at line <a class="el" href="TimeoutCounter_8cpp_source.html#l00050">50</a> of file <a class="el" href="TimeoutCounter_8cpp_source.html">TimeoutCounter.cpp</a>.</p>
</div>
</div>
<a id="a0679c129f5ffcdcf46b6b2ce6f31a553" name="a0679c129f5ffcdcf46b6b2ce6f31a553"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0679c129f5ffcdcf46b6b2ce6f31a553">&#9670;&#160;</a></span>queueJob()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::TimeoutCounter::queueJob </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1TimeoutCounter.html#acc58d4a18742a417a8b290df4b58072d">ScopedLockType</a> &amp;&#160;</td>
<td class="paramname"><em>sl</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Queue a job to call <a class="el" href="classripple_1_1TimeoutCounter.html#a3e417a539a334133b056df64d06ddda0" title="Calls onTimer() if in the right state.">invokeOnTimer()</a>. </p>
<p class="definition">Definition at line <a class="el" href="TimeoutCounter_8cpp_source.html#l00069">69</a> of file <a class="el" href="TimeoutCounter_8cpp_source.html">TimeoutCounter.cpp</a>.</p>
</div>
</div>
<a id="a17c93d4a677d83e11650fbf5812379c8" name="a17c93d4a677d83e11650fbf5812379c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a17c93d4a677d83e11650fbf5812379c8">&#9670;&#160;</a></span>onTimer()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void ripple::TimeoutCounter::onTimer </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>progress</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1TimeoutCounter.html#acc58d4a18742a417a8b290df4b58072d">ScopedLockType</a> &amp;&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Hook called from <a class="el" href="classripple_1_1TimeoutCounter.html#a3e417a539a334133b056df64d06ddda0" title="Calls onTimer() if in the right state.">invokeOnTimer()</a>. </p>
<p>Implemented in <a class="el" href="classripple_1_1LedgerDeltaAcquire.html#ab04a0083e02ede0c132e87e50ba72004">ripple::LedgerDeltaAcquire</a>, <a class="el" href="classripple_1_1SkipListAcquire.html#a665179db2689dc0e8c253448f62165c6">ripple::SkipListAcquire</a>, <a class="el" href="classripple_1_1TransactionAcquire.html#a3c478137ad5621d4290f242c6de834ba">ripple::TransactionAcquire</a>, <a class="el" href="classripple_1_1InboundLedger.html#abb06c0dd36a6e78848ce2bb0ff9258e7">ripple::InboundLedger</a>, and <a class="el" href="classripple_1_1LedgerReplayTask.html#af41de144ed347ad5857ce787d9f8c371">ripple::LedgerReplayTask</a>.</p>
</div>
</div>
<a id="aa5aeaf14b76435677f3f7481f5dae899" name="aa5aeaf14b76435677f3f7481f5dae899"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa5aeaf14b76435677f3f7481f5dae899">&#9670;&#160;</a></span>pmDowncast()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="elRef" href="http://en.cppreference.com/w/cpp/memory/weak_ptr.html">std::weak_ptr</a>&lt; <a class="el" href="classripple_1_1TimeoutCounter.html">TimeoutCounter</a> &gt; ripple::TimeoutCounter::pmDowncast </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Return a weak pointer to this. </p>
<p>Implemented in <a class="el" href="classripple_1_1LedgerDeltaAcquire.html#ac91d92a517554c6ae05ebc1e41c0c0c3">ripple::LedgerDeltaAcquire</a>, <a class="el" href="classripple_1_1SkipListAcquire.html#a62004ef0f3574cf66760178e3960e9be">ripple::SkipListAcquire</a>, <a class="el" href="classripple_1_1TransactionAcquire.html#a80ddba2237192e0e2f502b96de6f6fa7">ripple::TransactionAcquire</a>, <a class="el" href="classripple_1_1InboundLedger.html#adda7cad9a2e5a1d03d3c82061040c618">ripple::InboundLedger</a>, and <a class="el" href="classripple_1_1LedgerReplayTask.html#ab71e43bebbc6d0928b9e6c7b712ea3c5">ripple::LedgerReplayTask</a>.</p>
</div>
</div>
<a id="a28e1660d3e1964810a10e298cd2f5c94" name="a28e1660d3e1964810a10e298cd2f5c94"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a28e1660d3e1964810a10e298cd2f5c94">&#9670;&#160;</a></span>isDone()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ripple::TimeoutCounter::isDone </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="TimeoutCounter_8h_source.html#l00118">118</a> of file <a class="el" href="TimeoutCounter_8h_source.html">TimeoutCounter.h</a>.</p>
</div>
</div>
<a id="a3e417a539a334133b056df64d06ddda0" name="a3e417a539a334133b056df64d06ddda0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3e417a539a334133b056df64d06ddda0">&#9670;&#160;</a></span>invokeOnTimer()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::TimeoutCounter::invokeOnTimer </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Calls <a class="el" href="classripple_1_1TimeoutCounter.html#a17c93d4a677d83e11650fbf5812379c8" title="Hook called from invokeOnTimer().">onTimer()</a> if in the right state. </p>
<p>Only called by <a class="el" href="classripple_1_1TimeoutCounter.html#a0679c129f5ffcdcf46b6b2ce6f31a553" title="Queue a job to call invokeOnTimer().">queueJob()</a>. </p>
<p class="definition">Definition at line <a class="el" href="TimeoutCounter_8cpp_source.html#l00093">93</a> of file <a class="el" href="TimeoutCounter_8cpp_source.html">TimeoutCounter.cpp</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="ad9edbc193ee8a2d70897613e9debfdb7" name="ad9edbc193ee8a2d70897613e9debfdb7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad9edbc193ee8a2d70897613e9debfdb7">&#9670;&#160;</a></span>app_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classripple_1_1Application.html">Application</a>&amp; ripple::TimeoutCounter::app_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="TimeoutCounter_8h_source.html#l00125">125</a> of file <a class="el" href="TimeoutCounter_8h_source.html">TimeoutCounter.h</a>.</p>
</div>
</div>
<a id="a85b050512eadcc42934c1a03cba6ce79" name="a85b050512eadcc42934c1a03cba6ce79"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a85b050512eadcc42934c1a03cba6ce79">&#9670;&#160;</a></span>journal_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classbeast_1_1Journal.html">beast::Journal</a> ripple::TimeoutCounter::journal_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="TimeoutCounter_8h_source.html#l00126">126</a> of file <a class="el" href="TimeoutCounter_8h_source.html">TimeoutCounter.h</a>.</p>
</div>
</div>
<a id="ad13bccc1f788cec83fd1d81cb2e80743" name="ad13bccc1f788cec83fd1d81cb2e80743"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad13bccc1f788cec83fd1d81cb2e80743">&#9670;&#160;</a></span>mtx_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/thread/recursive_mutex.html">std::recursive_mutex</a> ripple::TimeoutCounter::mtx_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">mutable</span><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="TimeoutCounter_8h_source.html#l00127">127</a> of file <a class="el" href="TimeoutCounter_8h_source.html">TimeoutCounter.h</a>.</p>
</div>
</div>
<a id="a8f0d7c15dfbdda95cc8b01a1a5b9e722" name="a8f0d7c15dfbdda95cc8b01a1a5b9e722"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8f0d7c15dfbdda95cc8b01a1a5b9e722">&#9670;&#160;</a></span>hash_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const ripple::TimeoutCounter::hash_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The hash of the object (in practice, always a ledger) we are trying to fetch. </p>
<p class="definition">Definition at line <a class="el" href="TimeoutCounter_8h_source.html#l00131">131</a> of file <a class="el" href="TimeoutCounter_8h_source.html">TimeoutCounter.h</a>.</p>
</div>
</div>
<a id="ab6b3661800dfea540e8c6d4121b502bc" name="ab6b3661800dfea540e8c6d4121b502bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab6b3661800dfea540e8c6d4121b502bc">&#9670;&#160;</a></span>timeouts_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int ripple::TimeoutCounter::timeouts_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="TimeoutCounter_8h_source.html#l00132">132</a> of file <a class="el" href="TimeoutCounter_8h_source.html">TimeoutCounter.h</a>.</p>
</div>
</div>
<a id="a7136bc55557a72b6fe16984b9afd0ace" name="a7136bc55557a72b6fe16984b9afd0ace"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7136bc55557a72b6fe16984b9afd0ace">&#9670;&#160;</a></span>complete_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ripple::TimeoutCounter::complete_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="TimeoutCounter_8h_source.html#l00133">133</a> of file <a class="el" href="TimeoutCounter_8h_source.html">TimeoutCounter.h</a>.</p>
</div>
</div>
<a id="ae8d27d1e5f6f3d5a6cb59545b2ee7433" name="ae8d27d1e5f6f3d5a6cb59545b2ee7433"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae8d27d1e5f6f3d5a6cb59545b2ee7433">&#9670;&#160;</a></span>failed_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ripple::TimeoutCounter::failed_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="TimeoutCounter_8h_source.html#l00134">134</a> of file <a class="el" href="TimeoutCounter_8h_source.html">TimeoutCounter.h</a>.</p>
</div>
</div>
<a id="a2e38caa16d926bbc77c92f67a69facfb" name="a2e38caa16d926bbc77c92f67a69facfb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e38caa16d926bbc77c92f67a69facfb">&#9670;&#160;</a></span>progress_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ripple::TimeoutCounter::progress_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Whether forward progress has been made. </p>
<p class="definition">Definition at line <a class="el" href="TimeoutCounter_8h_source.html#l00136">136</a> of file <a class="el" href="TimeoutCounter_8h_source.html">TimeoutCounter.h</a>.</p>
</div>
</div>
<a id="a4cd3ab8d59bc971262ec26d715f8538a" name="a4cd3ab8d59bc971262ec26d715f8538a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4cd3ab8d59bc971262ec26d715f8538a">&#9670;&#160;</a></span>timerInterval_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::milliseconds</a> ripple::TimeoutCounter::timerInterval_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The minimum time to wait between calls to execute(). </p>
<p class="definition">Definition at line <a class="el" href="TimeoutCounter_8h_source.html#l00138">138</a> of file <a class="el" href="TimeoutCounter_8h_source.html">TimeoutCounter.h</a>.</p>
</div>
</div>
<a id="a57a50217ec6ad8fb6ff2af4496fe5ea8" name="a57a50217ec6ad8fb6ff2af4496fe5ea8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a57a50217ec6ad8fb6ff2af4496fe5ea8">&#9670;&#160;</a></span>queueJobParameter_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structripple_1_1TimeoutCounter_1_1QueueJobParameter.html">QueueJobParameter</a> ripple::TimeoutCounter::queueJobParameter_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="TimeoutCounter_8h_source.html#l00140">140</a> of file <a class="el" href="TimeoutCounter_8h_source.html">TimeoutCounter.h</a>.</p>
</div>
</div>
<a id="a9c57abb1684ecfa13a3c567b0406d416" name="a9c57abb1684ecfa13a3c567b0406d416"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c57abb1684ecfa13a3c567b0406d416">&#9670;&#160;</a></span>timer_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">boost::asio::basic_waitable_timer&lt;<a class="elRef" href="http://en.cppreference.com/w/cpp/chrono/steady_clock.html">std::chrono::steady_clock</a>&gt; ripple::TimeoutCounter::timer_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="TimeoutCounter_8h_source.html#l00149">149</a> of file <a class="el" href="TimeoutCounter_8h_source.html">TimeoutCounter.h</a>.</p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>