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

1891 lines
111 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::NodeStore::DatabaseRotatingImp 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="namespaceripple_1_1NodeStore.html">NodeStore</a></li><li class="navelem"><a class="el" href="classripple_1_1NodeStore_1_1DatabaseRotatingImp.html">DatabaseRotatingImp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</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_1NodeStore_1_1DatabaseRotatingImp-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">ripple::NodeStore::DatabaseRotatingImp Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="DatabaseRotatingImp_8h_source.html">DatabaseRotatingImp.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ripple::NodeStore::DatabaseRotatingImp:</div>
<div class="dyncontent">
<div class="center"><img src="classripple_1_1NodeStore_1_1DatabaseRotatingImp__inherit__graph.png" border="0" usemap="#aripple_1_1NodeStore_1_1DatabaseRotatingImp_inherit__map" alt="Inheritance graph"/></div>
<map name="aripple_1_1NodeStore_1_1DatabaseRotatingImp_inherit__map" id="aripple_1_1NodeStore_1_1DatabaseRotatingImp_inherit__map">
<area shape="rect" title=" " alt="" coords="5,181,169,221"/>
<area shape="rect" href="classripple_1_1NodeStore_1_1DatabaseRotating.html" title=" " alt="" coords="16,93,159,133"/>
<area shape="poly" title=" " alt="" coords="90,147,90,181,85,181,85,147"/>
<area shape="rect" href="classripple_1_1NodeStore_1_1Database.html" title="Persistency layer for NodeObject." alt="" coords="16,5,159,45"/>
<area shape="poly" title=" " alt="" coords="90,59,90,93,85,93,85,59"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for ripple::NodeStore::DatabaseRotatingImp:</div>
<div class="dyncontent">
<div class="center"><img src="classripple_1_1NodeStore_1_1DatabaseRotatingImp__coll__graph.png" border="0" usemap="#aripple_1_1NodeStore_1_1DatabaseRotatingImp_coll__map" alt="Collaboration graph"/></div>
<map name="aripple_1_1NodeStore_1_1DatabaseRotatingImp_coll__map" id="aripple_1_1NodeStore_1_1DatabaseRotatingImp_coll__map">
<area shape="rect" title=" " alt="" coords="1927,600,2091,640"/>
<area shape="rect" href="classripple_1_1NodeStore_1_1DatabaseRotating.html" title=" " alt="" coords="1603,429,1746,469"/>
<area shape="poly" title=" " alt="" coords="1729,474,1969,597,1967,602,1726,478"/>
<area shape="rect" href="classripple_1_1NodeStore_1_1Database.html" title="Persistency layer for NodeObject." alt="" coords="1343,315,1485,355"/>
<area shape="poly" title=" " alt="" coords="1475,358,1629,427,1627,432,1472,363"/>
<area shape="rect" href="classbeast_1_1Journal.html" title="A generic endpoint for log messages." alt="" coords="1003,82,1114,107"/>
<area shape="poly" title=" " alt="" coords="1128,85,1174,85,1224,91,1275,105,1320,130,1342,149,1360,172,1387,224,1404,274,1412,314,1407,315,1399,276,1382,226,1356,175,1338,153,1317,134,1273,110,1223,96,1173,91,1128,90"/>
<area shape="rect" href="classbeast_1_1Journal_1_1Sink.html" title="Abstraction for the underlying message destination." alt="" coords="644,82,791,107"/>
<area shape="poly" title=" " alt="" coords="804,92,1003,92,1003,97,804,97"/>
<area shape="rect" href="classripple_1_1NodeStore_1_1Scheduler.html" title="Scheduling for asynchronous backend activity." alt="" coords="987,132,1130,172"/>
<area shape="poly" title=" " alt="" coords="1144,145,1187,147,1232,154,1278,168,1320,188,1352,216,1377,250,1396,285,1408,313,1403,316,1391,287,1373,253,1348,220,1317,193,1276,173,1231,160,1186,153,1143,150"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/atomic/atomic.html" title=" " alt="" coords="413,254,620,279"/>
<area shape="poly" title=" " alt="" coords="634,263,884,268,1031,275,1178,288,1264,301,1343,316,1342,321,1263,306,1177,293,1031,281,884,273,634,268"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/types/integer.html" title=" " alt="" coords="5,249,108,274"/>
<area shape="poly" title=" " alt="" coords="111,243,132,239,290,219,425,207,544,201,655,203,766,210,885,222,1178,260,1249,266,1281,271,1320,281,1353,296,1383,312,1380,317,1351,300,1318,287,1279,276,1249,272,1177,265,884,227,765,215,654,208,544,207,425,212,290,224,132,244,112,248"/>
<area shape="poly" title=" " alt="" coords="122,259,413,263,413,268,122,265"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/container/array.html" title=" " alt="" coords="221,299,389,339"/>
<area shape="poly" title=" " alt="" coords="87,280,109,293,133,303,177,313,221,317,221,323,176,318,131,308,107,297,84,284"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/atomic/atomic.html" title=" " alt="" coords="955,426,1162,451"/>
<area shape="poly" title=" " alt="" coords="1176,445,1248,440,1283,432,1318,420,1341,407,1363,389,1396,353,1400,357,1367,393,1344,411,1320,425,1285,437,1248,445,1176,451"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/types/integer.html" title=" " alt="" coords="666,426,769,451"/>
<area shape="poly" title=" " alt="" coords="783,436,955,436,955,441,783,441"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/thread/mutex.html" title=" " alt="" coords="1013,590,1105,615"/>
<area shape="poly" title=" " alt="" coords="1119,601,1927,616,1926,621,1118,606"/>
<area shape="poly" title=" " alt="" coords="1118,600,1232,592,1283,583,1317,568,1341,546,1360,519,1375,490,1387,459,1402,400,1409,354,1414,355,1407,401,1392,461,1380,492,1364,522,1345,549,1320,573,1285,588,1232,597,1118,605"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/thread/condition_variable.html" title=" " alt="" coords="973,475,1144,501"/>
<area shape="poly" title=" " alt="" coords="1158,496,1198,496,1239,491,1280,481,1317,464,1347,441,1371,411,1402,354,1407,356,1376,414,1351,445,1320,469,1281,486,1240,496,1198,501,1158,502"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/container/map.html" title=" " alt="" coords="940,303,1177,401"/>
<area shape="poly" title=" " alt="" coords="1191,343,1342,335,1343,341,1191,348"/>
<area shape="rect" href="classripple_1_1base__uint.html" title="Integers of any length that is a multiple of 32&#45;bits." alt="" coords="647,332,788,372"/>
<area shape="poly" title=" " alt="" coords="802,349,940,349,940,355,802,355"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/types/size_t.html" title=" " alt="" coords="261,366,349,391"/>
<area shape="poly" title=" " alt="" coords="363,380,482,383,551,381,620,375,648,369,649,375,620,380,551,386,482,388,363,385"/>
<area shape="poly" title=" " alt="" coords="403,324,646,344,646,349,403,329"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/atomic/atomic.html" title=" " alt="" coords="982,525,1135,550"/>
<area shape="poly" title=" " alt="" coords="1149,548,1191,549,1235,545,1278,534,1317,515,1337,499,1354,480,1380,435,1397,391,1406,354,1412,356,1402,392,1385,438,1358,483,1341,503,1320,520,1280,539,1236,550,1191,554,1149,554"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/atomic/atomic.html" title=" " alt="" coords="987,33,1130,58"/>
<area shape="poly" title=" " alt="" coords="1143,31,1187,31,1234,36,1280,49,1320,73,1347,99,1368,129,1384,163,1396,198,1410,264,1415,314,1409,315,1405,265,1391,199,1379,165,1363,132,1343,102,1317,77,1277,54,1233,41,1187,36,1143,36"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html" title=" " alt="" coords="1587,657,1763,697"/>
<area shape="poly" title=" " alt="" coords="1777,679,1839,676,1902,665,1938,653,1972,638,1974,642,1940,658,1903,671,1840,681,1777,684"/>
<area shape="rect" href="classripple_1_1NodeStore_1_1Backend.html" title="A backend used for the NodeStore." alt="" coords="1343,657,1485,697"/>
<area shape="poly" title=" " alt="" coords="1499,675,1587,675,1587,680,1499,680"/>
</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="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ac82d8cd599ee29280d5cf6796ff01332" id="r_ac82d8cd599ee29280d5cf6796ff01332"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1DatabaseRotatingImp.html#ac82d8cd599ee29280d5cf6796ff01332">DatabaseRotatingImp</a> ()=delete</td></tr>
<tr class="separator:ac82d8cd599ee29280d5cf6796ff01332"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3dafec245a95213c84d92fe81505c1c3" id="r_a3dafec245a95213c84d92fe81505c1c3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1DatabaseRotatingImp.html#a3dafec245a95213c84d92fe81505c1c3">DatabaseRotatingImp</a> (<a class="el" href="classripple_1_1NodeStore_1_1DatabaseRotatingImp.html">DatabaseRotatingImp</a> const &amp;)=delete</td></tr>
<tr class="separator:a3dafec245a95213c84d92fe81505c1c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3200f5fa0b358ebf202bbe2573032ea" id="r_ad3200f5fa0b358ebf202bbe2573032ea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1NodeStore_1_1DatabaseRotatingImp.html">DatabaseRotatingImp</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1DatabaseRotatingImp.html#ad3200f5fa0b358ebf202bbe2573032ea">operator=</a> (<a class="el" href="classripple_1_1NodeStore_1_1DatabaseRotatingImp.html">DatabaseRotatingImp</a> const &amp;)=delete</td></tr>
<tr class="separator:ad3200f5fa0b358ebf202bbe2573032ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17970302957e7fb4316da06d6058c5c4" id="r_a17970302957e7fb4316da06d6058c5c4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1DatabaseRotatingImp.html#a17970302957e7fb4316da06d6058c5c4">DatabaseRotatingImp</a> (<a class="el" href="classripple_1_1NodeStore_1_1Scheduler.html">Scheduler</a> &amp;scheduler, int readThreads, <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_1NodeStore_1_1Backend.html">Backend</a> &gt; writableBackend, <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_1NodeStore_1_1Backend.html">Backend</a> &gt; archiveBackend, <a class="el" href="classripple_1_1Section.html">Section</a> const &amp;config, <a class="el" href="classbeast_1_1Journal.html">beast::Journal</a> j)</td></tr>
<tr class="separator:a17970302957e7fb4316da06d6058c5c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a918c33e966477d04dbf3d901d8508c4f" id="r_a918c33e966477d04dbf3d901d8508c4f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1DatabaseRotatingImp.html#a918c33e966477d04dbf3d901d8508c4f">~DatabaseRotatingImp</a> ()</td></tr>
<tr class="separator:a918c33e966477d04dbf3d901d8508c4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf7791e3f58c2ae49fec9bc76f42b12c" id="r_acf7791e3f58c2ae49fec9bc76f42b12c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1DatabaseRotatingImp.html#acf7791e3f58c2ae49fec9bc76f42b12c">rotate</a> (<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_1NodeStore_1_1Backend.html">NodeStore::Backend</a> &gt; &amp;&amp;newBackend, <a class="elRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a>&lt; void(<a class="elRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> const &amp;writableName, <a class="elRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> const &amp;archiveName)&gt; const &amp;f) override</td></tr>
<tr class="memdesc:acf7791e3f58c2ae49fec9bc76f42b12c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rotates the backends. <br /></td></tr>
<tr class="separator:acf7791e3f58c2ae49fec9bc76f42b12c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c3f2d7e8b7e4cca14afe2177c1466b3" id="r_a9c3f2d7e8b7e4cca14afe2177c1466b3"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1DatabaseRotatingImp.html#a9c3f2d7e8b7e4cca14afe2177c1466b3">getName</a> () const override</td></tr>
<tr class="memdesc:a9c3f2d7e8b7e4cca14afe2177c1466b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the name associated with this backend. <br /></td></tr>
<tr class="separator:a9c3f2d7e8b7e4cca14afe2177c1466b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b006f7535475fd276bc30b77a1b4673" id="r_a3b006f7535475fd276bc30b77a1b4673"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1DatabaseRotatingImp.html#a3b006f7535475fd276bc30b77a1b4673">getWriteLoad</a> () const override</td></tr>
<tr class="memdesc:a3b006f7535475fd276bc30b77a1b4673"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the estimated number of pending write operations. <br /></td></tr>
<tr class="separator:a3b006f7535475fd276bc30b77a1b4673"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8210f362baae4b4b3f6f1bff9b808317" id="r_a8210f362baae4b4b3f6f1bff9b808317"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1DatabaseRotatingImp.html#a8210f362baae4b4b3f6f1bff9b808317">importDatabase</a> (<a class="el" href="classripple_1_1NodeStore_1_1Database.html">Database</a> &amp;source) override</td></tr>
<tr class="memdesc:a8210f362baae4b4b3f6f1bff9b808317"><td class="mdescLeft">&#160;</td><td class="mdescRight">Import objects from another database. <br /></td></tr>
<tr class="separator:a8210f362baae4b4b3f6f1bff9b808317"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8dfef2dee29968270119971f4d60f94" id="r_ac8dfef2dee29968270119971f4d60f94"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1DatabaseRotatingImp.html#ac8dfef2dee29968270119971f4d60f94">isSameDB</a> (<a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a>, <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a>) override</td></tr>
<tr class="separator:ac8dfef2dee29968270119971f4d60f94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7992d0dd009c5b855c331c73872c946d" id="r_a7992d0dd009c5b855c331c73872c946d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1DatabaseRotatingImp.html#a7992d0dd009c5b855c331c73872c946d">store</a> (<a class="el" href="namespaceripple.html#a57d7e7b27df7e719fdf5569f96be60a3">NodeObjectType</a> type, <a class="el" href="namespaceripple.html#ab1f2184bb5938b5508798cd47a561a21">Blob</a> &amp;&amp;data, <a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const &amp;hash, <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a>) override</td></tr>
<tr class="memdesc:a7992d0dd009c5b855c331c73872c946d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store the object. <br /></td></tr>
<tr class="separator:a7992d0dd009c5b855c331c73872c946d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61a400a9f8a8403d64c70b8d089c5be0" id="r_a61a400a9f8a8403d64c70b8d089c5be0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1DatabaseRotatingImp.html#a61a400a9f8a8403d64c70b8d089c5be0">sync</a> () override</td></tr>
<tr class="separator:a61a400a9f8a8403d64c70b8d089c5be0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa67b13515a70659f536b6d1cfeb1c2a2" id="r_aa67b13515a70659f536b6d1cfeb1c2a2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1DatabaseRotatingImp.html#aa67b13515a70659f536b6d1cfeb1c2a2">sweep</a> () override</td></tr>
<tr class="memdesc:aa67b13515a70659f536b6d1cfeb1c2a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove expired entries from the positive and negative caches. <br /></td></tr>
<tr class="separator:aa67b13515a70659f536b6d1cfeb1c2a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a780601a4dce8d688490a24a61f8cea9e" id="r_a780601a4dce8d688490a24a61f8cea9e"><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="classripple_1_1NodeObject.html">NodeObject</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Database.html#a780601a4dce8d688490a24a61f8cea9e">fetchNodeObject</a> (<a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const &amp;hash, <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> ledgerSeq=0, <a class="el" href="namespaceripple_1_1NodeStore.html#a6334ed426a8dbe335761b9d81ab6f19f">FetchType</a> fetchType=<a class="el" href="namespaceripple_1_1NodeStore.html#a6334ed426a8dbe335761b9d81ab6f19fa1303c4f41a88e739bc859612321b189f">FetchType::synchronous</a>, bool duplicate=false)</td></tr>
<tr class="memdesc:a780601a4dce8d688490a24a61f8cea9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fetch a node object. <br /></td></tr>
<tr class="separator:a780601a4dce8d688490a24a61f8cea9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d21a918d521d82947868d21e1aafadb" id="r_a0d21a918d521d82947868d21e1aafadb"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Database.html#a0d21a918d521d82947868d21e1aafadb">asyncFetch</a> (<a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const &amp;hash, <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> ledgerSeq, <a class="elRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a>&lt; void(<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_1NodeObject.html">NodeObject</a> &gt; const &amp;)&gt; &amp;&amp;callback)</td></tr>
<tr class="memdesc:a0d21a918d521d82947868d21e1aafadb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fetch an object without waiting. <br /></td></tr>
<tr class="separator:a0d21a918d521d82947868d21e1aafadb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ccd565f5a4a5296c049a2a0886f363f" id="r_a4ccd565f5a4a5296c049a2a0886f363f"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Database.html#a4ccd565f5a4a5296c049a2a0886f363f">getStoreCount</a> () const</td></tr>
<tr class="memdesc:a4ccd565f5a4a5296c049a2a0886f363f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gather statistics pertaining to read and write activities. <br /></td></tr>
<tr class="separator:a4ccd565f5a4a5296c049a2a0886f363f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af32a551caa69e8108bdd9a9d74dd774e" id="r_af32a551caa69e8108bdd9a9d74dd774e"><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_1NodeStore_1_1Database.html#af32a551caa69e8108bdd9a9d74dd774e">getFetchTotalCount</a> () const</td></tr>
<tr class="separator:af32a551caa69e8108bdd9a9d74dd774e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad28a451b16bc693364a1074c0f767f1f" id="r_ad28a451b16bc693364a1074c0f767f1f"><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_1NodeStore_1_1Database.html#ad28a451b16bc693364a1074c0f767f1f">getFetchHitCount</a> () const</td></tr>
<tr class="separator:ad28a451b16bc693364a1074c0f767f1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f2ed25135bf1d2aa487a2b2dc5c85cd" id="r_a0f2ed25135bf1d2aa487a2b2dc5c85cd"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Database.html#a0f2ed25135bf1d2aa487a2b2dc5c85cd">getStoreSize</a> () const</td></tr>
<tr class="separator:a0f2ed25135bf1d2aa487a2b2dc5c85cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ebb38ac8562f6b1673a9f3b8216efce" id="r_a8ebb38ac8562f6b1673a9f3b8216efce"><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_1NodeStore_1_1Database.html#a8ebb38ac8562f6b1673a9f3b8216efce">getFetchSize</a> () const</td></tr>
<tr class="separator:a8ebb38ac8562f6b1673a9f3b8216efce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a023779f42976b9c22da655bf9fd4f4a5" id="r_a023779f42976b9c22da655bf9fd4f4a5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Database.html#a023779f42976b9c22da655bf9fd4f4a5">getCountsJson</a> (<a class="el" href="classJson_1_1Value.html">Json::Value</a> &amp;obj)</td></tr>
<tr class="separator:a023779f42976b9c22da655bf9fd4f4a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef142866cf7ca2a96d17efc55f8dcc19" id="r_aef142866cf7ca2a96d17efc55f8dcc19"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Database.html#aef142866cf7ca2a96d17efc55f8dcc19">fdRequired</a> () const</td></tr>
<tr class="memdesc:aef142866cf7ca2a96d17efc55f8dcc19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of file descriptors the database expects to need. <br /></td></tr>
<tr class="separator:aef142866cf7ca2a96d17efc55f8dcc19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:affd86ea8d57875e1c9722fdf6a8f6326" id="r_affd86ea8d57875e1c9722fdf6a8f6326"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Database.html#affd86ea8d57875e1c9722fdf6a8f6326">stop</a> ()</td></tr>
<tr class="separator:affd86ea8d57875e1c9722fdf6a8f6326"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bb055f14d1d28163e931ed73d94a1e1" id="r_a6bb055f14d1d28163e931ed73d94a1e1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Database.html#a6bb055f14d1d28163e931ed73d94a1e1">isStopping</a> () const</td></tr>
<tr class="separator:a6bb055f14d1d28163e931ed73d94a1e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae10c8f2c5e0676a704bd28486b7640af" id="r_ae10c8f2c5e0676a704bd28486b7640af"><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_1NodeStore_1_1Database.html#ae10c8f2c5e0676a704bd28486b7640af">earliestLedgerSeq</a> () const noexcept</td></tr>
<tr class="separator:ae10c8f2c5e0676a704bd28486b7640af"><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:a090e39b8c6733b0dc4553f9e8e705605" id="r_a090e39b8c6733b0dc4553f9e8e705605"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Database.html#a090e39b8c6733b0dc4553f9e8e705605">storeStats</a> (<a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint64_t</a> count, <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint64_t</a> sz)</td></tr>
<tr class="separator:a090e39b8c6733b0dc4553f9e8e705605"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af885d9fe877259a258481f0df20697cd" id="r_af885d9fe877259a258481f0df20697cd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Database.html#af885d9fe877259a258481f0df20697cd">importInternal</a> (<a class="el" href="classripple_1_1NodeStore_1_1Backend.html">Backend</a> &amp;dstBackend, <a class="el" href="classripple_1_1NodeStore_1_1Database.html">Database</a> &amp;srcDB)</td></tr>
<tr class="separator:af885d9fe877259a258481f0df20697cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdcb3e7fdaeae1252f850c0e2a4646c2" id="r_abdcb3e7fdaeae1252f850c0e2a4646c2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Database.html#abdcb3e7fdaeae1252f850c0e2a4646c2">updateFetchMetrics</a> (uint64_t fetches, uint64_t hits, uint64_t duration)</td></tr>
<tr class="separator:abdcb3e7fdaeae1252f850c0e2a4646c2"><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:a91e5dd4e1a48a23cb5f698c0794a044e" id="r_a91e5dd4e1a48a23cb5f698c0794a044e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbeast_1_1Journal.html">beast::Journal</a> const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Database.html#a91e5dd4e1a48a23cb5f698c0794a044e">j_</a></td></tr>
<tr class="separator:a91e5dd4e1a48a23cb5f698c0794a044e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e5bc58351ded4683d7207383794a484" id="r_a0e5bc58351ded4683d7207383794a484"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1NodeStore_1_1Scheduler.html">Scheduler</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Database.html#a0e5bc58351ded4683d7207383794a484">scheduler_</a></td></tr>
<tr class="separator:a0e5bc58351ded4683d7207383794a484"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a730a87cf8b617a8afb30e2531ede0f81" id="r_a730a87cf8b617a8afb30e2531ede0f81"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Database.html#a730a87cf8b617a8afb30e2531ede0f81">fdRequired_</a> {0}</td></tr>
<tr class="separator:a730a87cf8b617a8afb30e2531ede0f81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89497b9b4c5530b58040931489015d30" id="r_a89497b9b4c5530b58040931489015d30"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/atomic/atomic.html">std::atomic</a>&lt; <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Database.html#a89497b9b4c5530b58040931489015d30">fetchHitCount_</a> {0}</td></tr>
<tr class="separator:a89497b9b4c5530b58040931489015d30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04150d23aa2acaf016d4ca40bd10804a" id="r_a04150d23aa2acaf016d4ca40bd10804a"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/atomic/atomic.html">std::atomic</a>&lt; <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Database.html#a04150d23aa2acaf016d4ca40bd10804a">fetchSz_</a> {0}</td></tr>
<tr class="separator:a04150d23aa2acaf016d4ca40bd10804a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e3a4884a1b719e96e282c6c3b601fdc" id="r_a4e3a4884a1b719e96e282c6c3b601fdc"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Database.html#a4e3a4884a1b719e96e282c6c3b601fdc">earliestLedgerSeq_</a></td></tr>
<tr class="separator:a4e3a4884a1b719e96e282c6c3b601fdc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb01b75cff1136cfe603223a69236254" id="r_afb01b75cff1136cfe603223a69236254"><td class="memItemLeft" align="right" valign="top">int const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Database.html#afb01b75cff1136cfe603223a69236254">requestBundle_</a></td></tr>
<tr class="separator:afb01b75cff1136cfe603223a69236254"><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:a7415a182938d791526ebda24e72c17f1" id="r_a7415a182938d791526ebda24e72c17f1"><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="classripple_1_1NodeObject.html">NodeObject</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1DatabaseRotatingImp.html#a7415a182938d791526ebda24e72c17f1">fetchNodeObject</a> (<a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const &amp;hash, <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a>, <a class="el" href="structripple_1_1NodeStore_1_1FetchReport.html">FetchReport</a> &amp;fetchReport, bool duplicate) override</td></tr>
<tr class="separator:a7415a182938d791526ebda24e72c17f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee99c67c55042890a37368f5d17620d4" id="r_aee99c67c55042890a37368f5d17620d4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1DatabaseRotatingImp.html#aee99c67c55042890a37368f5d17620d4">for_each</a> (<a class="elRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a>&lt; void(<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_1NodeObject.html">NodeObject</a> &gt;)&gt; f) override</td></tr>
<tr class="memdesc:aee99c67c55042890a37368f5d17620d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Visit every object in the database This is usually called during import. <br /></td></tr>
<tr class="separator:aee99c67c55042890a37368f5d17620d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c4180512ff87a967de8091a019dc9f9" id="r_a7c4180512ff87a967de8091a019dc9f9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Database.html#a7c4180512ff87a967de8091a019dc9f9">threadEntry</a> ()</td></tr>
<tr class="separator:a7c4180512ff87a967de8091a019dc9f9"><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:acaa8e51a8678905a0b2d831154cc91b5" id="r_acaa8e51a8678905a0b2d831154cc91b5"><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="classripple_1_1NodeStore_1_1Backend.html">Backend</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1DatabaseRotatingImp.html#acaa8e51a8678905a0b2d831154cc91b5">writableBackend_</a></td></tr>
<tr class="separator:acaa8e51a8678905a0b2d831154cc91b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44b1eace70e02649d16668ca920531cb" id="r_a44b1eace70e02649d16668ca920531cb"><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="classripple_1_1NodeStore_1_1Backend.html">Backend</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1DatabaseRotatingImp.html#a44b1eace70e02649d16668ca920531cb">archiveBackend_</a></td></tr>
<tr class="separator:a44b1eace70e02649d16668ca920531cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d803c36c8aea67c83f735814de25717" id="r_a4d803c36c8aea67c83f735814de25717"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/thread/mutex.html">std::mutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1DatabaseRotatingImp.html#a4d803c36c8aea67c83f735814de25717">mutex_</a></td></tr>
<tr class="separator:a4d803c36c8aea67c83f735814de25717"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4dc1dcc2a79b60c2c7de7f1bdf05cecf" id="r_a4dc1dcc2a79b60c2c7de7f1bdf05cecf"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/atomic/atomic.html">std::atomic</a>&lt; <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint64_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Database.html#a4dc1dcc2a79b60c2c7de7f1bdf05cecf">storeCount_</a> {0}</td></tr>
<tr class="separator:a4dc1dcc2a79b60c2c7de7f1bdf05cecf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5dbc9808c511caeaaa7ce5c6b27276e6" id="r_a5dbc9808c511caeaaa7ce5c6b27276e6"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/atomic/atomic.html">std::atomic</a>&lt; <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint64_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Database.html#a5dbc9808c511caeaaa7ce5c6b27276e6">storeSz_</a> {0}</td></tr>
<tr class="separator:a5dbc9808c511caeaaa7ce5c6b27276e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3332d74cac6eb882c2908e14655d3a0" id="r_af3332d74cac6eb882c2908e14655d3a0"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/atomic/atomic.html">std::atomic</a>&lt; <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint64_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Database.html#af3332d74cac6eb882c2908e14655d3a0">fetchTotalCount_</a> {0}</td></tr>
<tr class="separator:af3332d74cac6eb882c2908e14655d3a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4ecdf417aaa8e5d4c88601244fe90d7" id="r_ab4ecdf417aaa8e5d4c88601244fe90d7"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/atomic/atomic.html">std::atomic</a>&lt; <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint64_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Database.html#ab4ecdf417aaa8e5d4c88601244fe90d7">fetchDurationUs_</a> {0}</td></tr>
<tr class="separator:ab4ecdf417aaa8e5d4c88601244fe90d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83e7506a1b302966445210ebe56c3905" id="r_a83e7506a1b302966445210ebe56c3905"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/atomic/atomic.html">std::atomic</a>&lt; <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint64_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Database.html#a83e7506a1b302966445210ebe56c3905">storeDurationUs_</a> {0}</td></tr>
<tr class="separator:a83e7506a1b302966445210ebe56c3905"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06fbf66d1f34a6162a17daf72e71eba9" id="r_a06fbf66d1f34a6162a17daf72e71eba9"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/thread/mutex.html">std::mutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Database.html#a06fbf66d1f34a6162a17daf72e71eba9">readLock_</a></td></tr>
<tr class="separator:a06fbf66d1f34a6162a17daf72e71eba9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a438af3c0eba7891bb79d5c5dcb902556" id="r_a438af3c0eba7891bb79d5c5dcb902556"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/thread/condition_variable.html">std::condition_variable</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Database.html#a438af3c0eba7891bb79d5c5dcb902556">readCondVar_</a></td></tr>
<tr class="separator:a438af3c0eba7891bb79d5c5dcb902556"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59cd26efed86926842662b223d20359d" id="r_a59cd26efed86926842662b223d20359d"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/container/map.html">std::map</a>&lt; <a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a>, <a class="elRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>&lt; <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a>, <a class="elRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a>&lt; void(<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_1NodeObject.html">NodeObject</a> &gt; const &amp;)&gt; &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Database.html#a59cd26efed86926842662b223d20359d">read_</a></td></tr>
<tr class="separator:a59cd26efed86926842662b223d20359d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7cb4eee79861b6a496fe6ddcd024a5f8" id="r_a7cb4eee79861b6a496fe6ddcd024a5f8"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/atomic/atomic.html">std::atomic</a>&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Database.html#a7cb4eee79861b6a496fe6ddcd024a5f8">readStopping_</a> = false</td></tr>
<tr class="separator:a7cb4eee79861b6a496fe6ddcd024a5f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5fd85ba304bf9fd6e5afd7f06025180" id="r_af5fd85ba304bf9fd6e5afd7f06025180"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/atomic/atomic.html">std::atomic</a>&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Database.html#af5fd85ba304bf9fd6e5afd7f06025180">readThreads_</a> = 0</td></tr>
<tr class="separator:af5fd85ba304bf9fd6e5afd7f06025180"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9f741a64dae54f4b30f31fb68565283" id="r_ad9f741a64dae54f4b30f31fb68565283"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/atomic/atomic.html">std::atomic</a>&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Database.html#ad9f741a64dae54f4b30f31fb68565283">runningThreads_</a> = 0</td></tr>
<tr class="separator:ad9f741a64dae54f4b30f31fb68565283"><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 class="definition">Definition at line <a class="el" href="DatabaseRotatingImp_8h_source.html#l00011">11</a> of file <a class="el" href="DatabaseRotatingImp_8h_source.html">DatabaseRotatingImp.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ac82d8cd599ee29280d5cf6796ff01332" name="ac82d8cd599ee29280d5cf6796ff01332"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac82d8cd599ee29280d5cf6796ff01332">&#9670;&#160;</a></span>DatabaseRotatingImp() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ripple::NodeStore::DatabaseRotatingImp::DatabaseRotatingImp </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a3dafec245a95213c84d92fe81505c1c3" name="a3dafec245a95213c84d92fe81505c1c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3dafec245a95213c84d92fe81505c1c3">&#9670;&#160;</a></span>DatabaseRotatingImp() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ripple::NodeStore::DatabaseRotatingImp::DatabaseRotatingImp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1NodeStore_1_1DatabaseRotatingImp.html">DatabaseRotatingImp</a> const &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a17970302957e7fb4316da06d6058c5c4" name="a17970302957e7fb4316da06d6058c5c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a17970302957e7fb4316da06d6058c5c4">&#9670;&#160;</a></span>DatabaseRotatingImp() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ripple::NodeStore::DatabaseRotatingImp::DatabaseRotatingImp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1NodeStore_1_1Scheduler.html">Scheduler</a> &amp;&#160;</td>
<td class="paramname"><em>scheduler</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>readThreads</em>, </td>
</tr>
<tr>
<td class="paramkey"></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_1NodeStore_1_1Backend.html">Backend</a> &gt;&#160;</td>
<td class="paramname"><em>writableBackend</em>, </td>
</tr>
<tr>
<td class="paramkey"></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_1NodeStore_1_1Backend.html">Backend</a> &gt;&#160;</td>
<td class="paramname"><em>archiveBackend</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1Section.html">Section</a> const &amp;&#160;</td>
<td class="paramname"><em>config</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>j</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="DatabaseRotatingImp_8cpp_source.html#l00006">6</a> of file <a class="el" href="DatabaseRotatingImp_8cpp_source.html">DatabaseRotatingImp.cpp</a>.</p>
</div>
</div>
<a id="a918c33e966477d04dbf3d901d8508c4f" name="a918c33e966477d04dbf3d901d8508c4f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a918c33e966477d04dbf3d901d8508c4f">&#9670;&#160;</a></span>~DatabaseRotatingImp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ripple::NodeStore::DatabaseRotatingImp::~DatabaseRotatingImp </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="DatabaseRotatingImp_8h_source.html#l00027">27</a> of file <a class="el" href="DatabaseRotatingImp_8h_source.html">DatabaseRotatingImp.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ad3200f5fa0b358ebf202bbe2573032ea" name="ad3200f5fa0b358ebf202bbe2573032ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad3200f5fa0b358ebf202bbe2573032ea">&#9670;&#160;</a></span>operator=()</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_1NodeStore_1_1DatabaseRotatingImp.html">DatabaseRotatingImp</a> &amp; ripple::NodeStore::DatabaseRotatingImp::operator= </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1NodeStore_1_1DatabaseRotatingImp.html">DatabaseRotatingImp</a> const &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="acf7791e3f58c2ae49fec9bc76f42b12c" name="acf7791e3f58c2ae49fec9bc76f42b12c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf7791e3f58c2ae49fec9bc76f42b12c">&#9670;&#160;</a></span>rotate()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::NodeStore::DatabaseRotatingImp::rotate </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_1NodeStore_1_1Backend.html">NodeStore::Backend</a> &gt; &amp;&amp;&#160;</td>
<td class="paramname"><em>newBackend</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a>&lt; void(<a class="elRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> const &amp;writableName, <a class="elRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> const &amp;archiveName)&gt; const &amp;&#160;</td>
<td class="paramname"><em>f</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">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Rotates the backends. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">newBackend</td><td>New writable backend </td></tr>
<tr><td class="paramname">f</td><td>A function executed after the rotation outside of lock. The values passed to f will be the new backend database names <em>after</em> rotation. </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classripple_1_1NodeStore_1_1DatabaseRotating.html#a6f01b2e1b8281065d791c149c912bb38">ripple::NodeStore::DatabaseRotating</a>.</p>
<p class="definition">Definition at line <a class="el" href="DatabaseRotatingImp_8cpp_source.html#l00024">24</a> of file <a class="el" href="DatabaseRotatingImp_8cpp_source.html">DatabaseRotatingImp.cpp</a>.</p>
</div>
</div>
<a id="a9c3f2d7e8b7e4cca14afe2177c1466b3" name="a9c3f2d7e8b7e4cca14afe2177c1466b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c3f2d7e8b7e4cca14afe2177c1466b3">&#9670;&#160;</a></span>getName()</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/string/basic_string.html">std::string</a> ripple::NodeStore::DatabaseRotatingImp::getName </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">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Retrieve the name associated with this backend. </p>
<p>This is used for diagnostics and may not reflect the actual path or paths used by the underlying backend. </p>
<p>Implements <a class="el" href="classripple_1_1NodeStore_1_1Database.html#a24f47bc48e8d040c662611674898fe2e">ripple::NodeStore::Database</a>.</p>
<p class="definition">Definition at line <a class="el" href="DatabaseRotatingImp_8cpp_source.html#l00053">53</a> of file <a class="el" href="DatabaseRotatingImp_8cpp_source.html">DatabaseRotatingImp.cpp</a>.</p>
</div>
</div>
<a id="a3b006f7535475fd276bc30b77a1b4673" name="a3b006f7535475fd276bc30b77a1b4673"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3b006f7535475fd276bc30b77a1b4673">&#9670;&#160;</a></span>getWriteLoad()</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::int32_t</a> ripple::NodeStore::DatabaseRotatingImp::getWriteLoad </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">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Retrieve the estimated number of pending write operations. </p>
<p>This is used for diagnostics. </p>
<p>Implements <a class="el" href="classripple_1_1NodeStore_1_1Database.html#aada6493667fd17dd426f6545bf4cac93">ripple::NodeStore::Database</a>.</p>
<p class="definition">Definition at line <a class="el" href="DatabaseRotatingImp_8cpp_source.html#l00060">60</a> of file <a class="el" href="DatabaseRotatingImp_8cpp_source.html">DatabaseRotatingImp.cpp</a>.</p>
</div>
</div>
<a id="a8210f362baae4b4b3f6f1bff9b808317" name="a8210f362baae4b4b3f6f1bff9b808317"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8210f362baae4b4b3f6f1bff9b808317">&#9670;&#160;</a></span>importDatabase()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::NodeStore::DatabaseRotatingImp::importDatabase </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1NodeStore_1_1Database.html">Database</a> &amp;&#160;</td>
<td class="paramname"><em>source</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Import objects from another database. </p>
<p>Implements <a class="el" href="classripple_1_1NodeStore_1_1Database.html#a6fd8c555e59355e643a40aaad4d83be6">ripple::NodeStore::Database</a>.</p>
<p class="definition">Definition at line <a class="el" href="DatabaseRotatingImp_8cpp_source.html#l00067">67</a> of file <a class="el" href="DatabaseRotatingImp_8cpp_source.html">DatabaseRotatingImp.cpp</a>.</p>
</div>
</div>
<a id="ac8dfef2dee29968270119971f4d60f94" name="ac8dfef2dee29968270119971f4d60f94"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac8dfef2dee29968270119971f4d60f94">&#9670;&#160;</a></span>isSameDB()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ripple::NodeStore::DatabaseRotatingImp::isSameDB </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">, </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">&#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">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implements <a class="el" href="classripple_1_1NodeStore_1_1Database.html#ae3e615caca1a493f80515d137b315fa8">ripple::NodeStore::Database</a>.</p>
<p class="definition">Definition at line <a class="el" href="DatabaseRotatingImp_8h_source.html#l00049">49</a> of file <a class="el" href="DatabaseRotatingImp_8h_source.html">DatabaseRotatingImp.h</a>.</p>
</div>
</div>
<a id="a7992d0dd009c5b855c331c73872c946d" name="a7992d0dd009c5b855c331c73872c946d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7992d0dd009c5b855c331c73872c946d">&#9670;&#160;</a></span>store()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::NodeStore::DatabaseRotatingImp::store </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespaceripple.html#a57d7e7b27df7e719fdf5569f96be60a3">NodeObjectType</a>&#160;</td>
<td class="paramname"><em>type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespaceripple.html#ab1f2184bb5938b5508798cd47a561a21">Blob</a> &amp;&amp;&#160;</td>
<td class="paramname"><em>data</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>hash</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>&#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">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Store the object. </p>
<p>The caller's Blob parameter is overwritten.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">type</td><td>The type of object. </td></tr>
<tr><td class="paramname">data</td><td>The payload of the object. The caller's variable is overwritten. </td></tr>
<tr><td class="paramname">hash</td><td>The 256-bit hash of the payload data. </td></tr>
<tr><td class="paramname">ledgerSeq</td><td>The sequence of the ledger the object belongs to.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if the object was stored? </dd></dl>
<p>Implements <a class="el" href="classripple_1_1NodeStore_1_1Database.html#a7da2336581ee3348aad97c0d885658d0">ripple::NodeStore::Database</a>.</p>
<p class="definition">Definition at line <a class="el" href="DatabaseRotatingImp_8cpp_source.html#l00085">85</a> of file <a class="el" href="DatabaseRotatingImp_8cpp_source.html">DatabaseRotatingImp.cpp</a>.</p>
</div>
</div>
<a id="a61a400a9f8a8403d64c70b8d089c5be0" name="a61a400a9f8a8403d64c70b8d089c5be0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a61a400a9f8a8403d64c70b8d089c5be0">&#9670;&#160;</a></span>sync()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::NodeStore::DatabaseRotatingImp::sync </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">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implements <a class="el" href="classripple_1_1NodeStore_1_1Database.html#a57b89b559c083fde74a115a3df8f8046">ripple::NodeStore::Database</a>.</p>
<p class="definition">Definition at line <a class="el" href="DatabaseRotatingImp_8cpp_source.html#l00078">78</a> of file <a class="el" href="DatabaseRotatingImp_8cpp_source.html">DatabaseRotatingImp.cpp</a>.</p>
</div>
</div>
<a id="aa67b13515a70659f536b6d1cfeb1c2a2" name="aa67b13515a70659f536b6d1cfeb1c2a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa67b13515a70659f536b6d1cfeb1c2a2">&#9670;&#160;</a></span>sweep()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::NodeStore::DatabaseRotatingImp::sweep </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">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Remove expired entries from the positive and negative caches. </p>
<p>Implements <a class="el" href="classripple_1_1NodeStore_1_1Database.html#a40a0e5a30857e9ba3c7561748af31e29">ripple::NodeStore::Database</a>.</p>
<p class="definition">Definition at line <a class="el" href="DatabaseRotatingImp_8cpp_source.html#l00103">103</a> of file <a class="el" href="DatabaseRotatingImp_8cpp_source.html">DatabaseRotatingImp.cpp</a>.</p>
</div>
</div>
<a id="a7415a182938d791526ebda24e72c17f1" name="a7415a182938d791526ebda24e72c17f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7415a182938d791526ebda24e72c17f1">&#9670;&#160;</a></span>fetchNodeObject() <span class="overload">[1/2]</span></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="classripple_1_1NodeObject.html">NodeObject</a> &gt; ripple::NodeStore::DatabaseRotatingImp::fetchNodeObject </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const &amp;&#160;</td>
<td class="paramname"><em>hash</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">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structripple_1_1NodeStore_1_1FetchReport.html">FetchReport</a> &amp;&#160;</td>
<td class="paramname"><em>fetchReport</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>duplicate</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">override</span><span class="mlabel">private</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implements <a class="el" href="classripple_1_1NodeStore_1_1Database.html#af209b5e9d88436caaeb8c24a437a7adb">ripple::NodeStore::Database</a>.</p>
<p class="definition">Definition at line <a class="el" href="DatabaseRotatingImp_8cpp_source.html#l00109">109</a> of file <a class="el" href="DatabaseRotatingImp_8cpp_source.html">DatabaseRotatingImp.cpp</a>.</p>
</div>
</div>
<a id="aee99c67c55042890a37368f5d17620d4" name="aee99c67c55042890a37368f5d17620d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aee99c67c55042890a37368f5d17620d4">&#9670;&#160;</a></span>for_each()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::NodeStore::DatabaseRotatingImp::for_each </td>
<td>(</td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a>&lt; void(<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_1NodeObject.html">NodeObject</a> &gt;)&gt;&#160;</td>
<td class="paramname"><em>f</em></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>Visit every object in the database This is usually called during import. </p>
<dl class="section note"><dt>Note</dt><dd>This routine will not be called concurrently with itself or other methods. </dd></dl>
<dl class="section see"><dt>See also</dt><dd>import </dd></dl>
<p>Implements <a class="el" href="classripple_1_1NodeStore_1_1Database.html#a2b5174a0ffb315030b96815d6ac86eaf">ripple::NodeStore::Database</a>.</p>
<p class="definition">Definition at line <a class="el" href="DatabaseRotatingImp_8cpp_source.html#l00179">179</a> of file <a class="el" href="DatabaseRotatingImp_8cpp_source.html">DatabaseRotatingImp.cpp</a>.</p>
</div>
</div>
<a id="a780601a4dce8d688490a24a61f8cea9e" name="a780601a4dce8d688490a24a61f8cea9e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a780601a4dce8d688490a24a61f8cea9e">&#9670;&#160;</a></span>fetchNodeObject() <span class="overload">[2/2]</span></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="classripple_1_1NodeObject.html">NodeObject</a> &gt; ripple::NodeStore::Database::fetchNodeObject </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const &amp;&#160;</td>
<td class="paramname"><em>hash</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> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespaceripple_1_1NodeStore.html#a6334ed426a8dbe335761b9d81ab6f19f">FetchType</a>&#160;</td>
<td class="paramname"><em>fetchType</em> = <code><a class="el" href="namespaceripple_1_1NodeStore.html#a6334ed426a8dbe335761b9d81ab6f19fa1303c4f41a88e739bc859612321b189f">FetchType::synchronous</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>duplicate</em> = <code>false</code>&#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">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Fetch a node object. </p>
<p>If the object is known to be not in the database, isn't found in the database during the fetch, or failed to load correctly during the fetch, <code>nullptr</code> is returned.</p>
<dl class="section note"><dt>Note</dt><dd>This can be called concurrently. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">hash</td><td>The key of the object to retrieve. </td></tr>
<tr><td class="paramname">ledgerSeq</td><td>The sequence of the ledger where the object is stored. </td></tr>
<tr><td class="paramname">fetchType</td><td>the type of fetch, synchronous or asynchronous. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The object, or nullptr if it couldn't be retrieved. </dd></dl>
<p class="definition">Definition at line <a class="el" href="Database_8cpp_source.html#l00221">221</a> of file <a class="el" href="Database_8cpp_source.html">Database.cpp</a>.</p>
</div>
</div>
<a id="a0d21a918d521d82947868d21e1aafadb" name="a0d21a918d521d82947868d21e1aafadb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d21a918d521d82947868d21e1aafadb">&#9670;&#160;</a></span>asyncFetch()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::NodeStore::Database::asyncFetch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const &amp;&#160;</td>
<td class="paramname"><em>hash</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="elRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a>&lt; void(<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_1NodeObject.html">NodeObject</a> &gt; const &amp;)&gt; &amp;&amp;&#160;</td>
<td class="paramname"><em>callback</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">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Fetch an object without waiting. </p>
<p>If I/O is required to determine whether or not the object is present, <code>false</code> is returned. Otherwise, <code>true</code> is returned and <code>object</code> is set to refer to the object, or <code>nullptr</code> if the object is not present. If I/O is required, the I/O is scheduled and <code>true</code> is returned</p>
<dl class="section note"><dt>Note</dt><dd>This can be called concurrently. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">hash</td><td>The key of the object to retrieve </td></tr>
<tr><td class="paramname">ledgerSeq</td><td>The sequence of the ledger where the object is stored. </td></tr>
<tr><td class="paramname">callback</td><td>Callback function when read completes </td></tr>
</table>
</dd>
</dl>
<p>Reimplemented in <a class="el" href="classripple_1_1NodeStore_1_1DatabaseNodeImp.html#aa7218a9ee7e8b99949ef33f0bf3fb84f">ripple::NodeStore::DatabaseNodeImp</a>.</p>
<p class="definition">Definition at line <a class="el" href="Database_8cpp_source.html#l00165">165</a> of file <a class="el" href="Database_8cpp_source.html">Database.cpp</a>.</p>
</div>
</div>
<a id="a4ccd565f5a4a5296c049a2a0886f363f" name="a4ccd565f5a4a5296c049a2a0886f363f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ccd565f5a4a5296c049a2a0886f363f">&#9670;&#160;</a></span>getStoreCount()</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::uint64_t</a> ripple::NodeStore::Database::getStoreCount </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">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Gather statistics pertaining to read and write activities. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">obj</td><td><a class="el" href="namespaceJson.html" title="JSON (JavaScript Object Notation).">Json</a> object reference into which to place counters. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="Database_8h_source.html#l00154">154</a> of file <a class="el" href="Database_8h_source.html">Database.h</a>.</p>
</div>
</div>
<a id="af32a551caa69e8108bdd9a9d74dd774e" name="af32a551caa69e8108bdd9a9d74dd774e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af32a551caa69e8108bdd9a9d74dd774e">&#9670;&#160;</a></span>getFetchTotalCount()</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::NodeStore::Database::getFetchTotalCount </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">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Database_8h_source.html#l00160">160</a> of file <a class="el" href="Database_8h_source.html">Database.h</a>.</p>
</div>
</div>
<a id="ad28a451b16bc693364a1074c0f767f1f" name="ad28a451b16bc693364a1074c0f767f1f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad28a451b16bc693364a1074c0f767f1f">&#9670;&#160;</a></span>getFetchHitCount()</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::NodeStore::Database::getFetchHitCount </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">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Database_8h_source.html#l00166">166</a> of file <a class="el" href="Database_8h_source.html">Database.h</a>.</p>
</div>
</div>
<a id="a0f2ed25135bf1d2aa487a2b2dc5c85cd" name="a0f2ed25135bf1d2aa487a2b2dc5c85cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f2ed25135bf1d2aa487a2b2dc5c85cd">&#9670;&#160;</a></span>getStoreSize()</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::uint64_t</a> ripple::NodeStore::Database::getStoreSize </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">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Database_8h_source.html#l00172">172</a> of file <a class="el" href="Database_8h_source.html">Database.h</a>.</p>
</div>
</div>
<a id="a8ebb38ac8562f6b1673a9f3b8216efce" name="a8ebb38ac8562f6b1673a9f3b8216efce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ebb38ac8562f6b1673a9f3b8216efce">&#9670;&#160;</a></span>getFetchSize()</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::NodeStore::Database::getFetchSize </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">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Database_8h_source.html#l00178">178</a> of file <a class="el" href="Database_8h_source.html">Database.h</a>.</p>
</div>
</div>
<a id="a023779f42976b9c22da655bf9fd4f4a5" name="a023779f42976b9c22da655bf9fd4f4a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a023779f42976b9c22da655bf9fd4f4a5">&#9670;&#160;</a></span>getCountsJson()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::NodeStore::Database::getCountsJson </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classJson_1_1Value.html">Json::Value</a> &amp;&#160;</td>
<td class="paramname"><em>obj</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Database_8cpp_source.html#l00248">248</a> of file <a class="el" href="Database_8cpp_source.html">Database.cpp</a>.</p>
</div>
</div>
<a id="aef142866cf7ca2a96d17efc55f8dcc19" name="aef142866cf7ca2a96d17efc55f8dcc19"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef142866cf7ca2a96d17efc55f8dcc19">&#9670;&#160;</a></span>fdRequired()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int ripple::NodeStore::Database::fdRequired </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">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the number of file descriptors the database expects to need. </p>
<p class="definition">Definition at line <a class="el" href="Database_8h_source.html#l00188">188</a> of file <a class="el" href="Database_8h_source.html">Database.h</a>.</p>
</div>
</div>
<a id="affd86ea8d57875e1c9722fdf6a8f6326" name="affd86ea8d57875e1c9722fdf6a8f6326"></a>
<h2 class="memtitle"><span class="permalink"><a href="#affd86ea8d57875e1c9722fdf6a8f6326">&#9670;&#160;</a></span>stop()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::NodeStore::Database::stop </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 class="definition">Definition at line <a class="el" href="Database_8cpp_source.html#l00130">130</a> of file <a class="el" href="Database_8cpp_source.html">Database.cpp</a>.</p>
</div>
</div>
<a id="a6bb055f14d1d28163e931ed73d94a1e1" name="a6bb055f14d1d28163e931ed73d94a1e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6bb055f14d1d28163e931ed73d94a1e1">&#9670;&#160;</a></span>isStopping()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ripple::NodeStore::Database::isStopping </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">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Database_8cpp_source.html#l00124">124</a> of file <a class="el" href="Database_8cpp_source.html">Database.cpp</a>.</p>
</div>
</div>
<a id="ae10c8f2c5e0676a704bd28486b7640af" name="ae10c8f2c5e0676a704bd28486b7640af"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae10c8f2c5e0676a704bd28486b7640af">&#9670;&#160;</a></span>earliestLedgerSeq()</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::NodeStore::Database::earliestLedgerSeq </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">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The earliest ledger sequence allowed </dd></dl>
<p class="definition">Definition at line <a class="el" href="Database_8h_source.html#l00202">202</a> of file <a class="el" href="Database_8h_source.html">Database.h</a>.</p>
</div>
</div>
<a id="a090e39b8c6733b0dc4553f9e8e705605" name="a090e39b8c6733b0dc4553f9e8e705605"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a090e39b8c6733b0dc4553f9e8e705605">&#9670;&#160;</a></span>storeStats()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::NodeStore::Database::storeStats </td>
<td>(</td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint64_t</a>&#160;</td>
<td class="paramname"><em>count</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::uint64_t</a>&#160;</td>
<td class="paramname"><em>sz</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 class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Database_8h_source.html#l00229">229</a> of file <a class="el" href="Database_8h_source.html">Database.h</a>.</p>
</div>
</div>
<a id="af885d9fe877259a258481f0df20697cd" name="af885d9fe877259a258481f0df20697cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af885d9fe877259a258481f0df20697cd">&#9670;&#160;</a></span>importInternal()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::NodeStore::Database::importInternal </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1NodeStore_1_1Backend.html">Backend</a> &amp;&#160;</td>
<td class="paramname"><em>dstBackend</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1NodeStore_1_1Database.html">Database</a> &amp;&#160;</td>
<td class="paramname"><em>srcDB</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 class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Database_8cpp_source.html#l00180">180</a> of file <a class="el" href="Database_8cpp_source.html">Database.cpp</a>.</p>
</div>
</div>
<a id="abdcb3e7fdaeae1252f850c0e2a4646c2" name="abdcb3e7fdaeae1252f850c0e2a4646c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abdcb3e7fdaeae1252f850c0e2a4646c2">&#9670;&#160;</a></span>updateFetchMetrics()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::NodeStore::Database::updateFetchMetrics </td>
<td>(</td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>fetches</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>hits</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>duration</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 class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Database_8h_source.html#l00243">243</a> of file <a class="el" href="Database_8h_source.html">Database.h</a>.</p>
</div>
</div>
<a id="a7c4180512ff87a967de8091a019dc9f9" name="a7c4180512ff87a967de8091a019dc9f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c4180512ff87a967de8091a019dc9f9">&#9670;&#160;</a></span>threadEntry()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::NodeStore::Database::threadEntry </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">
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="acaa8e51a8678905a0b2d831154cc91b5" name="acaa8e51a8678905a0b2d831154cc91b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acaa8e51a8678905a0b2d831154cc91b5">&#9670;&#160;</a></span>writableBackend_</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="classripple_1_1NodeStore_1_1Backend.html">Backend</a>&gt; ripple::NodeStore::DatabaseRotatingImp::writableBackend_</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="DatabaseRotatingImp_8h_source.html#l00066">66</a> of file <a class="el" href="DatabaseRotatingImp_8h_source.html">DatabaseRotatingImp.h</a>.</p>
</div>
</div>
<a id="a44b1eace70e02649d16668ca920531cb" name="a44b1eace70e02649d16668ca920531cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44b1eace70e02649d16668ca920531cb">&#9670;&#160;</a></span>archiveBackend_</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="classripple_1_1NodeStore_1_1Backend.html">Backend</a>&gt; ripple::NodeStore::DatabaseRotatingImp::archiveBackend_</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="DatabaseRotatingImp_8h_source.html#l00067">67</a> of file <a class="el" href="DatabaseRotatingImp_8h_source.html">DatabaseRotatingImp.h</a>.</p>
</div>
</div>
<a id="a4d803c36c8aea67c83f735814de25717" name="a4d803c36c8aea67c83f735814de25717"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d803c36c8aea67c83f735814de25717">&#9670;&#160;</a></span>mutex_</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/mutex.html">std::mutex</a> ripple::NodeStore::DatabaseRotatingImp::mutex_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">mutable</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="DatabaseRotatingImp_8h_source.html#l00068">68</a> of file <a class="el" href="DatabaseRotatingImp_8h_source.html">DatabaseRotatingImp.h</a>.</p>
</div>
</div>
<a id="a91e5dd4e1a48a23cb5f698c0794a044e" name="a91e5dd4e1a48a23cb5f698c0794a044e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a91e5dd4e1a48a23cb5f698c0794a044e">&#9670;&#160;</a></span>j_</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> const ripple::NodeStore::Database::j_</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="Database_8h_source.html#l00208">208</a> of file <a class="el" href="Database_8h_source.html">Database.h</a>.</p>
</div>
</div>
<a id="a0e5bc58351ded4683d7207383794a484" name="a0e5bc58351ded4683d7207383794a484"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e5bc58351ded4683d7207383794a484">&#9670;&#160;</a></span>scheduler_</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_1NodeStore_1_1Scheduler.html">Scheduler</a>&amp; ripple::NodeStore::Database::scheduler_</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="Database_8h_source.html#l00209">209</a> of file <a class="el" href="Database_8h_source.html">Database.h</a>.</p>
</div>
</div>
<a id="a730a87cf8b617a8afb30e2531ede0f81" name="a730a87cf8b617a8afb30e2531ede0f81"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a730a87cf8b617a8afb30e2531ede0f81">&#9670;&#160;</a></span>fdRequired_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int ripple::NodeStore::Database::fdRequired_ {0}</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="Database_8h_source.html#l00210">210</a> of file <a class="el" href="Database_8h_source.html">Database.h</a>.</p>
</div>
</div>
<a id="a89497b9b4c5530b58040931489015d30" name="a89497b9b4c5530b58040931489015d30"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a89497b9b4c5530b58040931489015d30">&#9670;&#160;</a></span>fetchHitCount_</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/atomic/atomic.html">std::atomic</a>&lt;<a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a>&gt; ripple::NodeStore::Database::fetchHitCount_ {0}</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="Database_8h_source.html#l00212">212</a> of file <a class="el" href="Database_8h_source.html">Database.h</a>.</p>
</div>
</div>
<a id="a04150d23aa2acaf016d4ca40bd10804a" name="a04150d23aa2acaf016d4ca40bd10804a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04150d23aa2acaf016d4ca40bd10804a">&#9670;&#160;</a></span>fetchSz_</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/atomic/atomic.html">std::atomic</a>&lt;<a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a>&gt; ripple::NodeStore::Database::fetchSz_ {0}</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="Database_8h_source.html#l00213">213</a> of file <a class="el" href="Database_8h_source.html">Database.h</a>.</p>
</div>
</div>
<a id="a4e3a4884a1b719e96e282c6c3b601fdc" name="a4e3a4884a1b719e96e282c6c3b601fdc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4e3a4884a1b719e96e282c6c3b601fdc">&#9670;&#160;</a></span>earliestLedgerSeq_</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> const ripple::NodeStore::Database::earliestLedgerSeq_</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="Database_8h_source.html#l00221">221</a> of file <a class="el" href="Database_8h_source.html">Database.h</a>.</p>
</div>
</div>
<a id="afb01b75cff1136cfe603223a69236254" name="afb01b75cff1136cfe603223a69236254"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb01b75cff1136cfe603223a69236254">&#9670;&#160;</a></span>requestBundle_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int const ripple::NodeStore::Database::requestBundle_</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="Database_8h_source.html#l00226">226</a> of file <a class="el" href="Database_8h_source.html">Database.h</a>.</p>
</div>
</div>
<a id="a4dc1dcc2a79b60c2c7de7f1bdf05cecf" name="a4dc1dcc2a79b60c2c7de7f1bdf05cecf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4dc1dcc2a79b60c2c7de7f1bdf05cecf">&#9670;&#160;</a></span>storeCount_</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/atomic/atomic.html">std::atomic</a>&lt;<a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint64_t</a>&gt; ripple::NodeStore::Database::storeCount_ {0}</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="Database_8h_source.html#l00251">251</a> of file <a class="el" href="Database_8h_source.html">Database.h</a>.</p>
</div>
</div>
<a id="a5dbc9808c511caeaaa7ce5c6b27276e6" name="a5dbc9808c511caeaaa7ce5c6b27276e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5dbc9808c511caeaaa7ce5c6b27276e6">&#9670;&#160;</a></span>storeSz_</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/atomic/atomic.html">std::atomic</a>&lt;<a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint64_t</a>&gt; ripple::NodeStore::Database::storeSz_ {0}</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="Database_8h_source.html#l00252">252</a> of file <a class="el" href="Database_8h_source.html">Database.h</a>.</p>
</div>
</div>
<a id="af3332d74cac6eb882c2908e14655d3a0" name="af3332d74cac6eb882c2908e14655d3a0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af3332d74cac6eb882c2908e14655d3a0">&#9670;&#160;</a></span>fetchTotalCount_</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/atomic/atomic.html">std::atomic</a>&lt;<a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint64_t</a>&gt; ripple::NodeStore::Database::fetchTotalCount_ {0}</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="Database_8h_source.html#l00253">253</a> of file <a class="el" href="Database_8h_source.html">Database.h</a>.</p>
</div>
</div>
<a id="ab4ecdf417aaa8e5d4c88601244fe90d7" name="ab4ecdf417aaa8e5d4c88601244fe90d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab4ecdf417aaa8e5d4c88601244fe90d7">&#9670;&#160;</a></span>fetchDurationUs_</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/atomic/atomic.html">std::atomic</a>&lt;<a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint64_t</a>&gt; ripple::NodeStore::Database::fetchDurationUs_ {0}</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="Database_8h_source.html#l00254">254</a> of file <a class="el" href="Database_8h_source.html">Database.h</a>.</p>
</div>
</div>
<a id="a83e7506a1b302966445210ebe56c3905" name="a83e7506a1b302966445210ebe56c3905"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a83e7506a1b302966445210ebe56c3905">&#9670;&#160;</a></span>storeDurationUs_</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/atomic/atomic.html">std::atomic</a>&lt;<a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint64_t</a>&gt; ripple::NodeStore::Database::storeDurationUs_ {0}</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="Database_8h_source.html#l00255">255</a> of file <a class="el" href="Database_8h_source.html">Database.h</a>.</p>
</div>
</div>
<a id="a06fbf66d1f34a6162a17daf72e71eba9" name="a06fbf66d1f34a6162a17daf72e71eba9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a06fbf66d1f34a6162a17daf72e71eba9">&#9670;&#160;</a></span>readLock_</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/mutex.html">std::mutex</a> ripple::NodeStore::Database::readLock_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">mutable</span><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="Database_8h_source.html#l00257">257</a> of file <a class="el" href="Database_8h_source.html">Database.h</a>.</p>
</div>
</div>
<a id="a438af3c0eba7891bb79d5c5dcb902556" name="a438af3c0eba7891bb79d5c5dcb902556"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a438af3c0eba7891bb79d5c5dcb902556">&#9670;&#160;</a></span>readCondVar_</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/condition_variable.html">std::condition_variable</a> ripple::NodeStore::Database::readCondVar_</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="Database_8h_source.html#l00258">258</a> of file <a class="el" href="Database_8h_source.html">Database.h</a>.</p>
</div>
</div>
<a id="a59cd26efed86926842662b223d20359d" name="a59cd26efed86926842662b223d20359d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a59cd26efed86926842662b223d20359d">&#9670;&#160;</a></span>read_</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/map.html">std::map</a>&lt; <a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a>, <a class="elRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt;<a class="elRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>&lt; <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a>, <a class="elRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a>&lt;void(<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_1NodeObject.html">NodeObject</a>&gt; const&amp;)&gt; &gt; &gt; &gt; ripple::NodeStore::Database::read_</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="Database_8h_source.html#l00266">266</a> of file <a class="el" href="Database_8h_source.html">Database.h</a>.</p>
</div>
</div>
<a id="a7cb4eee79861b6a496fe6ddcd024a5f8" name="a7cb4eee79861b6a496fe6ddcd024a5f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7cb4eee79861b6a496fe6ddcd024a5f8">&#9670;&#160;</a></span>readStopping_</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/atomic/atomic.html">std::atomic</a>&lt;bool&gt; ripple::NodeStore::Database::readStopping_ = false</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="Database_8h_source.html#l00268">268</a> of file <a class="el" href="Database_8h_source.html">Database.h</a>.</p>
</div>
</div>
<a id="af5fd85ba304bf9fd6e5afd7f06025180" name="af5fd85ba304bf9fd6e5afd7f06025180"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af5fd85ba304bf9fd6e5afd7f06025180">&#9670;&#160;</a></span>readThreads_</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/atomic/atomic.html">std::atomic</a>&lt;int&gt; ripple::NodeStore::Database::readThreads_ = 0</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="Database_8h_source.html#l00269">269</a> of file <a class="el" href="Database_8h_source.html">Database.h</a>.</p>
</div>
</div>
<a id="ad9f741a64dae54f4b30f31fb68565283" name="ad9f741a64dae54f4b30f31fb68565283"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad9f741a64dae54f4b30f31fb68565283">&#9670;&#160;</a></span>runningThreads_</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/atomic/atomic.html">std::atomic</a>&lt;int&gt; ripple::NodeStore::Database::runningThreads_ = 0</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="Database_8h_source.html#l00270">270</a> of file <a class="el" href="Database_8h_source.html">Database.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>