Files
rippled/classripple_1_1NodeStore_1_1Manager.html
2021-06-04 17:39:30 +00:00

490 lines
26 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::Manager 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_1Manager.html">Manager</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="classripple_1_1NodeStore_1_1Manager-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">ripple::NodeStore::Manager Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
<p>Singleton for managing <a class="el" href="namespaceripple_1_1NodeStore.html">NodeStore</a> factories and back ends.
<a href="classripple_1_1NodeStore_1_1Manager.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for ripple::NodeStore::Manager:</div>
<div class="dyncontent">
<div class="center"><img src="classripple_1_1NodeStore_1_1Manager__inherit__graph.png" border="0" usemap="#ripple_1_1NodeStore_1_1Manager_inherit__map" alt="Inheritance graph"/></div>
<map name="ripple_1_1NodeStore_1_1Manager_inherit__map" id="ripple_1_1NodeStore_1_1Manager_inherit__map">
<area shape="rect" title="Singleton for managing NodeStore factories and back ends." alt="" coords="5,5,148,47"/>
<area shape="rect" href="classripple_1_1NodeStore_1_1ManagerImp.html" title=" " alt="" coords="5,95,148,136"/>
</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:a8149442311a55be70b5c10b3986ac28f"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Manager.html#a8149442311a55be70b5c10b3986ac28f">~Manager</a> ()=default</td></tr>
<tr class="separator:a8149442311a55be70b5c10b3986ac28f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30bb88958a02bd046b4c1642cee0eac7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Manager.html#a30bb88958a02bd046b4c1642cee0eac7">Manager</a> ()=default</td></tr>
<tr class="separator:a30bb88958a02bd046b4c1642cee0eac7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e6c1de294b01b889035f9d7469246aa"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Manager.html#a7e6c1de294b01b889035f9d7469246aa">Manager</a> (<a class="el" href="classripple_1_1NodeStore_1_1Manager.html">Manager</a> const &amp;)=delete</td></tr>
<tr class="separator:a7e6c1de294b01b889035f9d7469246aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a169ac4623c50c84391cb2dc92a0a2417"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1NodeStore_1_1Manager.html">Manager</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Manager.html#a169ac4623c50c84391cb2dc92a0a2417">operator=</a> (<a class="el" href="classripple_1_1NodeStore_1_1Manager.html">Manager</a> const &amp;)=delete</td></tr>
<tr class="separator:a169ac4623c50c84391cb2dc92a0a2417"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1f23554e59a7319ffe3e235cd7028c3"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Manager.html#ab1f23554e59a7319ffe3e235cd7028c3">insert</a> (<a class="el" href="classripple_1_1NodeStore_1_1Factory.html">Factory</a> &amp;factory)=0</td></tr>
<tr class="memdesc:ab1f23554e59a7319ffe3e235cd7028c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a factory. <a href="classripple_1_1NodeStore_1_1Manager.html#ab1f23554e59a7319ffe3e235cd7028c3">More...</a><br /></td></tr>
<tr class="separator:ab1f23554e59a7319ffe3e235cd7028c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b76452a117753769c60071959d65f23"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Manager.html#a9b76452a117753769c60071959d65f23">erase</a> (<a class="el" href="classripple_1_1NodeStore_1_1Factory.html">Factory</a> &amp;factory)=0</td></tr>
<tr class="memdesc:a9b76452a117753769c60071959d65f23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a factory. <a href="classripple_1_1NodeStore_1_1Manager.html#a9b76452a117753769c60071959d65f23">More...</a><br /></td></tr>
<tr class="separator:a9b76452a117753769c60071959d65f23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ba9ddfb3327328112ef8d906297fdaa"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classripple_1_1NodeStore_1_1Factory.html">Factory</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Manager.html#a2ba9ddfb3327328112ef8d906297fdaa">find</a> (<a class="elRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> const &amp;name)=0</td></tr>
<tr class="memdesc:a2ba9ddfb3327328112ef8d906297fdaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a pointer to the matching factory if it exists. <a href="classripple_1_1NodeStore_1_1Manager.html#a2ba9ddfb3327328112ef8d906297fdaa">More...</a><br /></td></tr>
<tr class="separator:a2ba9ddfb3327328112ef8d906297fdaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81a6d60d5ccc13e9b0ad87dd6ea7aeca"><td class="memItemLeft" align="right" valign="top">virtual <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">Backend</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Manager.html#a81a6d60d5ccc13e9b0ad87dd6ea7aeca">make_Backend</a> (<a class="el" href="classripple_1_1Section.html">Section</a> const &amp;parameters, <a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> burstSize, <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)=0</td></tr>
<tr class="memdesc:a81a6d60d5ccc13e9b0ad87dd6ea7aeca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a backend. <a href="classripple_1_1NodeStore_1_1Manager.html#a81a6d60d5ccc13e9b0ad87dd6ea7aeca">More...</a><br /></td></tr>
<tr class="separator:a81a6d60d5ccc13e9b0ad87dd6ea7aeca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e82d3f2c6e287a81d504175b0496d94"><td class="memItemLeft" align="right" valign="top">virtual <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_1Database.html">Database</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Manager.html#a6e82d3f2c6e287a81d504175b0496d94">make_Database</a> (<a class="elRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> burstSize, <a class="el" href="classripple_1_1NodeStore_1_1Scheduler.html">Scheduler</a> &amp;scheduler, int readThreads, <a class="el" href="classripple_1_1Section.html">Section</a> const &amp;backendParameters, <a class="el" href="classbeast_1_1Journal.html">beast::Journal</a> journal)=0</td></tr>
<tr class="memdesc:a6e82d3f2c6e287a81d504175b0496d94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a <a class="el" href="namespaceripple_1_1NodeStore.html">NodeStore</a> database. <a href="classripple_1_1NodeStore_1_1Manager.html#a6e82d3f2c6e287a81d504175b0496d94">More...</a><br /></td></tr>
<tr class="separator:a6e82d3f2c6e287a81d504175b0496d94"><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-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a59f9bcb7e6049d1b4c557891992f6cab"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classripple_1_1NodeStore_1_1Manager.html">Manager</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1NodeStore_1_1Manager.html#a59f9bcb7e6049d1b4c557891992f6cab">instance</a> ()</td></tr>
<tr class="memdesc:a59f9bcb7e6049d1b4c557891992f6cab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the instance of the manager singleton. <a href="classripple_1_1NodeStore_1_1Manager.html#a59f9bcb7e6049d1b4c557891992f6cab">More...</a><br /></td></tr>
<tr class="separator:a59f9bcb7e6049d1b4c557891992f6cab"><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>Singleton for managing <a class="el" href="namespaceripple_1_1NodeStore.html">NodeStore</a> factories and back ends. </p>
<p class="definition">Definition at line <a class="el" href="Manager_8h_source.html#l00032">32</a> of file <a class="el" href="Manager_8h_source.html">Manager.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a8149442311a55be70b5c10b3986ac28f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8149442311a55be70b5c10b3986ac28f">&#9670;&nbsp;</a></span>~Manager()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual ripple::NodeStore::Manager::~Manager </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">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a30bb88958a02bd046b4c1642cee0eac7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a30bb88958a02bd046b4c1642cee0eac7">&#9670;&nbsp;</a></span>Manager() <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">ripple::NodeStore::Manager::Manager </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a7e6c1de294b01b889035f9d7469246aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e6c1de294b01b889035f9d7469246aa">&#9670;&nbsp;</a></span>Manager() <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">ripple::NodeStore::Manager::Manager </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1NodeStore_1_1Manager.html">Manager</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>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a169ac4623c50c84391cb2dc92a0a2417"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a169ac4623c50c84391cb2dc92a0a2417">&#9670;&nbsp;</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_1Manager.html">Manager</a>&amp; ripple::NodeStore::Manager::operator= </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1NodeStore_1_1Manager.html">Manager</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="a59f9bcb7e6049d1b4c557891992f6cab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a59f9bcb7e6049d1b4c557891992f6cab">&#9670;&nbsp;</a></span>instance()</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_1Manager.html">Manager</a> &amp; ripple::NodeStore::Manager::instance </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the instance of the manager singleton. </p>
<p class="definition">Definition at line <a class="el" href="ManagerImp_8cpp_source.html#l00120">120</a> of file <a class="el" href="ManagerImp_8cpp_source.html">ManagerImp.cpp</a>.</p>
</div>
</div>
<a id="ab1f23554e59a7319ffe3e235cd7028c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab1f23554e59a7319ffe3e235cd7028c3">&#9670;&nbsp;</a></span>insert()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void ripple::NodeStore::Manager::insert </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1NodeStore_1_1Factory.html">Factory</a> &amp;&#160;</td>
<td class="paramname"><em>factory</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a factory. </p>
<p>Implemented in <a class="el" href="classripple_1_1NodeStore_1_1ManagerImp.html#ad2d388676749a5f1d78b9e32c27b5f0b">ripple::NodeStore::ManagerImp</a>.</p>
</div>
</div>
<a id="a9b76452a117753769c60071959d65f23"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b76452a117753769c60071959d65f23">&#9670;&nbsp;</a></span>erase()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void ripple::NodeStore::Manager::erase </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1NodeStore_1_1Factory.html">Factory</a> &amp;&#160;</td>
<td class="paramname"><em>factory</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Remove a factory. </p>
<p>Implemented in <a class="el" href="classripple_1_1NodeStore_1_1ManagerImp.html#aef832b0f75c6d3f277664399acb466be">ripple::NodeStore::ManagerImp</a>.</p>
</div>
</div>
<a id="a2ba9ddfb3327328112ef8d906297fdaa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ba9ddfb3327328112ef8d906297fdaa">&#9670;&nbsp;</a></span>find()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classripple_1_1NodeStore_1_1Factory.html">Factory</a>* ripple::NodeStore::Manager::find </td>
<td>(</td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> const &amp;&#160;</td>
<td class="paramname"><em>name</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Return a pointer to the matching factory if it exists. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">name</td><td>The name to match, performed case-insensitive. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>nullptr</code> if a match was not found. </dd></dl>
<p>Implemented in <a class="el" href="classripple_1_1NodeStore_1_1ManagerImp.html#a3426a8df0e54bf2fb73ad4f0c334ef9a">ripple::NodeStore::ManagerImp</a>.</p>
</div>
</div>
<a id="a81a6d60d5ccc13e9b0ad87dd6ea7aeca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a81a6d60d5ccc13e9b0ad87dd6ea7aeca">&#9670;&nbsp;</a></span>make_Backend()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="elRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr</a>&lt;<a class="el" href="classripple_1_1NodeStore_1_1Backend.html">Backend</a>&gt; ripple::NodeStore::Manager::make_Backend </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1Section.html">Section</a> const &amp;&#160;</td>
<td class="paramname"><em>parameters</em>, </td>
</tr>
<tr>
<td class="paramkey"></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>burstSize</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>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a backend. </p>
<p>Implemented in <a class="el" href="classripple_1_1NodeStore_1_1ManagerImp.html#aef7e34cffd643fe39fc726e3a05bc6d6">ripple::NodeStore::ManagerImp</a>.</p>
</div>
</div>
<a id="a6e82d3f2c6e287a81d504175b0496d94"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e82d3f2c6e287a81d504175b0496d94">&#9670;&nbsp;</a></span>make_Database()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="elRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr</a>&lt;<a class="el" href="classripple_1_1NodeStore_1_1Database.html">Database</a>&gt; ripple::NodeStore::Manager::make_Database </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>burstSize</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">int&#160;</td>
<td class="paramname"><em>readThreads</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>backendParameters</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classbeast_1_1Journal.html">beast::Journal</a>&#160;</td>
<td class="paramname"><em>journal</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct a <a class="el" href="namespaceripple_1_1NodeStore.html">NodeStore</a> database. </p>
<p>The parameters are key value pairs passed to the backend. The 'type' key must exist, it defines the choice of backend. Most backends also require a 'path' field.</p>
<p>Some choices for 'type' are: HyperLevelDB, LevelDBFactory, SQLite, MDB</p>
<p>If the fastBackendParameter is omitted or empty, no ephemeral database is used. If the scheduler parameter is omited or unspecified, a synchronous scheduler is used which performs all tasks immediately on the caller's thread.</p>
<dl class="section note"><dt>Note</dt><dd>If the database cannot be opened or created, an exception is thrown.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">name</td><td>A diagnostic label for the database. </td></tr>
<tr><td class="paramname">burstSize</td><td><a class="el" href="classripple_1_1NodeStore_1_1Backend.html" title="A backend used for the NodeStore.">Backend</a> burst size in bytes. </td></tr>
<tr><td class="paramname">scheduler</td><td>The scheduler to use for performing asynchronous tasks. </td></tr>
<tr><td class="paramname">readThreads</td><td>The number of async read threads to create </td></tr>
<tr><td class="paramname">backendParameters</td><td>The parameter string for the persistent backend. </td></tr>
<tr><td class="paramname">fastBackendParameters</td><td>[optional] The parameter string for the ephemeral backend.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The opened database. </dd></dl>
<p>Implemented in <a class="el" href="classripple_1_1NodeStore_1_1ManagerImp.html#aa941b477c4c389f0bba51e8705514733">ripple::NodeStore::ManagerImp</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>