Files
rippled/classripple_1_1SkipListAcquire.html
2025-11-04 00:36:48 -08:00

1443 lines
87 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::SkipListAcquire 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_1SkipListAcquire.html">SkipListAcquire</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</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-static-methods">Static Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classripple_1_1SkipListAcquire-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">ripple::SkipListAcquire Class Reference<span class="mlabels"><span class="mlabel">final</span></span></div></div>
</div><!--header-->
<div class="contents">
<p>Manage the retrieval of a skip list in a ledger from the network.
<a href="classripple_1_1SkipListAcquire.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="SkipListAcquire_8h_source.html">SkipListAcquire.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ripple::SkipListAcquire:</div>
<div class="dyncontent">
<div class="center"><img src="classripple_1_1SkipListAcquire__inherit__graph.png" border="0" usemap="#aripple_1_1SkipListAcquire_inherit__map" alt="Inheritance graph"/></div>
<map name="aripple_1_1SkipListAcquire_inherit__map" id="aripple_1_1SkipListAcquire_inherit__map">
<area shape="rect" title="Manage the retrieval of a skip list in a ledger from the network." alt="" coords="275,63,441,88"/>
<area shape="rect" href="classripple_1_1TimeoutCounter.html" title="This class is an &quot;active&quot; object." alt="" coords="30,5,202,31"/>
<area shape="poly" title=" " alt="" coords="187,31,227,41,306,60,305,65,226,46,186,36"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/memory/enable_shared_from_this.html" title=" " alt="" coords="5,55,227,95"/>
<area shape="poly" title=" " alt="" coords="240,73,274,73,274,78,240,78"/>
<area shape="rect" href="classripple_1_1CountedObject.html" title=" " alt="" coords="35,119,197,159"/>
<area shape="poly" title=" " alt="" coords="205,113,308,86,310,91,206,118"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for ripple::SkipListAcquire:</div>
<div class="dyncontent">
<div class="center"><img src="classripple_1_1SkipListAcquire__coll__graph.png" border="0" usemap="#aripple_1_1SkipListAcquire_coll__map" alt="Collaboration graph"/></div>
<map name="aripple_1_1SkipListAcquire_coll__map" id="aripple_1_1SkipListAcquire_coll__map">
<area shape="rect" title="Manage the retrieval of a skip list in a ledger from the network." alt="" coords="1905,441,2072,466"/>
<area shape="rect" href="classripple_1_1TimeoutCounter.html" title="This class is an &quot;active&quot; object." alt="" coords="1515,211,1687,237"/>
<area shape="poly" title=" " alt="" coords="1702,235,1747,245,1794,260,1840,281,1883,307,1918,340,1947,377,1984,439,1979,442,1942,380,1914,343,1880,311,1838,285,1792,265,1745,250,1700,240"/>
<area shape="rect" href="classripple_1_1Application.html" title=" " alt="" coords="1183,187,1323,213"/>
<area shape="poly" title=" " alt="" coords="1337,203,1515,215,1515,221,1337,208"/>
<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="875,164,1043,204"/>
<area shape="poly" title=" " alt="" coords="1057,187,1183,194,1183,199,1057,192"/>
<area shape="poly" title=" " alt="" coords="933,148,942,140,959,137,974,139,984,145,988,154,987,164,982,163,983,155,980,149,972,144,959,143,944,145,936,152"/>
<area shape="rect" href="classbeast_1_1PropertyStream_1_1Item.html" title=" " alt="" coords="1169,73,1337,113"/>
<area shape="poly" title=" " alt="" coords="1029,157,1069,144,1179,111,1181,116,1070,149,1031,162"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/string/basic_string.html" title=" " alt="" coords="624,93,711,118"/>
<area shape="poly" title=" " alt="" coords="725,118,885,161,883,166,723,123"/>
<area shape="rect" href="structripple_1_1TimeoutCounter_1_1QueueJobParameter.html" title=" " alt="" coords="873,5,1045,45"/>
<area shape="poly" title=" " alt="" coords="723,88,885,43,886,48,724,93"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/string/basic_string.html" title=" " alt="" coords="309,85,447,125"/>
<area shape="poly" title=" " alt="" coords="461,103,624,103,624,108,461,108"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/thread/recursive_mutex.html" title=" " alt="" coords="588,274,747,299"/>
<area shape="poly" title=" " alt="" coords="761,287,1024,288,1184,283,1345,271,1433,256,1540,234,1541,239,1434,261,1346,276,1185,288,1024,294,760,292"/>
<area shape="poly" title=" " alt="" coords="717,267,901,202,902,207,719,272"/>
<area shape="poly" title=" " alt="" coords="1170,122,1163,127,1156,136,1152,145,1148,155,1139,164,1093,183,1044,190,1043,185,1091,177,1136,159,1144,152,1147,143,1151,133,1160,123,1167,118"/>
<area shape="rect" title=" " alt="" coords="886,70,1033,95"/>
<area shape="poly" title=" " alt="" coords="1046,83,1169,88,1169,93,1046,88"/>
<area shape="rect" href="classbeast_1_1List.html" title=" " alt="" coords="575,183,760,223"/>
<area shape="poly" title=" " alt="" coords="774,193,875,187,875,192,774,199"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/types/size_t.html" title=" " alt="" coords="334,303,422,329"/>
<area shape="poly" title=" " alt="" coords="424,296,614,220,616,225,426,301"/>
<area shape="rect" href="classripple_1_1base__uint.html" title="Integers of any length that is a multiple of 32&#45;bits." alt="" coords="597,380,738,420"/>
<area shape="poly" title=" " alt="" coords="436,330,598,377,597,383,435,335"/>
<area shape="rect" href="classbeast_1_1detail_1_1ListNode.html" title=" " alt="" coords="287,175,469,230"/>
<area shape="poly" title=" " alt="" coords="483,200,575,200,575,205,483,205"/>
<area shape="rect" href="classbeast_1_1detail_1_1ListNode.html" title=" " alt="" coords="5,183,173,223"/>
<area shape="poly" title=" " alt="" coords="187,200,287,200,287,205,187,205"/>
<area shape="poly" title=" " alt="" coords="63,166,72,159,89,156,104,158,114,164,118,173,116,183,111,182,113,174,110,168,102,163,89,161,75,164,67,171"/>
<area shape="rect" href="classbeast_1_1Journal.html" title="A generic endpoint for log messages." alt="" coords="1198,237,1309,262"/>
<area shape="poly" title=" " alt="" coords="1322,242,1466,232,1515,228,1515,234,1467,237,1322,248"/>
<area shape="rect" href="classbeast_1_1Journal_1_1Sink.html" title="Abstraction for the underlying message destination." alt="" coords="886,237,1033,262"/>
<area shape="poly" title=" " alt="" coords="1046,247,1198,247,1198,252,1046,252"/>
<area shape="poly" title=" " alt="" coords="751,385,1178,322,1376,290,1466,274,1472,268,1476,261,1481,253,1489,246,1514,234,1517,239,1492,250,1485,256,1481,264,1477,271,1468,278,1377,296,1179,327,752,391"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/container/vector.html" title=" " alt="" coords="888,388,1031,428"/>
<area shape="poly" title=" " alt="" coords="752,400,888,403,888,409,752,405"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/container/array.html" title=" " alt="" coords="294,503,462,543"/>
<area shape="poly" title=" " alt="" coords="438,495,618,418,620,423,440,500"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/types/integer.html" title=" " alt="" coords="38,510,141,535"/>
<area shape="poly" title=" " alt="" coords="120,541,166,572,229,606,301,633,339,641,377,644,1603,644,1684,644,1749,640,1809,624,1880,587,1914,559,1943,525,1979,465,1984,468,1947,528,1918,563,1883,592,1811,629,1750,646,1685,650,1603,649,377,649,338,646,299,638,226,611,164,577,117,546"/>
<area shape="poly" title=" " alt="" coords="155,520,294,520,294,525,155,525"/>
<area shape="rect" href="structripple_1_1SkipListAcquire_1_1SkipListData.html" title=" " alt="" coords="1170,388,1337,428"/>
<area shape="poly" title=" " alt="" coords="141,503,249,477,312,467,377,463,961,463,1021,459,1082,450,1187,425,1189,431,1083,456,1022,464,961,468,377,468,313,472,250,482,143,509"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/chrono/duration.html" title=" " alt="" coords="1161,138,1345,163"/>
<area shape="poly" title=" " alt="" coords="1346,163,1467,187,1555,209,1554,214,1466,192,1345,168"/>
<area shape="poly" title=" " alt="" coords="1059,19,1124,21,1197,27,1273,39,1346,59,1422,92,1491,135,1548,177,1587,209,1584,213,1545,181,1488,139,1419,97,1344,64,1272,44,1197,32,1124,26,1059,25"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/utility/optional.html" title=" " alt="" coords="598,5,737,45"/>
<area shape="poly" title=" " alt="" coords="751,23,873,23,873,28,751,28"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/memory/enable_shared_from_this.html" title=" " alt="" coords="1491,340,1712,380"/>
<area shape="poly" title=" " alt="" coords="1721,380,1882,417,1951,438,1949,443,1881,423,1720,385"/>
<area shape="rect" href="classripple_1_1CountedObject.html" title=" " alt="" coords="1520,404,1683,444"/>
<area shape="poly" title=" " alt="" coords="1697,427,1882,440,1905,442,1905,447,1881,445,1696,432"/>
<area shape="rect" href="classripple_1_1InboundLedgers.html" title="Manages the lifetime of inbound ledgers." alt="" coords="1516,469,1687,494"/>
<area shape="poly" title=" " alt="" coords="1701,472,1905,457,1905,462,1701,477"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html" title=" " alt="" coords="1516,519,1687,559"/>
<area shape="poly" title=" " alt="" coords="1700,524,1788,510,1881,489,1956,463,1958,469,1882,495,1789,515,1701,529"/>
<area shape="rect" href="classripple_1_1PeerSet.html" title="Supports data retrieval by managing a set of peers." alt="" coords="1195,526,1312,551"/>
<area shape="poly" title=" " alt="" coords="1326,536,1516,536,1516,541,1326,541"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/container/vector.html" title=" " alt="" coords="1500,583,1703,609"/>
<area shape="poly" title=" " alt="" coords="1716,584,1799,568,1841,555,1880,539,1909,522,1935,502,1974,465,1978,468,1938,506,1912,527,1883,544,1842,560,1800,573,1717,589"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/utility/functional/function.html" title=" " alt="" coords="1202,583,1305,609"/>
<area shape="poly" title=" " alt="" coords="1319,593,1500,593,1500,599,1319,599"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html" title=" " alt="" coords="1491,261,1711,315"/>
<area shape="poly" title=" " alt="" coords="1713,317,1797,346,1883,383,1932,411,1972,438,1969,443,1929,416,1880,388,1795,351,1711,322"/>
<area shape="poly" title=" " alt="" coords="1350,415,1410,407,1439,397,1465,382,1474,370,1477,356,1479,341,1489,326,1506,313,1509,318,1493,330,1484,343,1482,357,1479,372,1468,386,1441,402,1412,412,1351,420"/>
<area shape="poly" title=" " alt="" coords="1044,405,1170,405,1170,411,1044,411"/>
</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_1SkipListAcquire_1_1SkipListData.html">SkipListData</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-types" name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a3cc854033d5c399898997a16e222f916" id="r_a3cc854033d5c399898997a16e222f916"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SkipListAcquire.html#a3cc854033d5c399898997a16e222f916">OnSkipListDataCB</a> = <a class="elRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a>&lt; void(bool successful, <a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const &amp;hash)&gt;</td></tr>
<tr class="memdesc:a3cc854033d5c399898997a16e222f916"><td class="mdescLeft">&#160;</td><td class="mdescRight">A callback used to notify that the SkipList is ready or failed. <br /></td></tr>
<tr class="separator:a3cc854033d5c399898997a16e222f916"><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:a59f121a262ad5dcef0434e4507a2fa99" id="r_a59f121a262ad5dcef0434e4507a2fa99"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SkipListAcquire.html#a59f121a262ad5dcef0434e4507a2fa99">SkipListAcquire</a> (<a class="el" href="classripple_1_1Application.html">Application</a> &amp;app, <a class="el" href="classripple_1_1InboundLedgers.html">InboundLedgers</a> &amp;inboundLedgers, <a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const &amp;ledgerHash, <a class="elRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr</a>&lt; <a class="el" href="classripple_1_1PeerSet.html">PeerSet</a> &gt; peerSet)</td></tr>
<tr class="memdesc:a59f121a262ad5dcef0434e4507a2fa99"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
<tr class="separator:a59f121a262ad5dcef0434e4507a2fa99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae89c746b47c20ed0a36144ffa0cfbdae" id="r_ae89c746b47c20ed0a36144ffa0cfbdae"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SkipListAcquire.html#ae89c746b47c20ed0a36144ffa0cfbdae">~SkipListAcquire</a> () override</td></tr>
<tr class="separator:ae89c746b47c20ed0a36144ffa0cfbdae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07b11e154a7e3f29610fc23e62665488" id="r_a07b11e154a7e3f29610fc23e62665488"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SkipListAcquire.html#a07b11e154a7e3f29610fc23e62665488">init</a> (int numPeers)</td></tr>
<tr class="memdesc:a07b11e154a7e3f29610fc23e62665488"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start the <a class="el" href="classripple_1_1SkipListAcquire.html" title="Manage the retrieval of a skip list in a ledger from the network.">SkipListAcquire</a> task. <br /></td></tr>
<tr class="separator:a07b11e154a7e3f29610fc23e62665488"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ce62079d9f0b6ed450f5735f9e706a7" id="r_a9ce62079d9f0b6ed450f5735f9e706a7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SkipListAcquire.html#a9ce62079d9f0b6ed450f5735f9e706a7">processData</a> (<a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> ledgerSeq, boost::intrusive_ptr&lt; <a class="el" href="classripple_1_1SHAMapItem.html">SHAMapItem</a> const &gt; const &amp;item)</td></tr>
<tr class="memdesc:a9ce62079d9f0b6ed450f5735f9e706a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Process the data extracted from a peer's reply. <br /></td></tr>
<tr class="separator:a9ce62079d9f0b6ed450f5735f9e706a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f67eddc5690cc860abb3857f62e4d0c" id="r_a1f67eddc5690cc860abb3857f62e4d0c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SkipListAcquire.html#a1f67eddc5690cc860abb3857f62e4d0c">addDataCallback</a> (<a class="el" href="classripple_1_1SkipListAcquire.html#a3cc854033d5c399898997a16e222f916">OnSkipListDataCB</a> &amp;&amp;cb)</td></tr>
<tr class="memdesc:a1f67eddc5690cc860abb3857f62e4d0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a callback that will be called when the skipList is ready or failed. <br /></td></tr>
<tr class="separator:a1f67eddc5690cc860abb3857f62e4d0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46b5d4d900aebf1a1f339573ceb2773a" id="r_a46b5d4d900aebf1a1f339573ceb2773a"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="structripple_1_1SkipListAcquire_1_1SkipListData.html">SkipListData</a> const &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SkipListAcquire.html#a46b5d4d900aebf1a1f339573ceb2773a">getData</a> () const</td></tr>
<tr class="separator:a46b5d4d900aebf1a1f339573ceb2773a"><td class="memSeparator" colspan="2">&#160;</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>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" href="http://en.cppreference.com/w/cpp/memory/enable_shared_from_this/shared_from_this.html">shared_from_this</a> (T... args)</td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" href="http://en.cppreference.com/w/cpp/memory/enable_shared_from_this/weak_from_this.html">weak_from_this</a> (T... args)</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="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: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: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:a665179db2689dc0e8c253448f62165c6" id="r_a665179db2689dc0e8c253448f62165c6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SkipListAcquire.html#a665179db2689dc0e8c253448f62165c6">onTimer</a> (bool progress, <a class="el" href="classripple_1_1TimeoutCounter.html#acc58d4a18742a417a8b290df4b58072d">ScopedLockType</a> &amp;peerSetLock) override</td></tr>
<tr class="memdesc:a665179db2689dc0e8c253448f62165c6"><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:a665179db2689dc0e8c253448f62165c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62004ef0f3574cf66760178e3960e9be" id="r_a62004ef0f3574cf66760178e3960e9be"><td class="memItemLeft" align="right" valign="top"><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_1SkipListAcquire.html#a62004ef0f3574cf66760178e3960e9be">pmDowncast</a> () override</td></tr>
<tr class="memdesc:a62004ef0f3574cf66760178e3960e9be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a weak pointer to this. <br /></td></tr>
<tr class="separator:a62004ef0f3574cf66760178e3960e9be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81a1aecc007102c565ae95363abdfd7a" id="r_a81a1aecc007102c565ae95363abdfd7a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SkipListAcquire.html#a81a1aecc007102c565ae95363abdfd7a">trigger</a> (<a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> limit, <a class="el" href="classripple_1_1TimeoutCounter.html#acc58d4a18742a417a8b290df4b58072d">ScopedLockType</a> &amp;sl)</td></tr>
<tr class="memdesc:a81a1aecc007102c565ae95363abdfd7a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trigger another round. <br /></td></tr>
<tr class="separator:a81a1aecc007102c565ae95363abdfd7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74a17b2059151e8452f68a1fefce5a31" id="r_a74a17b2059151e8452f68a1fefce5a31"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SkipListAcquire.html#a74a17b2059151e8452f68a1fefce5a31">retrieveSkipList</a> (<a class="elRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="classripple_1_1Ledger.html">Ledger</a> const &gt; const &amp;ledger, <a class="el" href="classripple_1_1TimeoutCounter.html#acc58d4a18742a417a8b290df4b58072d">ScopedLockType</a> &amp;sl)</td></tr>
<tr class="memdesc:a74a17b2059151e8452f68a1fefce5a31"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the skip list from the ledger. <br /></td></tr>
<tr class="separator:a74a17b2059151e8452f68a1fefce5a31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0abcf2f392ef9c6d4f9b404a09f9375" id="r_aa0abcf2f392ef9c6d4f9b404a09f9375"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SkipListAcquire.html#aa0abcf2f392ef9c6d4f9b404a09f9375">onSkipListAcquired</a> (<a class="elRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> &gt; const &amp;skipList, <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> ledgerSeq, <a class="el" href="classripple_1_1TimeoutCounter.html#acc58d4a18742a417a8b290df4b58072d">ScopedLockType</a> &amp;sl)</td></tr>
<tr class="memdesc:aa0abcf2f392ef9c6d4f9b404a09f9375"><td class="mdescLeft">&#160;</td><td class="mdescRight">Process the skip list. <br /></td></tr>
<tr class="separator:aa0abcf2f392ef9c6d4f9b404a09f9375"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fe2371527f7122342f043691ff2cdff" id="r_a6fe2371527f7122342f043691ff2cdff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SkipListAcquire.html#a6fe2371527f7122342f043691ff2cdff">notify</a> (<a class="el" href="classripple_1_1TimeoutCounter.html#acc58d4a18742a417a8b290df4b58072d">ScopedLockType</a> &amp;sl)</td></tr>
<tr class="memdesc:a6fe2371527f7122342f043691ff2cdff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Call the OnSkipListDataCB callbacks. <br /></td></tr>
<tr class="separator:a6fe2371527f7122342f043691ff2cdff"><td class="memSeparator" colspan="2">&#160;</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-static-methods" name="pri-static-methods"></a>
Static Private Member Functions</h2></td></tr>
<tr class="memitem:ae60d6cae0e97e9f17c93945feca09fb5" id="r_ae60d6cae0e97e9f17c93945feca09fb5"><td class="memItemLeft" align="right" valign="top">static auto &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1CountedObject.html#ae60d6cae0e97e9f17c93945feca09fb5">getCounter</a> () noexcept</td></tr>
<tr class="separator:ae60d6cae0e97e9f17c93945feca09fb5"><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:a438880c6a2d018cb59f6225eeeeca267" id="r_a438880c6a2d018cb59f6225eeeeca267"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1InboundLedgers.html">InboundLedgers</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SkipListAcquire.html#a438880c6a2d018cb59f6225eeeeca267">inboundLedgers_</a></td></tr>
<tr class="separator:a438880c6a2d018cb59f6225eeeeca267"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3674f8f47cc8dc71e6fd7d08ebd5543" id="r_ac3674f8f47cc8dc71e6fd7d08ebd5543"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr</a>&lt; <a class="el" href="classripple_1_1PeerSet.html">PeerSet</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SkipListAcquire.html#ac3674f8f47cc8dc71e6fd7d08ebd5543">peerSet_</a></td></tr>
<tr class="separator:ac3674f8f47cc8dc71e6fd7d08ebd5543"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcbd0aca7554bb3220e6cda24735bbcf" id="r_abcbd0aca7554bb3220e6cda24735bbcf"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="el" href="classripple_1_1SkipListAcquire.html#a3cc854033d5c399898997a16e222f916">OnSkipListDataCB</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SkipListAcquire.html#abcbd0aca7554bb3220e6cda24735bbcf">dataReadyCallbacks_</a></td></tr>
<tr class="separator:abcbd0aca7554bb3220e6cda24735bbcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a852f3487183f6836ef5e1f667dd68d65" id="r_a852f3487183f6836ef5e1f667dd68d65"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="structripple_1_1SkipListAcquire_1_1SkipListData.html">SkipListData</a> const &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SkipListAcquire.html#a852f3487183f6836ef5e1f667dd68d65">data_</a></td></tr>
<tr class="separator:a852f3487183f6836ef5e1f667dd68d65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af229867c7a063f7d7a18f1b48419e87f" id="r_af229867c7a063f7d7a18f1b48419e87f"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SkipListAcquire.html#af229867c7a063f7d7a18f1b48419e87f">noFeaturePeerCount_</a> = 0</td></tr>
<tr class="separator:af229867c7a063f7d7a18f1b48419e87f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f632638f92111a092deb4d1cca0eccc" id="r_a7f632638f92111a092deb4d1cca0eccc"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SkipListAcquire.html#a7f632638f92111a092deb4d1cca0eccc">fallBack_</a> = false</td></tr>
<tr class="separator:a7f632638f92111a092deb4d1cca0eccc"><td class="memSeparator" colspan="2">&#160;</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><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="friends" name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a4156475fb02014076bb365159cbd1810" id="r_a4156475fb02014076bb365159cbd1810"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1SkipListAcquire.html#a4156475fb02014076bb365159cbd1810">test::LedgerReplayClient</a></td></tr>
<tr class="separator:a4156475fb02014076bb365159cbd1810"><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>Manage the retrieval of a skip list in a ledger from the network. </p>
<p>Before asking peers, always check if the local node has the ledger. </p>
<p class="definition">Definition at line <a class="el" href="SkipListAcquire_8h_source.html#l00022">22</a> of file <a class="el" href="SkipListAcquire_8h_source.html">SkipListAcquire.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a3cc854033d5c399898997a16e222f916" name="a3cc854033d5c399898997a16e222f916"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3cc854033d5c399898997a16e222f916">&#9670;&#160;</a></span>OnSkipListDataCB</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classripple_1_1SkipListAcquire.html#a3cc854033d5c399898997a16e222f916">ripple::SkipListAcquire::OnSkipListDataCB</a> = <a class="elRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a>&lt;void(bool successful, <a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const&amp; hash)&gt;</td>
</tr>
</table>
</div><div class="memdoc">
<p>A callback used to notify that the SkipList is ready or failed. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">successful</td><td>if the skipList data was acquired successfully </td></tr>
<tr><td class="paramname">hash</td><td>hash of the ledger that has the skipList </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="SkipListAcquire_8h_source.html#l00033">33</a> of file <a class="el" href="SkipListAcquire_8h_source.html">SkipListAcquire.h</a>.</p>
</div>
</div>
<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 class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="TimeoutCounter_8h_source.html#l00064">64</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="a59f121a262ad5dcef0434e4507a2fa99" name="a59f121a262ad5dcef0434e4507a2fa99"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a59f121a262ad5dcef0434e4507a2fa99">&#9670;&#160;</a></span>SkipListAcquire()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ripple::SkipListAcquire::SkipListAcquire </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="classripple_1_1InboundLedgers.html">InboundLedgers</a> &amp;&#160;</td>
<td class="paramname"><em>inboundLedgers</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>ledgerHash</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr</a>&lt; <a class="el" href="classripple_1_1PeerSet.html">PeerSet</a> &gt;&#160;</td>
<td class="paramname"><em>peerSet</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">app</td><td><a class="el" href="classripple_1_1Application.html">Application</a> reference </td></tr>
<tr><td class="paramname">inboundLedgers</td><td><a class="el" href="classripple_1_1InboundLedgers.html" title="Manages the lifetime of inbound ledgers.">InboundLedgers</a> reference </td></tr>
<tr><td class="paramname">ledgerHash</td><td>hash of the ledger that has the skip list </td></tr>
<tr><td class="paramname">peerSet</td><td>manage a set of peers that we will ask for the skip list </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="SkipListAcquire_8cpp_source.html#l00009">9</a> of file <a class="el" href="SkipListAcquire_8cpp_source.html">SkipListAcquire.cpp</a>.</p>
</div>
</div>
<a id="ae89c746b47c20ed0a36144ffa0cfbdae" name="ae89c746b47c20ed0a36144ffa0cfbdae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae89c746b47c20ed0a36144ffa0cfbdae">&#9670;&#160;</a></span>~SkipListAcquire()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ripple::SkipListAcquire::~SkipListAcquire </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="SkipListAcquire_8cpp_source.html#l00028">28</a> of file <a class="el" href="SkipListAcquire_8cpp_source.html">SkipListAcquire.cpp</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a07b11e154a7e3f29610fc23e62665488" name="a07b11e154a7e3f29610fc23e62665488"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a07b11e154a7e3f29610fc23e62665488">&#9670;&#160;</a></span>init()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ripple::SkipListAcquire::init </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>numPeers</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Start the <a class="el" href="classripple_1_1SkipListAcquire.html" title="Manage the retrieval of a skip list in a ledger from the network.">SkipListAcquire</a> task. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">numPeers</td><td>number of peers to try initially </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="SkipListAcquire_8cpp_source.html#l00034">34</a> of file <a class="el" href="SkipListAcquire_8cpp_source.html">SkipListAcquire.cpp</a>.</p>
</div>
</div>
<a id="a9ce62079d9f0b6ed450f5735f9e706a7" name="a9ce62079d9f0b6ed450f5735f9e706a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9ce62079d9f0b6ed450f5735f9e706a7">&#9670;&#160;</a></span>processData()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ripple::SkipListAcquire::processData </td>
<td>(</td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a>&#160;</td>
<td class="paramname"><em>ledgerSeq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">boost::intrusive_ptr&lt; <a class="el" href="classripple_1_1SHAMapItem.html">SHAMapItem</a> const &gt; const &amp;&#160;</td>
<td class="paramname"><em>item</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Process the data extracted from a peer's reply. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ledgerSeq</td><td>sequence number of the ledger that has the skip list </td></tr>
<tr><td class="paramname">item</td><td>holder of the skip list </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>ledgerSeq and item must have been verified against the ledger hash </dd></dl>
<p class="definition">Definition at line <a class="el" href="SkipListAcquire_8cpp_source.html#l00118">118</a> of file <a class="el" href="SkipListAcquire_8cpp_source.html">SkipListAcquire.cpp</a>.</p>
</div>
</div>
<a id="a1f67eddc5690cc860abb3857f62e4d0c" name="a1f67eddc5690cc860abb3857f62e4d0c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1f67eddc5690cc860abb3857f62e4d0c">&#9670;&#160;</a></span>addDataCallback()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ripple::SkipListAcquire::addDataCallback </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1SkipListAcquire.html#a3cc854033d5c399898997a16e222f916">OnSkipListDataCB</a> &amp;&amp;&#160;</td>
<td class="paramname"><em>cb</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a callback that will be called when the skipList is ready or failed. </p>
<dl class="section note"><dt>Note</dt><dd>the callback will be called once and only once unless this object is destructed before the call. </dd></dl>
<p class="definition">Definition at line <a class="el" href="SkipListAcquire_8cpp_source.html#l00153">153</a> of file <a class="el" href="SkipListAcquire_8cpp_source.html">SkipListAcquire.cpp</a>.</p>
</div>
</div>
<a id="a46b5d4d900aebf1a1f339573ceb2773a" name="a46b5d4d900aebf1a1f339573ceb2773a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a46b5d4d900aebf1a1f339573ceb2773a">&#9670;&#160;</a></span>getData()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="structripple_1_1SkipListAcquire_1_1SkipListData.html">SkipListAcquire::SkipListData</a> const &gt; ripple::SkipListAcquire::getData </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="SkipListAcquire_8cpp_source.html#l00166">166</a> of file <a class="el" href="SkipListAcquire_8cpp_source.html">SkipListAcquire.cpp</a>.</p>
</div>
</div>
<a id="a665179db2689dc0e8c253448f62165c6" name="a665179db2689dc0e8c253448f62165c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a665179db2689dc0e8c253448f62165c6">&#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">void ripple::SkipListAcquire::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">override</span><span class="mlabel">private</span><span class="mlabel">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>Implements <a class="el" href="classripple_1_1TimeoutCounter.html#a17c93d4a677d83e11650fbf5812379c8">ripple::TimeoutCounter</a>.</p>
<p class="definition">Definition at line <a class="el" href="SkipListAcquire_8cpp_source.html#l00096">96</a> of file <a class="el" href="SkipListAcquire_8cpp_source.html">SkipListAcquire.cpp</a>.</p>
</div>
</div>
<a id="a62004ef0f3574cf66760178e3960e9be" name="a62004ef0f3574cf66760178e3960e9be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a62004ef0f3574cf66760178e3960e9be">&#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"><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::SkipListAcquire::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">override</span><span class="mlabel">private</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Return a weak pointer to this. </p>
<p>Implements <a class="el" href="classripple_1_1TimeoutCounter.html#aa5aeaf14b76435677f3f7481f5dae899">ripple::TimeoutCounter</a>.</p>
<p class="definition">Definition at line <a class="el" href="SkipListAcquire_8cpp_source.html#l00112">112</a> of file <a class="el" href="SkipListAcquire_8cpp_source.html">SkipListAcquire.cpp</a>.</p>
</div>
</div>
<a id="a81a1aecc007102c565ae95363abdfd7a" name="a81a1aecc007102c565ae95363abdfd7a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a81a1aecc007102c565ae95363abdfd7a">&#9670;&#160;</a></span>trigger()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::SkipListAcquire::trigger </td>
<td>(</td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a>&#160;</td>
<td class="paramname"><em>limit</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"><em>sl</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">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Trigger another round. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">limit</td><td>number of new peers to send the request </td></tr>
<tr><td class="paramname">sl</td><td>lock. this function must be called with the lock </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="SkipListAcquire_8cpp_source.html#l00045">45</a> of file <a class="el" href="SkipListAcquire_8cpp_source.html">SkipListAcquire.cpp</a>.</p>
</div>
</div>
<a id="a74a17b2059151e8452f68a1fefce5a31" name="a74a17b2059151e8452f68a1fefce5a31"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a74a17b2059151e8452f68a1fefce5a31">&#9670;&#160;</a></span>retrieveSkipList()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::SkipListAcquire::retrieveSkipList </td>
<td>(</td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="classripple_1_1Ledger.html">Ledger</a> const &gt; const &amp;&#160;</td>
<td class="paramname"><em>ledger</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"><em>sl</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">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Retrieve the skip list from the ledger. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ledger</td><td>the ledger that has the skip list </td></tr>
<tr><td class="paramname">sl</td><td>lock. this function must be called with the lock </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="SkipListAcquire_8cpp_source.html#l00173">173</a> of file <a class="el" href="SkipListAcquire_8cpp_source.html">SkipListAcquire.cpp</a>.</p>
</div>
</div>
<a id="aa0abcf2f392ef9c6d4f9b404a09f9375" name="aa0abcf2f392ef9c6d4f9b404a09f9375"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0abcf2f392ef9c6d4f9b404a09f9375">&#9670;&#160;</a></span>onSkipListAcquired()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::SkipListAcquire::onSkipListAcquired </td>
<td>(</td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> &gt; const &amp;&#160;</td>
<td class="paramname"><em>skipList</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a>&#160;</td>
<td class="paramname"><em>ledgerSeq</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"><em>sl</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">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Process the skip list. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">skipList</td><td>skip list </td></tr>
<tr><td class="paramname">ledgerSeq</td><td>sequence number of the ledger that has the skip list </td></tr>
<tr><td class="paramname">sl</td><td>lock. this function must be called with the lock </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="SkipListAcquire_8cpp_source.html#l00195">195</a> of file <a class="el" href="SkipListAcquire_8cpp_source.html">SkipListAcquire.cpp</a>.</p>
</div>
</div>
<a id="a6fe2371527f7122342f043691ff2cdff" name="a6fe2371527f7122342f043691ff2cdff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6fe2371527f7122342f043691ff2cdff">&#9670;&#160;</a></span>notify()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::SkipListAcquire::notify </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">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Call the OnSkipListDataCB callbacks. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">sl</td><td>lock. this function must be called with the lock </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="SkipListAcquire_8cpp_source.html#l00207">207</a> of file <a class="el" href="SkipListAcquire_8cpp_source.html">SkipListAcquire.cpp</a>.</p>
</div>
</div>
<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 class="mlabel">inherited</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#l00099">99</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 class="mlabel">inherited</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#l00031">31</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 class="mlabel">inherited</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#l00050">50</a> of file <a class="el" href="TimeoutCounter_8cpp_source.html">TimeoutCounter.cpp</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 class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="TimeoutCounter_8h_source.html#l00099">99</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 class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Calls <a class="el" href="classripple_1_1SkipListAcquire.html#a665179db2689dc0e8c253448f62165c6" 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#l00074">74</a> of file <a class="el" href="TimeoutCounter_8cpp_source.html">TimeoutCounter.cpp</a>.</p>
</div>
</div>
<a id="ae60d6cae0e97e9f17c93945feca09fb5" name="ae60d6cae0e97e9f17c93945feca09fb5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae60d6cae0e97e9f17c93945feca09fb5">&#9670;&#160;</a></span>getCounter()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static auto &amp; <a class="el" href="classripple_1_1CountedObject.html">ripple::CountedObject</a>&lt; <a class="el" href="classripple_1_1SkipListAcquire.html">SkipListAcquire</a> &gt;::getCounter </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="CountedObject_8h_source.html#l00110">110</a> of file <a class="el" href="CountedObject_8h_source.html">CountedObject.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Friends And Related Symbol Documentation</h2>
<a id="a4156475fb02014076bb365159cbd1810" name="a4156475fb02014076bb365159cbd1810"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4156475fb02014076bb365159cbd1810">&#9670;&#160;</a></span>test::LedgerReplayClient</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="classripple_1_1test_1_1LedgerReplayClient.html">test::LedgerReplayClient</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="SkipListAcquire_8h_source.html#l00144">144</a> of file <a class="el" href="SkipListAcquire_8h_source.html">SkipListAcquire.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a438880c6a2d018cb59f6225eeeeca267" name="a438880c6a2d018cb59f6225eeeeca267"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a438880c6a2d018cb59f6225eeeeca267">&#9670;&#160;</a></span>inboundLedgers_</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_1InboundLedgers.html">InboundLedgers</a>&amp; ripple::SkipListAcquire::inboundLedgers_</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="SkipListAcquire_8h_source.html#l00137">137</a> of file <a class="el" href="SkipListAcquire_8h_source.html">SkipListAcquire.h</a>.</p>
</div>
</div>
<a id="ac3674f8f47cc8dc71e6fd7d08ebd5543" name="ac3674f8f47cc8dc71e6fd7d08ebd5543"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac3674f8f47cc8dc71e6fd7d08ebd5543">&#9670;&#160;</a></span>peerSet_</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/memory/unique_ptr.html">std::unique_ptr</a>&lt;<a class="el" href="classripple_1_1PeerSet.html">PeerSet</a>&gt; ripple::SkipListAcquire::peerSet_</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="SkipListAcquire_8h_source.html#l00138">138</a> of file <a class="el" href="SkipListAcquire_8h_source.html">SkipListAcquire.h</a>.</p>
</div>
</div>
<a id="abcbd0aca7554bb3220e6cda24735bbcf" name="abcbd0aca7554bb3220e6cda24735bbcf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abcbd0aca7554bb3220e6cda24735bbcf">&#9670;&#160;</a></span>dataReadyCallbacks_</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/container/vector.html">std::vector</a>&lt;<a class="el" href="classripple_1_1SkipListAcquire.html#a3cc854033d5c399898997a16e222f916">OnSkipListDataCB</a>&gt; ripple::SkipListAcquire::dataReadyCallbacks_</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="SkipListAcquire_8h_source.html#l00139">139</a> of file <a class="el" href="SkipListAcquire_8h_source.html">SkipListAcquire.h</a>.</p>
</div>
</div>
<a id="a852f3487183f6836ef5e1f667dd68d65" name="a852f3487183f6836ef5e1f667dd68d65"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a852f3487183f6836ef5e1f667dd68d65">&#9670;&#160;</a></span>data_</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/memory/shared_ptr.html">std::shared_ptr</a>&lt;<a class="el" href="structripple_1_1SkipListAcquire_1_1SkipListData.html">SkipListData</a> const&gt; ripple::SkipListAcquire::data_</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="SkipListAcquire_8h_source.html#l00140">140</a> of file <a class="el" href="SkipListAcquire_8h_source.html">SkipListAcquire.h</a>.</p>
</div>
</div>
<a id="af229867c7a063f7d7a18f1b48419e87f" name="af229867c7a063f7d7a18f1b48419e87f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af229867c7a063f7d7a18f1b48419e87f">&#9670;&#160;</a></span>noFeaturePeerCount_</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/types/integer.html">std::uint32_t</a> ripple::SkipListAcquire::noFeaturePeerCount_ = 0</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="SkipListAcquire_8h_source.html#l00141">141</a> of file <a class="el" href="SkipListAcquire_8h_source.html">SkipListAcquire.h</a>.</p>
</div>
</div>
<a id="a7f632638f92111a092deb4d1cca0eccc" name="a7f632638f92111a092deb4d1cca0eccc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f632638f92111a092deb4d1cca0eccc">&#9670;&#160;</a></span>fallBack_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ripple::SkipListAcquire::fallBack_ = false</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="SkipListAcquire_8h_source.html#l00142">142</a> of file <a class="el" href="SkipListAcquire_8h_source.html">SkipListAcquire.h</a>.</p>
</div>
</div>
<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 class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="TimeoutCounter_8h_source.html#l00106">106</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 class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="TimeoutCounter_8h_source.html#l00107">107</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 class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="TimeoutCounter_8h_source.html#l00108">108</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 class="mlabel">inherited</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#l00112">112</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 class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="TimeoutCounter_8h_source.html#l00113">113</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 class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="TimeoutCounter_8h_source.html#l00114">114</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 class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="TimeoutCounter_8h_source.html#l00115">115</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 class="mlabel">inherited</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#l00117">117</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 class="mlabel">inherited</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#l00119">119</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 class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="TimeoutCounter_8h_source.html#l00121">121</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 class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="TimeoutCounter_8h_source.html#l00130">130</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>