Files
rippled/classripple_1_1NodeStore_1_1NuDBBackend.html
2020-08-07 00:47:51 +00:00

932 lines
51 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>rippled: ripple::NodeStore::NuDBBackend 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 style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">rippled
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</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_1NuDBBackend.html">NuDBBackend</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="classripple_1_1NodeStore_1_1NuDBBackend-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">ripple::NodeStore::NuDBBackend Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for ripple::NodeStore::NuDBBackend:</div>
<div class="dyncontent">
<div class="center"><img src="classripple_1_1NodeStore_1_1NuDBBackend__inherit__graph.png" border="0" usemap="#ripple_1_1NodeStore_1_1NuDBBackend_inherit__map" alt="Inheritance graph"/></div>
<map name="ripple_1_1NodeStore_1_1NuDBBackend_inherit__map" id="ripple_1_1NodeStore_1_1NuDBBackend_inherit__map">
<area shape="rect" title=" " alt="" coords="5,95,148,136"/>
<area shape="rect" href="classripple_1_1NodeStore_1_1Backend.html" title="A backend used for the NodeStore." alt="" coords="5,5,148,47"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for ripple::NodeStore::NuDBBackend:</div>
<div class="dyncontent">
<div class="center"><img src="classripple_1_1NodeStore_1_1NuDBBackend__coll__graph.png" border="0" usemap="#ripple_1_1NodeStore_1_1NuDBBackend_coll__map" alt="Collaboration graph"/></div>
<map name="ripple_1_1NodeStore_1_1NuDBBackend_coll__map" id="ripple_1_1NodeStore_1_1NuDBBackend_coll__map">
<area shape="rect" title=" " alt="" coords="535,152,677,193"/>
<area shape="rect" href="classripple_1_1NodeStore_1_1Backend.html" title="A backend used for the NodeStore." alt="" coords="257,5,400,47"/>
<area shape="rect" href="http://en.cppreference.com/w/cpp/atomic/atomic.html" title=" " alt="" coords="252,71,405,98"/>
<area shape="rect" href="classripple_1_1NodeStore_1_1Scheduler.html" title="Scheduling for asynchronous backend activity." alt="" coords="257,123,400,164"/>
<area shape="rect" href="http://en.cppreference.com/w/cpp/string/basic_string.html" title="STL class." alt="" coords="285,189,372,215"/>
<area shape="rect" href="http://en.cppreference.com/w/cpp/types/size_t.html" title=" " alt="" coords="285,239,373,266"/>
<area shape="rect" href="classbeast_1_1Journal.html" title="A generic endpoint for log messages." alt="" coords="273,290,384,317"/>
<area shape="rect" href="classbeast_1_1Journal_1_1Sink.html" title="Abstraction for the underlying message destination." alt="" coords="5,290,152,317"/>
</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 name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a6254f38a0ebf22670df61fe24934e232"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1NuDBBackend.html#a6254f38a0ebf22670df61fe24934e232">NuDBBackend</a> (size_t keyBytes, <a class="el" href="classripple_1_1Section.html">Section</a> const &amp;keyValues, <a class="el" href="classripple_1_1NodeStore_1_1Scheduler.html">Scheduler</a> &amp;scheduler, <a class="el" href="classbeast_1_1Journal.html">beast::Journal</a> journal)</td></tr>
<tr class="separator:a6254f38a0ebf22670df61fe24934e232"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab46fa0adb15e06e0b97eca22dac45356"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1NuDBBackend.html#ab46fa0adb15e06e0b97eca22dac45356">NuDBBackend</a> (size_t keyBytes, <a class="el" href="classripple_1_1Section.html">Section</a> const &amp;keyValues, <a class="el" href="classripple_1_1NodeStore_1_1Scheduler.html">Scheduler</a> &amp;scheduler, nudb::context &amp;context, <a class="el" href="classbeast_1_1Journal.html">beast::Journal</a> journal)</td></tr>
<tr class="separator:ab46fa0adb15e06e0b97eca22dac45356"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4162d130c7626e1e5207d1ffd583e880"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1NuDBBackend.html#a4162d130c7626e1e5207d1ffd583e880">~NuDBBackend</a> () override</td></tr>
<tr class="separator:a4162d130c7626e1e5207d1ffd583e880"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a973bd1539e909dcc515980e7b6f61f3d"><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_1NuDBBackend.html#a973bd1539e909dcc515980e7b6f61f3d">getName</a> () override</td></tr>
<tr class="memdesc:a973bd1539e909dcc515980e7b6f61f3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the human-readable name of this backend. <a href="classripple_1_1NodeStore_1_1NuDBBackend.html#a973bd1539e909dcc515980e7b6f61f3d">More...</a><br /></td></tr>
<tr class="separator:a973bd1539e909dcc515980e7b6f61f3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2160cbce008b1fd13e1797d81d989128"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1NuDBBackend.html#a2160cbce008b1fd13e1797d81d989128">open</a> (bool createIfMissing) override</td></tr>
<tr class="memdesc:a2160cbce008b1fd13e1797d81d989128"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open the backend. <a href="classripple_1_1NodeStore_1_1NuDBBackend.html#a2160cbce008b1fd13e1797d81d989128">More...</a><br /></td></tr>
<tr class="separator:a2160cbce008b1fd13e1797d81d989128"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a336d7fe747c73366bec1cf42c5e05b67"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1NuDBBackend.html#a336d7fe747c73366bec1cf42c5e05b67">close</a> () override</td></tr>
<tr class="memdesc:a336d7fe747c73366bec1cf42c5e05b67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close the backend. <a href="classripple_1_1NodeStore_1_1NuDBBackend.html#a336d7fe747c73366bec1cf42c5e05b67">More...</a><br /></td></tr>
<tr class="separator:a336d7fe747c73366bec1cf42c5e05b67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b03edf356922e780fe41987476f1f6a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceripple_1_1NodeStore.html#af127c2e4fc73b5d35647147ef45b350c">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1NuDBBackend.html#a1b03edf356922e780fe41987476f1f6a">fetch</a> (void const *key, <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; *pno) override</td></tr>
<tr class="memdesc:a1b03edf356922e780fe41987476f1f6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fetch a single object. <a href="classripple_1_1NodeStore_1_1NuDBBackend.html#a1b03edf356922e780fe41987476f1f6a">More...</a><br /></td></tr>
<tr class="separator:a1b03edf356922e780fe41987476f1f6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a727c895f6364eeaa8e524c1eb456f5df"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1NuDBBackend.html#a727c895f6364eeaa8e524c1eb456f5df">canFetchBatch</a> () override</td></tr>
<tr class="memdesc:a727c895f6364eeaa8e524c1eb456f5df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return <code>true</code> if batch fetches are optimized. <a href="classripple_1_1NodeStore_1_1NuDBBackend.html#a727c895f6364eeaa8e524c1eb456f5df">More...</a><br /></td></tr>
<tr class="separator:a727c895f6364eeaa8e524c1eb456f5df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e04de763e8f9767b4404605e4f8e749"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="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="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1NuDBBackend.html#a2e04de763e8f9767b4404605e4f8e749">fetchBatch</a> (<a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> n, void const *const *keys) override</td></tr>
<tr class="memdesc:a2e04de763e8f9767b4404605e4f8e749"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fetch a batch synchronously. <a href="classripple_1_1NodeStore_1_1NuDBBackend.html#a2e04de763e8f9767b4404605e4f8e749">More...</a><br /></td></tr>
<tr class="separator:a2e04de763e8f9767b4404605e4f8e749"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ffccad519a4ac36bb0329a186b4783f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1NuDBBackend.html#a4ffccad519a4ac36bb0329a186b4783f">do_insert</a> (<a class="elRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="classripple_1_1NodeObject.html">NodeObject</a> &gt; const &amp;no)</td></tr>
<tr class="separator:a4ffccad519a4ac36bb0329a186b4783f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00c5d2a5073f3318fc0e52f255a1c212"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1NuDBBackend.html#a00c5d2a5073f3318fc0e52f255a1c212">store</a> (<a class="elRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="classripple_1_1NodeObject.html">NodeObject</a> &gt; const &amp;no) override</td></tr>
<tr class="memdesc:a00c5d2a5073f3318fc0e52f255a1c212"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store a single object. <a href="classripple_1_1NodeStore_1_1NuDBBackend.html#a00c5d2a5073f3318fc0e52f255a1c212">More...</a><br /></td></tr>
<tr class="separator:a00c5d2a5073f3318fc0e52f255a1c212"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e9abc2a44a3501131709dcd6d5c509a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1NuDBBackend.html#a4e9abc2a44a3501131709dcd6d5c509a">storeBatch</a> (<a class="el" href="namespaceripple_1_1NodeStore.html#ae0e4b79f8eb3ffa0bf8fcaf848643202">Batch</a> const &amp;batch) override</td></tr>
<tr class="memdesc:a4e9abc2a44a3501131709dcd6d5c509a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store a group of objects. <a href="classripple_1_1NodeStore_1_1NuDBBackend.html#a4e9abc2a44a3501131709dcd6d5c509a">More...</a><br /></td></tr>
<tr class="separator:a4e9abc2a44a3501131709dcd6d5c509a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abaf0ba251ee000601135df13dd885dca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1NuDBBackend.html#abaf0ba251ee000601135df13dd885dca">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:abaf0ba251ee000601135df13dd885dca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Visit every object in the database This is usually called during import. <a href="classripple_1_1NodeStore_1_1NuDBBackend.html#abaf0ba251ee000601135df13dd885dca">More...</a><br /></td></tr>
<tr class="separator:abaf0ba251ee000601135df13dd885dca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf8b3a8b6f911845a8323cc00c0aeff0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1NuDBBackend.html#adf8b3a8b6f911845a8323cc00c0aeff0">getWriteLoad</a> () override</td></tr>
<tr class="memdesc:adf8b3a8b6f911845a8323cc00c0aeff0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Estimate the number of write operations pending. <a href="classripple_1_1NodeStore_1_1NuDBBackend.html#adf8b3a8b6f911845a8323cc00c0aeff0">More...</a><br /></td></tr>
<tr class="separator:adf8b3a8b6f911845a8323cc00c0aeff0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6cf1bca8633f03532a5836b959adc60"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1NuDBBackend.html#ae6cf1bca8633f03532a5836b959adc60">setDeletePath</a> () override</td></tr>
<tr class="memdesc:ae6cf1bca8633f03532a5836b959adc60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove contents on disk upon destruction. <a href="classripple_1_1NodeStore_1_1NuDBBackend.html#ae6cf1bca8633f03532a5836b959adc60">More...</a><br /></td></tr>
<tr class="separator:ae6cf1bca8633f03532a5836b959adc60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab012b4ff123427bc35a5d4ac4c6269c0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1NuDBBackend.html#ab012b4ff123427bc35a5d4ac4c6269c0">verify</a> () override</td></tr>
<tr class="memdesc:ab012b4ff123427bc35a5d4ac4c6269c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform consistency checks on database. <a href="classripple_1_1NodeStore_1_1NuDBBackend.html#ab012b4ff123427bc35a5d4ac4c6269c0">More...</a><br /></td></tr>
<tr class="separator:ab012b4ff123427bc35a5d4ac4c6269c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80ceb104dfe540399ddb1fe8d43111ac"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1NuDBBackend.html#a80ceb104dfe540399ddb1fe8d43111ac">fdRequired</a> () const override</td></tr>
<tr class="memdesc:a80ceb104dfe540399ddb1fe8d43111ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of file descriptors the backend expects to need. <a href="classripple_1_1NodeStore_1_1NuDBBackend.html#a80ceb104dfe540399ddb1fe8d43111ac">More...</a><br /></td></tr>
<tr class="separator:a80ceb104dfe540399ddb1fe8d43111ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab07382d1cbb7d39fe7aacdbc17654861"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Backend.html#ab07382d1cbb7d39fe7aacdbc17654861">backed</a> () const</td></tr>
<tr class="memdesc:ab07382d1cbb7d39fe7aacdbc17654861"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the backend uses permanent storage. <a href="classripple_1_1NodeStore_1_1Backend.html#ab07382d1cbb7d39fe7aacdbc17654861">More...</a><br /></td></tr>
<tr class="separator:ab07382d1cbb7d39fe7aacdbc17654861"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a6e4630f4a1747a3a96a690a862e801ec"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classbeast_1_1Journal.html">beast::Journal</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1NuDBBackend.html#a6e4630f4a1747a3a96a690a862e801ec">j_</a></td></tr>
<tr class="separator:a6e4630f4a1747a3a96a690a862e801ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9d0d8d731ae1ac3cc3bb35da8eaf9d2"><td class="memItemLeft" align="right" valign="top">const size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1NuDBBackend.html#ae9d0d8d731ae1ac3cc3bb35da8eaf9d2">keyBytes_</a></td></tr>
<tr class="separator:ae9d0d8d731ae1ac3cc3bb35da8eaf9d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62b70315254855fd1fcbabe62d52495a"><td class="memItemLeft" align="right" valign="top">const <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_1NuDBBackend.html#a62b70315254855fd1fcbabe62d52495a">name_</a></td></tr>
<tr class="separator:a62b70315254855fd1fcbabe62d52495a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93307b4032398645d984ecc1f90bd1e7"><td class="memItemLeft" align="right" valign="top">nudb::store&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1NuDBBackend.html#a93307b4032398645d984ecc1f90bd1e7">db_</a></td></tr>
<tr class="separator:a93307b4032398645d984ecc1f90bd1e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac45f916ad224a53a053260d68b622bc7"><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_1NuDBBackend.html#ac45f916ad224a53a053260d68b622bc7">deletePath_</a></td></tr>
<tr class="separator:ac45f916ad224a53a053260d68b622bc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a265296b90c702786f4944f344f31d132"><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_1NuDBBackend.html#a265296b90c702786f4944f344f31d132">scheduler_</a></td></tr>
<tr class="separator:a265296b90c702786f4944f344f31d132"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:adc4e6fbf3a6ea019794339b779878a2f"><td class="memItemLeft" align="right" valign="top">static constexpr <a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1NuDBBackend.html#adc4e6fbf3a6ea019794339b779878a2f">currentType</a> = 1</td></tr>
<tr class="separator:adc4e6fbf3a6ea019794339b779878a2f"><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="NuDBFactory_8cpp_source.html#l00038">38</a> of file <a class="el" href="NuDBFactory_8cpp_source.html">NuDBFactory.cpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a6254f38a0ebf22670df61fe24934e232"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6254f38a0ebf22670df61fe24934e232">&#9670;&nbsp;</a></span>NuDBBackend() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ripple::NodeStore::NuDBBackend::NuDBBackend </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>keyBytes</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>keyValues</em>, </td>
</tr>
<tr>
<td class="paramkey"></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"><a class="el" href="classbeast_1_1Journal.html">beast::Journal</a>&#160;</td>
<td class="paramname"><em>journal</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="NuDBFactory_8cpp_source.html#l00050">50</a> of file <a class="el" href="NuDBFactory_8cpp_source.html">NuDBFactory.cpp</a>.</p>
</div>
</div>
<a id="ab46fa0adb15e06e0b97eca22dac45356"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab46fa0adb15e06e0b97eca22dac45356">&#9670;&nbsp;</a></span>NuDBBackend() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ripple::NodeStore::NuDBBackend::NuDBBackend </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>keyBytes</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>keyValues</em>, </td>
</tr>
<tr>
<td class="paramkey"></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">nudb::context &amp;&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classbeast_1_1Journal.html">beast::Journal</a>&#160;</td>
<td class="paramname"><em>journal</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="NuDBFactory_8cpp_source.html#l00066">66</a> of file <a class="el" href="NuDBFactory_8cpp_source.html">NuDBFactory.cpp</a>.</p>
</div>
</div>
<a id="a4162d130c7626e1e5207d1ffd583e880"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4162d130c7626e1e5207d1ffd583e880">&#9670;&nbsp;</a></span>~NuDBBackend()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ripple::NodeStore::NuDBBackend::~NuDBBackend </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="NuDBFactory_8cpp_source.html#l00084">84</a> of file <a class="el" href="NuDBFactory_8cpp_source.html">NuDBFactory.cpp</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a973bd1539e909dcc515980e7b6f61f3d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a973bd1539e909dcc515980e7b6f61f3d">&#9670;&nbsp;</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::NuDBBackend::getName </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>Get the human-readable name of this backend. </p>
<p>This is used for diagnostic output. </p>
<p>Implements <a class="el" href="classripple_1_1NodeStore_1_1Backend.html#a206d540c4b8359c598f2309c5ee194bd">ripple::NodeStore::Backend</a>.</p>
<p class="definition">Definition at line <a class="el" href="NuDBFactory_8cpp_source.html#l00090">90</a> of file <a class="el" href="NuDBFactory_8cpp_source.html">NuDBFactory.cpp</a>.</p>
</div>
</div>
<a id="a2160cbce008b1fd13e1797d81d989128"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2160cbce008b1fd13e1797d81d989128">&#9670;&nbsp;</a></span>open()</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::NuDBBackend::open </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>createIfMissing</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>Open the backend. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">createIfMissing</td><td>Create the database files if necessary. This allows the caller to catch exceptions. </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classripple_1_1NodeStore_1_1Backend.html#a586356a9f6050201be9d184bc3fd2c83">ripple::NodeStore::Backend</a>.</p>
<p class="definition">Definition at line <a class="el" href="NuDBFactory_8cpp_source.html#l00096">96</a> of file <a class="el" href="NuDBFactory_8cpp_source.html">NuDBFactory.cpp</a>.</p>
</div>
</div>
<a id="a336d7fe747c73366bec1cf42c5e05b67"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a336d7fe747c73366bec1cf42c5e05b67">&#9670;&nbsp;</a></span>close()</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::NuDBBackend::close </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>Close the backend. </p>
<p>This allows the caller to catch exceptions. </p>
<p>Implements <a class="el" href="classripple_1_1NodeStore_1_1Backend.html#a6b13f9a9bbf0bf6470648f4910a92dd0">ripple::NodeStore::Backend</a>.</p>
<p class="definition">Definition at line <a class="el" href="NuDBFactory_8cpp_source.html#l00136">136</a> of file <a class="el" href="NuDBFactory_8cpp_source.html">NuDBFactory.cpp</a>.</p>
</div>
</div>
<a id="a1b03edf356922e780fe41987476f1f6a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1b03edf356922e780fe41987476f1f6a">&#9670;&nbsp;</a></span>fetch()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceripple_1_1NodeStore.html#af127c2e4fc73b5d35647147ef45b350c">Status</a> ripple::NodeStore::NuDBBackend::fetch </td>
<td>(</td>
<td class="paramtype">void const *&#160;</td>
<td class="paramname"><em>key</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_1NodeObject.html">NodeObject</a> &gt; *&#160;</td>
<td class="paramname"><em>pObject</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>Fetch a single object. </p>
<p>If the object is not found or an error is encountered, the result will indicate the condition. </p><dl class="section note"><dt>Note</dt><dd>This will be called concurrently. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">key</td><td>A pointer to the key data. </td></tr>
<tr><td class="paramname">pObject</td><td>[out] The created object if successful. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The result of the operation. </dd></dl>
<p>Implements <a class="el" href="classripple_1_1NodeStore_1_1Backend.html#a7d3224e43e89dc098962b986d70e9833">ripple::NodeStore::Backend</a>.</p>
<p class="definition">Definition at line <a class="el" href="NuDBFactory_8cpp_source.html#l00152">152</a> of file <a class="el" href="NuDBFactory_8cpp_source.html">NuDBFactory.cpp</a>.</p>
</div>
</div>
<a id="a727c895f6364eeaa8e524c1eb456f5df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a727c895f6364eeaa8e524c1eb456f5df">&#9670;&nbsp;</a></span>canFetchBatch()</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::NuDBBackend::canFetchBatch </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>Return <code>true</code> if batch fetches are optimized. </p>
<p>Implements <a class="el" href="classripple_1_1NodeStore_1_1Backend.html#a26ec003b54dcceb03af5de57ddb5e545">ripple::NodeStore::Backend</a>.</p>
<p class="definition">Definition at line <a class="el" href="NuDBFactory_8cpp_source.html#l00180">180</a> of file <a class="el" href="NuDBFactory_8cpp_source.html">NuDBFactory.cpp</a>.</p>
</div>
</div>
<a id="a2e04de763e8f9767b4404605e4f8e749"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e04de763e8f9767b4404605e4f8e749">&#9670;&nbsp;</a></span>fetchBatch()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt;<a class="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; ripple::NodeStore::NuDBBackend::fetchBatch </td>
<td>(</td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a>&#160;</td>
<td class="paramname"><em>n</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void const *const *&#160;</td>
<td class="paramname"><em>keys</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>Fetch a batch synchronously. </p>
<p>Implements <a class="el" href="classripple_1_1NodeStore_1_1Backend.html#ae5c85e156a44b8b13040ecafab65976a">ripple::NodeStore::Backend</a>.</p>
<p class="definition">Definition at line <a class="el" href="NuDBFactory_8cpp_source.html#l00186">186</a> of file <a class="el" href="NuDBFactory_8cpp_source.html">NuDBFactory.cpp</a>.</p>
</div>
</div>
<a id="a4ffccad519a4ac36bb0329a186b4783f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ffccad519a4ac36bb0329a186b4783f">&#9670;&nbsp;</a></span>do_insert()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ripple::NodeStore::NuDBBackend::do_insert </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_1NodeObject.html">NodeObject</a> &gt; const &amp;&#160;</td>
<td class="paramname"><em>no</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="NuDBFactory_8cpp_source.html#l00193">193</a> of file <a class="el" href="NuDBFactory_8cpp_source.html">NuDBFactory.cpp</a>.</p>
</div>
</div>
<a id="a00c5d2a5073f3318fc0e52f255a1c212"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a00c5d2a5073f3318fc0e52f255a1c212">&#9670;&nbsp;</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::NuDBBackend::store </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_1NodeObject.html">NodeObject</a> &gt; const &amp;&#160;</td>
<td class="paramname"><em>object</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>Store a single object. </p>
<p>Depending on the implementation this may happen immediately or deferred using a scheduled task. </p><dl class="section note"><dt>Note</dt><dd>This will be called concurrently. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">object</td><td>The object to store. </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classripple_1_1NodeStore_1_1Backend.html#a8862f8d96713c985c3169e57cbb260c2">ripple::NodeStore::Backend</a>.</p>
<p class="definition">Definition at line <a class="el" href="NuDBFactory_8cpp_source.html#l00206">206</a> of file <a class="el" href="NuDBFactory_8cpp_source.html">NuDBFactory.cpp</a>.</p>
</div>
</div>
<a id="a4e9abc2a44a3501131709dcd6d5c509a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4e9abc2a44a3501131709dcd6d5c509a">&#9670;&nbsp;</a></span>storeBatch()</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::NuDBBackend::storeBatch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespaceripple_1_1NodeStore.html#ae0e4b79f8eb3ffa0bf8fcaf848643202">Batch</a> const &amp;&#160;</td>
<td class="paramname"><em>batch</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>Store a group of objects. </p>
<dl class="section note"><dt>Note</dt><dd>This function will not be called concurrently with itself or <a class="el" href="classripple_1_1NodeStore_1_1NuDBBackend.html#a00c5d2a5073f3318fc0e52f255a1c212">store</a>. </dd></dl>
<p>Implements <a class="el" href="classripple_1_1NodeStore_1_1Backend.html#acb1f22b4101841e695477646c95376a7">ripple::NodeStore::Backend</a>.</p>
<p class="definition">Definition at line <a class="el" href="NuDBFactory_8cpp_source.html#l00218">218</a> of file <a class="el" href="NuDBFactory_8cpp_source.html">NuDBFactory.cpp</a>.</p>
</div>
</div>
<a id="abaf0ba251ee000601135df13dd885dca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abaf0ba251ee000601135df13dd885dca">&#9670;&nbsp;</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::NuDBBackend::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">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_1Backend.html#a70721d2adc758a808d2536eee864df52">ripple::NodeStore::Backend</a>.</p>
<p class="definition">Definition at line <a class="el" href="NuDBFactory_8cpp_source.html#l00231">231</a> of file <a class="el" href="NuDBFactory_8cpp_source.html">NuDBFactory.cpp</a>.</p>
</div>
</div>
<a id="adf8b3a8b6f911845a8323cc00c0aeff0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adf8b3a8b6f911845a8323cc00c0aeff0">&#9670;&nbsp;</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">int ripple::NodeStore::NuDBBackend::getWriteLoad </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>Estimate the number of write operations pending. </p>
<p>Implements <a class="el" href="classripple_1_1NodeStore_1_1Backend.html#ac4d7008b7a616ce05568da3e96a204ec">ripple::NodeStore::Backend</a>.</p>
<p class="definition">Definition at line <a class="el" href="NuDBFactory_8cpp_source.html#l00268">268</a> of file <a class="el" href="NuDBFactory_8cpp_source.html">NuDBFactory.cpp</a>.</p>
</div>
</div>
<a id="ae6cf1bca8633f03532a5836b959adc60"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae6cf1bca8633f03532a5836b959adc60">&#9670;&nbsp;</a></span>setDeletePath()</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::NuDBBackend::setDeletePath </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 contents on disk upon destruction. </p>
<p>Implements <a class="el" href="classripple_1_1NodeStore_1_1Backend.html#a898be5251e9216eb21938e3083c2d1ef">ripple::NodeStore::Backend</a>.</p>
<p class="definition">Definition at line <a class="el" href="NuDBFactory_8cpp_source.html#l00274">274</a> of file <a class="el" href="NuDBFactory_8cpp_source.html">NuDBFactory.cpp</a>.</p>
</div>
</div>
<a id="ab012b4ff123427bc35a5d4ac4c6269c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab012b4ff123427bc35a5d4ac4c6269c0">&#9670;&nbsp;</a></span>verify()</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::NuDBBackend::verify </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>Perform consistency checks on database. </p>
<p>Implements <a class="el" href="classripple_1_1NodeStore_1_1Backend.html#ad2c3057545b73aee8e671f127b0ae084">ripple::NodeStore::Backend</a>.</p>
<p class="definition">Definition at line <a class="el" href="NuDBFactory_8cpp_source.html#l00280">280</a> of file <a class="el" href="NuDBFactory_8cpp_source.html">NuDBFactory.cpp</a>.</p>
</div>
</div>
<a id="a80ceb104dfe540399ddb1fe8d43111ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80ceb104dfe540399ddb1fe8d43111ac">&#9670;&nbsp;</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::NuDBBackend::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">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the number of file descriptors the backend expects to need. </p>
<p>Implements <a class="el" href="classripple_1_1NodeStore_1_1Backend.html#a915130d326c2e63209accb8af09cf8b4">ripple::NodeStore::Backend</a>.</p>
<p class="definition">Definition at line <a class="el" href="NuDBFactory_8cpp_source.html#l00299">299</a> of file <a class="el" href="NuDBFactory_8cpp_source.html">NuDBFactory.cpp</a>.</p>
</div>
</div>
<a id="ab07382d1cbb7d39fe7aacdbc17654861"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab07382d1cbb7d39fe7aacdbc17654861">&#9670;&nbsp;</a></span>backed()</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::Backend::backed </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 true if the backend uses permanent storage. </p>
<p class="definition">Definition at line <a class="el" href="Backend_8h_source.html#l00129">129</a> of file <a class="el" href="Backend_8h_source.html">Backend.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="adc4e6fbf3a6ea019794339b779878a2f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adc4e6fbf3a6ea019794339b779878a2f">&#9670;&nbsp;</a></span>currentType</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr <a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> ripple::NodeStore::NuDBBackend::currentType = 1</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="NuDBFactory_8cpp_source.html#l00041">41</a> of file <a class="el" href="NuDBFactory_8cpp_source.html">NuDBFactory.cpp</a>.</p>
</div>
</div>
<a id="a6e4630f4a1747a3a96a690a862e801ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e4630f4a1747a3a96a690a862e801ec">&#9670;&nbsp;</a></span>j_</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classbeast_1_1Journal.html">beast::Journal</a> ripple::NodeStore::NuDBBackend::j_</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="NuDBFactory_8cpp_source.html#l00043">43</a> of file <a class="el" href="NuDBFactory_8cpp_source.html">NuDBFactory.cpp</a>.</p>
</div>
</div>
<a id="ae9d0d8d731ae1ac3cc3bb35da8eaf9d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae9d0d8d731ae1ac3cc3bb35da8eaf9d2">&#9670;&nbsp;</a></span>keyBytes_</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const size_t ripple::NodeStore::NuDBBackend::keyBytes_</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="NuDBFactory_8cpp_source.html#l00044">44</a> of file <a class="el" href="NuDBFactory_8cpp_source.html">NuDBFactory.cpp</a>.</p>
</div>
</div>
<a id="a62b70315254855fd1fcbabe62d52495a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a62b70315254855fd1fcbabe62d52495a">&#9670;&nbsp;</a></span>name_</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="elRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> ripple::NodeStore::NuDBBackend::name_</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="NuDBFactory_8cpp_source.html#l00045">45</a> of file <a class="el" href="NuDBFactory_8cpp_source.html">NuDBFactory.cpp</a>.</p>
</div>
</div>
<a id="a93307b4032398645d984ecc1f90bd1e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93307b4032398645d984ecc1f90bd1e7">&#9670;&nbsp;</a></span>db_</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">nudb::store ripple::NodeStore::NuDBBackend::db_</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="NuDBFactory_8cpp_source.html#l00046">46</a> of file <a class="el" href="NuDBFactory_8cpp_source.html">NuDBFactory.cpp</a>.</p>
</div>
</div>
<a id="ac45f916ad224a53a053260d68b622bc7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac45f916ad224a53a053260d68b622bc7">&#9670;&nbsp;</a></span>deletePath_</h2>
<div class="memitem">
<div class="memproto">
<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::NuDBBackend::deletePath_</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="NuDBFactory_8cpp_source.html#l00047">47</a> of file <a class="el" href="NuDBFactory_8cpp_source.html">NuDBFactory.cpp</a>.</p>
</div>
</div>
<a id="a265296b90c702786f4944f344f31d132"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a265296b90c702786f4944f344f31d132">&#9670;&nbsp;</a></span>scheduler_</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classripple_1_1NodeStore_1_1Scheduler.html">Scheduler</a>&amp; ripple::NodeStore::NuDBBackend::scheduler_</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="NuDBFactory_8cpp_source.html#l00048">48</a> of file <a class="el" href="NuDBFactory_8cpp_source.html">NuDBFactory.cpp</a>.</p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>