This commit is contained in:
manojsdoshi
2020-04-24 01:09:47 +00:00
parent 4ad595bf18
commit 430f6c0cf3
2864 changed files with 304301 additions and 292875 deletions

View File

@@ -88,8 +88,8 @@ $(function() {
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">//==============================================================================</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; </div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &lt;ripple/nodestore/impl/ManagerImp.h&gt;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &lt;ripple/nodestore/impl/DatabaseNodeImp.h&gt;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &lt;ripple/nodestore/impl/DatabaseNodeImp.h&gt;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &lt;ripple/nodestore/impl/ManagerImp.h&gt;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; </div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &lt;boost/algorithm/string/predicate.hpp&gt;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
@@ -106,77 +106,77 @@ $(function() {
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keywordtype">void</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="classripple_1_1NodeStore_1_1ManagerImp.html#ad406709fa9da290e48fb88ef1c7b1536"> 36</a></span>&#160;<a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#ad406709fa9da290e48fb88ef1c7b1536">ManagerImp::missing_backend</a>()</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;{</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; Throw&lt;std::runtime_error&gt; (</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; Throw&lt;std::runtime_error&gt;(</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="stringliteral">&quot;Your rippled.cfg is missing a [node_db] entry, &quot;</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="stringliteral">&quot;please see the rippled-example.cfg file!&quot;</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; );</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;}</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; </div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr &lt;Backend&gt;</a></div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="classripple_1_1NodeStore_1_1ManagerImp.html#ab97d1fb7cf772b20aa2acb37adbfb626"> 45</a></span>&#160;<a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#ab97d1fb7cf772b20aa2acb37adbfb626">ManagerImp::make_Backend</a> (</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="classripple_1_1Section.html">Section</a> <span class="keyword">const</span>&amp; parameters,</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="classripple_1_1NodeStore_1_1Scheduler.html">Scheduler</a>&amp; scheduler,</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="classbeast_1_1Journal.html">beast::Journal</a> journal)</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;{</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span> type {get&lt;std::string&gt;(parameters, <span class="stringliteral">&quot;type&quot;</span>)};</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">if</span> (type.empty())</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#ad406709fa9da290e48fb88ef1c7b1536">missing_backend</a>();</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; </div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keyword">auto</span> factory {<a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#a3426a8df0e54bf2fb73ad4f0c334ef9a">find</a>(type)};</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">if</span>(!factory)</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#ad406709fa9da290e48fb88ef1c7b1536">missing_backend</a>();</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; </div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">return</span> factory-&gt;createInstance(</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="classripple_1_1NodeObject.html#a013fd7083d2cf13e77e282e9f3888ecc">NodeObject::keyBytes</a>, parameters, scheduler, journal);</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;}</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; </div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr &lt;Database&gt;</a></div>
<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="classripple_1_1NodeStore_1_1ManagerImp.html#aef58ca4112dbcbe823a46e51b30f8d16"> 63</a></span>&#160;<a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#aef58ca4112dbcbe823a46e51b30f8d16">ManagerImp::make_Database</a> (</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>&amp; name,</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="classripple_1_1NodeStore_1_1Scheduler.html">Scheduler</a>&amp; scheduler,</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordtype">int</span> readThreads,</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="classripple_1_1Stoppable.html">Stoppable</a>&amp; parent,</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <a class="code" href="classripple_1_1Section.html">Section</a> <span class="keyword">const</span>&amp; config,</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <a class="code" href="classbeast_1_1Journal.html">beast::Journal</a> journal)</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;{</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keyword">auto</span> backend {<a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#ab97d1fb7cf772b20aa2acb37adbfb626">make_Backend</a>(config, scheduler, journal)};</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; backend-&gt;open();</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">return</span> std::make_unique &lt;DatabaseNodeImp&gt;(</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; name,</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; scheduler,</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; readThreads,</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; parent,</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; std::move(backend),</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; config,</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; journal);</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;}</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; </div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="keywordtype">void</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="classripple_1_1NodeStore_1_1ManagerImp.html#ad2d388676749a5f1d78b9e32c27b5f0b"> 84</a></span>&#160;<a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#ad2d388676749a5f1d78b9e32c27b5f0b">ManagerImp::insert</a> (<a class="code" href="classripple_1_1NodeStore_1_1Factory.html">Factory</a>&amp; factory)</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;{</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> _(<a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#a19b1a6d9001939e7d9dfe03111cab59c">mutex_</a>);</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#a632ceeac001a49fb51681b1b0a2dcd21">list_</a>.push_back(&amp;factory);</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;}</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; </div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="keywordtype">void</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="classripple_1_1NodeStore_1_1ManagerImp.html#aef832b0f75c6d3f277664399acb466be"> 91</a></span>&#160;<a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#aef832b0f75c6d3f277664399acb466be">ManagerImp::erase</a> (<a class="code" href="classripple_1_1NodeStore_1_1Factory.html">Factory</a>&amp; factory)</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;{</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> _(<a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#a19b1a6d9001939e7d9dfe03111cab59c">mutex_</a>);</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> iter = <a class="codeRef" href="http://en.cppreference.com/w/cpp/algorithm/find.html">std::find_if</a>(<a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#a632ceeac001a49fb51681b1b0a2dcd21">list_</a>.begin(), <a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#a632ceeac001a49fb51681b1b0a2dcd21">list_</a>.end(),</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; [&amp;factory](<a class="code" href="classripple_1_1NodeStore_1_1Factory.html">Factory</a>* other) { return other == &amp;factory; });</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; assert(iter != <a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#a632ceeac001a49fb51681b1b0a2dcd21">list_</a>.end());</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#a632ceeac001a49fb51681b1b0a2dcd21">list_</a>.erase(iter);</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;}</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; </div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<a class="code" href="classripple_1_1NodeStore_1_1Factory.html">Factory</a>*</div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="classripple_1_1NodeStore_1_1ManagerImp.html#a3426a8df0e54bf2fb73ad4f0c334ef9a"> 101</a></span>&#160;<a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#a3426a8df0e54bf2fb73ad4f0c334ef9a">ManagerImp::find</a> (<a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>&amp; name)</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;{</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> _(<a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#a19b1a6d9001939e7d9dfe03111cab59c">mutex_</a>);</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> iter = <a class="codeRef" href="http://en.cppreference.com/w/cpp/algorithm/find.html">std::find_if</a>(<a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#a632ceeac001a49fb51681b1b0a2dcd21">list_</a>.begin(), <a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#a632ceeac001a49fb51681b1b0a2dcd21">list_</a>.end(),</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; [&amp;name](<a class="code" href="classripple_1_1NodeStore_1_1Factory.html">Factory</a>* other)</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; {</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="stringliteral">&quot;please see the rippled-example.cfg file!&quot;</span>);</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;}</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; </div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr&lt;Backend&gt;</a></div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="classripple_1_1NodeStore_1_1ManagerImp.html#ab97d1fb7cf772b20aa2acb37adbfb626"> 44</a></span>&#160;<a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#ab97d1fb7cf772b20aa2acb37adbfb626">ManagerImp::make_Backend</a>(</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="classripple_1_1Section.html">Section</a> <span class="keyword">const</span>&amp; parameters,</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="classripple_1_1NodeStore_1_1Scheduler.html">Scheduler</a>&amp; scheduler,</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="classbeast_1_1Journal.html">beast::Journal</a> journal)</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;{</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span> type{get&lt;std::string&gt;(parameters, <span class="stringliteral">&quot;type&quot;</span>)};</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keywordflow">if</span> (type.empty())</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#ad406709fa9da290e48fb88ef1c7b1536">missing_backend</a>();</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; </div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keyword">auto</span> factory{<a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#a3426a8df0e54bf2fb73ad4f0c334ef9a">find</a>(type)};</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">if</span> (!factory)</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#ad406709fa9da290e48fb88ef1c7b1536">missing_backend</a>();</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; </div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">return</span> factory-&gt;createInstance(</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="classripple_1_1NodeObject.html#a013fd7083d2cf13e77e282e9f3888ecc">NodeObject::keyBytes</a>, parameters, scheduler, journal);</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;}</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; </div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr&lt;Database&gt;</a></div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="classripple_1_1NodeStore_1_1ManagerImp.html#aef58ca4112dbcbe823a46e51b30f8d16"> 62</a></span>&#160;<a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#aef58ca4112dbcbe823a46e51b30f8d16">ManagerImp::make_Database</a>(</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>&amp; name,</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="code" href="classripple_1_1NodeStore_1_1Scheduler.html">Scheduler</a>&amp; scheduler,</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordtype">int</span> readThreads,</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="classripple_1_1Stoppable.html">Stoppable</a>&amp; parent,</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="classripple_1_1Section.html">Section</a> <span class="keyword">const</span>&amp; config,</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <a class="code" href="classbeast_1_1Journal.html">beast::Journal</a> journal)</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;{</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keyword">auto</span> backend{<a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#ab97d1fb7cf772b20aa2acb37adbfb626">make_Backend</a>(config, scheduler, journal)};</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; backend-&gt;open();</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">return</span> std::make_unique&lt;DatabaseNodeImp&gt;(</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; name,</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; scheduler,</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; readThreads,</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; parent,</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; std::move(backend),</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; config,</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; journal);</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;}</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; </div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="keywordtype">void</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="classripple_1_1NodeStore_1_1ManagerImp.html#ad2d388676749a5f1d78b9e32c27b5f0b"> 83</a></span>&#160;<a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#ad2d388676749a5f1d78b9e32c27b5f0b">ManagerImp::insert</a>(<a class="code" href="classripple_1_1NodeStore_1_1Factory.html">Factory</a>&amp; factory)</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;{</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> _(<a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#a19b1a6d9001939e7d9dfe03111cab59c">mutex_</a>);</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#a632ceeac001a49fb51681b1b0a2dcd21">list_</a>.push_back(&amp;factory);</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;}</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; </div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="keywordtype">void</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="classripple_1_1NodeStore_1_1ManagerImp.html#aef832b0f75c6d3f277664399acb466be"> 90</a></span>&#160;<a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#aef832b0f75c6d3f277664399acb466be">ManagerImp::erase</a>(<a class="code" href="classripple_1_1NodeStore_1_1Factory.html">Factory</a>&amp; factory)</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;{</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> _(<a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#a19b1a6d9001939e7d9dfe03111cab59c">mutex_</a>);</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> iter =</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/algorithm/find.html">std::find_if</a>(<a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#a632ceeac001a49fb51681b1b0a2dcd21">list_</a>.begin(), <a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#a632ceeac001a49fb51681b1b0a2dcd21">list_</a>.end(), [&amp;factory](<a class="code" href="classripple_1_1NodeStore_1_1Factory.html">Factory</a>* other) {</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; return other == &amp;factory;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; });</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; assert(iter != <a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#a632ceeac001a49fb51681b1b0a2dcd21">list_</a>.end());</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#a632ceeac001a49fb51681b1b0a2dcd21">list_</a>.erase(iter);</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;}</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; </div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<a class="code" href="classripple_1_1NodeStore_1_1Factory.html">Factory</a>*</div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classripple_1_1NodeStore_1_1ManagerImp.html#a3426a8df0e54bf2fb73ad4f0c334ef9a"> 102</a></span>&#160;<a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#a3426a8df0e54bf2fb73ad4f0c334ef9a">ManagerImp::find</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>&amp; name)</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;{</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> _(<a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#a19b1a6d9001939e7d9dfe03111cab59c">mutex_</a>);</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> iter =</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/algorithm/find.html">std::find_if</a>(<a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#a632ceeac001a49fb51681b1b0a2dcd21">list_</a>.begin(), <a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#a632ceeac001a49fb51681b1b0a2dcd21">list_</a>.end(), [&amp;name](<a class="code" href="classripple_1_1NodeStore_1_1Factory.html">Factory</a>* other) {</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; return boost::iequals(name, other-&gt;getName());</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; } );</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; });</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">if</span> (iter == <a class="code" href="classripple_1_1NodeStore_1_1ManagerImp.html#a632ceeac001a49fb51681b1b0a2dcd21">list_</a>.end())</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">return</span> *iter;</div>
@@ -192,42 +192,43 @@ $(function() {
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; </div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment">//------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; </div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr &lt;Backend&gt;</a></div>
<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="namespaceripple_1_1NodeStore.html#ab7e449f135fe12401b6ecf8a8898c51b"> 125</a></span>&#160;<a class="code" href="namespaceripple_1_1NodeStore.html#ab7e449f135fe12401b6ecf8a8898c51b">make_Backend</a> (<a class="code" href="classripple_1_1Section.html">Section</a> <span class="keyword">const</span>&amp; config,</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="classripple_1_1NodeStore_1_1Scheduler.html">Scheduler</a>&amp; scheduler, <a class="code" href="classbeast_1_1Journal.html">beast::Journal</a> journal)</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;{</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classripple_1_1NodeStore_1_1Manager.html#a59f9bcb7e6049d1b4c557891992f6cab">Manager::instance</a>().<a class="code" href="classripple_1_1NodeStore_1_1Manager.html#a5008bfc75ce6dbf0bee4cc5de5fe51a9">make_Backend</a> (</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; config, scheduler, journal);</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;}</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; </div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;}</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;}</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr&lt;Backend&gt;</a></div>
<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="namespaceripple_1_1NodeStore.html#ab7e449f135fe12401b6ecf8a8898c51b"> 125</a></span>&#160;<a class="code" href="namespaceripple_1_1NodeStore.html#ab7e449f135fe12401b6ecf8a8898c51b">make_Backend</a>(</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="classripple_1_1Section.html">Section</a> <span class="keyword">const</span>&amp; config,</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="classripple_1_1NodeStore_1_1Scheduler.html">Scheduler</a>&amp; scheduler,</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="classbeast_1_1Journal.html">beast::Journal</a> journal)</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;{</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classripple_1_1NodeStore_1_1Manager.html#a59f9bcb7e6049d1b4c557891992f6cab">Manager::instance</a>().<a class="code" href="classripple_1_1NodeStore_1_1Manager.html#a5008bfc75ce6dbf0bee4cc5de5fe51a9">make_Backend</a>(config, scheduler, journal);</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;}</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; </div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;} <span class="comment">// namespace NodeStore</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;} <span class="comment">// namespace ripple</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassripple_1_1Section_html"><div class="ttname"><a href="classripple_1_1Section.html">ripple::Section</a></div><div class="ttdoc">Holds a collection of configuration values.</div><div class="ttdef"><b>Definition:</b> <a href="BasicConfig_8h_source.html#l00043">BasicConfig.h:43</a></div></div>
<div class="ttc" id="aclassripple_1_1NodeStore_1_1Manager_html"><div class="ttname"><a href="classripple_1_1NodeStore_1_1Manager.html">ripple::NodeStore::Manager</a></div><div class="ttdoc">Singleton for managing NodeStore factories and back ends.</div><div class="ttdef"><b>Definition:</b> <a href="Manager_8h_source.html#l00031">Manager.h:31</a></div></div>
<div class="ttc" id="aclassripple_1_1NodeStore_1_1ManagerImp_html_aef58ca4112dbcbe823a46e51b30f8d16"><div class="ttname"><a href="classripple_1_1NodeStore_1_1ManagerImp.html#aef58ca4112dbcbe823a46e51b30f8d16">ripple::NodeStore::ManagerImp::make_Database</a></div><div class="ttdeci">std::unique_ptr&lt; Database &gt; make_Database(std::string const &amp;name, Scheduler &amp;scheduler, int readThreads, Stoppable &amp;parent, Section const &amp;config, beast::Journal journal) override</div><div class="ttdoc">Construct a NodeStore database.</div><div class="ttdef"><b>Definition:</b> <a href="ManagerImp_8cpp_source.html#l00063">ManagerImp.cpp:63</a></div></div>
<div class="ttc" id="aclassripple_1_1NodeStore_1_1ManagerImp_html_aef58ca4112dbcbe823a46e51b30f8d16"><div class="ttname"><a href="classripple_1_1NodeStore_1_1ManagerImp.html#aef58ca4112dbcbe823a46e51b30f8d16">ripple::NodeStore::ManagerImp::make_Database</a></div><div class="ttdeci">std::unique_ptr&lt; Database &gt; make_Database(std::string const &amp;name, Scheduler &amp;scheduler, int readThreads, Stoppable &amp;parent, Section const &amp;config, beast::Journal journal) override</div><div class="ttdoc">Construct a NodeStore database.</div><div class="ttdef"><b>Definition:</b> <a href="ManagerImp_8cpp_source.html#l00062">ManagerImp.cpp:62</a></div></div>
<div class="ttc" id="aclassripple_1_1NodeStore_1_1Factory_html"><div class="ttname"><a href="classripple_1_1NodeStore_1_1Factory.html">ripple::NodeStore::Factory</a></div><div class="ttdoc">Base class for backend factories.</div><div class="ttdef"><b>Definition:</b> <a href="Factory_8h_source.html#l00032">Factory.h:32</a></div></div>
<div class="ttc" id="abasic_string_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a></div><div class="ttdoc">STL class.</div></div>
<div class="ttc" id="aclassripple_1_1NodeStore_1_1ManagerImp_html_ad2d388676749a5f1d78b9e32c27b5f0b"><div class="ttname"><a href="classripple_1_1NodeStore_1_1ManagerImp.html#ad2d388676749a5f1d78b9e32c27b5f0b">ripple::NodeStore::ManagerImp::insert</a></div><div class="ttdeci">void insert(Factory &amp;factory) override</div><div class="ttdoc">Add a factory.</div><div class="ttdef"><b>Definition:</b> <a href="ManagerImp_8cpp_source.html#l00084">ManagerImp.cpp:84</a></div></div>
<div class="ttc" id="aclassripple_1_1NodeStore_1_1ManagerImp_html_ad2d388676749a5f1d78b9e32c27b5f0b"><div class="ttname"><a href="classripple_1_1NodeStore_1_1ManagerImp.html#ad2d388676749a5f1d78b9e32c27b5f0b">ripple::NodeStore::ManagerImp::insert</a></div><div class="ttdeci">void insert(Factory &amp;factory) override</div><div class="ttdoc">Add a factory.</div><div class="ttdef"><b>Definition:</b> <a href="ManagerImp_8cpp_source.html#l00083">ManagerImp.cpp:83</a></div></div>
<div class="ttc" id="aclassripple_1_1NodeStore_1_1ManagerImp_html"><div class="ttname"><a href="classripple_1_1NodeStore_1_1ManagerImp.html">ripple::NodeStore::ManagerImp</a></div><div class="ttdef"><b>Definition:</b> <a href="ManagerImp_8h_source.html#l00028">ManagerImp.h:28</a></div></div>
<div class="ttc" id="afind_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/find.html">std::find_if</a></div><div class="ttdeci">T find_if(T... args)</div></div>
<div class="ttc" id="aclassripple_1_1NodeStore_1_1ManagerImp_html_ad406709fa9da290e48fb88ef1c7b1536"><div class="ttname"><a href="classripple_1_1NodeStore_1_1ManagerImp.html#ad406709fa9da290e48fb88ef1c7b1536">ripple::NodeStore::ManagerImp::missing_backend</a></div><div class="ttdeci">static void missing_backend()</div><div class="ttdef"><b>Definition:</b> <a href="ManagerImp_8cpp_source.html#l00036">ManagerImp.cpp:36</a></div></div>
<div class="ttc" id="alock_guard_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a></div><div class="ttdoc">STL class.</div></div>
<div class="ttc" id="aclassripple_1_1NodeStore_1_1Manager_html_a5008bfc75ce6dbf0bee4cc5de5fe51a9"><div class="ttname"><a href="classripple_1_1NodeStore_1_1Manager.html#a5008bfc75ce6dbf0bee4cc5de5fe51a9">ripple::NodeStore::Manager::make_Backend</a></div><div class="ttdeci">virtual std::unique_ptr&lt; Backend &gt; make_Backend(Section const &amp;parameters, Scheduler &amp;scheduler, beast::Journal journal)=0</div><div class="ttdoc">Create a backend.</div></div>
<div class="ttc" id="aclassripple_1_1NodeStore_1_1ManagerImp_html_a3426a8df0e54bf2fb73ad4f0c334ef9a"><div class="ttname"><a href="classripple_1_1NodeStore_1_1ManagerImp.html#a3426a8df0e54bf2fb73ad4f0c334ef9a">ripple::NodeStore::ManagerImp::find</a></div><div class="ttdeci">Factory * find(std::string const &amp;name) override</div><div class="ttdoc">Return a pointer to the matching factory if it exists.</div><div class="ttdef"><b>Definition:</b> <a href="ManagerImp_8cpp_source.html#l00101">ManagerImp.cpp:101</a></div></div>
<div class="ttc" id="aclassripple_1_1NodeStore_1_1ManagerImp_html_a3426a8df0e54bf2fb73ad4f0c334ef9a"><div class="ttname"><a href="classripple_1_1NodeStore_1_1ManagerImp.html#a3426a8df0e54bf2fb73ad4f0c334ef9a">ripple::NodeStore::ManagerImp::find</a></div><div class="ttdeci">Factory * find(std::string const &amp;name) override</div><div class="ttdoc">Return a pointer to the matching factory if it exists.</div><div class="ttdef"><b>Definition:</b> <a href="ManagerImp_8cpp_source.html#l00102">ManagerImp.cpp:102</a></div></div>
<div class="ttc" id="aclassripple_1_1Stoppable_html"><div class="ttname"><a href="classripple_1_1Stoppable.html">ripple::Stoppable</a></div><div class="ttdoc">Provides an interface for starting and stopping.</div><div class="ttdef"><b>Definition:</b> <a href="Stoppable_8h_source.html#l00200">Stoppable.h:200</a></div></div>
<div class="ttc" id="aclassripple_1_1NodeStore_1_1ManagerImp_html_aca1e1c217cd55959bd64ca9819a2d537"><div class="ttname"><a href="classripple_1_1NodeStore_1_1ManagerImp.html#aca1e1c217cd55959bd64ca9819a2d537">ripple::NodeStore::ManagerImp::instance</a></div><div class="ttdeci">static ManagerImp &amp; instance()</div><div class="ttdef"><b>Definition:</b> <a href="ManagerImp_8cpp_source.html#l00029">ManagerImp.cpp:29</a></div></div>
<div class="ttc" id="aclassbeast_1_1Journal_html"><div class="ttname"><a href="classbeast_1_1Journal.html">beast::Journal</a></div><div class="ttdoc">A generic endpoint for log messages.</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00060">Journal.h:60</a></div></div>
<div class="ttc" id="aclassbeast_1_1Journal_html"><div class="ttname"><a href="classbeast_1_1Journal.html">beast::Journal</a></div><div class="ttdoc">A generic endpoint for log messages.</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00058">Journal.h:58</a></div></div>
<div class="ttc" id="aclassripple_1_1NodeStore_1_1Scheduler_html"><div class="ttname"><a href="classripple_1_1NodeStore_1_1Scheduler.html">ripple::NodeStore::Scheduler</a></div><div class="ttdoc">Scheduling for asynchronous backend activity.</div><div class="ttdef"><b>Definition:</b> <a href="ripple_2nodestore_2Scheduler_8h_source.html#l00057">ripple/nodestore/Scheduler.h:57</a></div></div>
<div class="ttc" id="anamespaceripple_html"><div class="ttname"><a href="namespaceripple.html">ripple</a></div><div class="ttdoc">Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.</div><div class="ttdef"><b>Definition:</b> <a href="RCLCensorshipDetector_8h_source.html#l00029">RCLCensorshipDetector.h:29</a></div></div>
<div class="ttc" id="aclassripple_1_1NodeObject_html_a013fd7083d2cf13e77e282e9f3888ecc"><div class="ttname"><a href="classripple_1_1NodeObject.html#a013fd7083d2cf13e77e282e9f3888ecc">ripple::NodeObject::keyBytes</a></div><div class="ttdeci">static constexpr std::size_t keyBytes</div><div class="ttdef"><b>Definition:</b> <a href="NodeObject_8h_source.html#l00055">NodeObject.h:55</a></div></div>
<div class="ttc" id="aclassripple_1_1NodeObject_html_a013fd7083d2cf13e77e282e9f3888ecc"><div class="ttname"><a href="classripple_1_1NodeObject.html#a013fd7083d2cf13e77e282e9f3888ecc">ripple::NodeObject::keyBytes</a></div><div class="ttdeci">static constexpr std::size_t keyBytes</div><div class="ttdef"><b>Definition:</b> <a href="NodeObject_8h_source.html#l00057">NodeObject.h:57</a></div></div>
<div class="ttc" id="aclassripple_1_1NodeStore_1_1ManagerImp_html_a632ceeac001a49fb51681b1b0a2dcd21"><div class="ttname"><a href="classripple_1_1NodeStore_1_1ManagerImp.html#a632ceeac001a49fb51681b1b0a2dcd21">ripple::NodeStore::ManagerImp::list_</a></div><div class="ttdeci">std::vector&lt; Factory * &gt; list_</div><div class="ttdef"><b>Definition:</b> <a href="ManagerImp_8h_source.html#l00032">ManagerImp.h:32</a></div></div>
<div class="ttc" id="anamespaceripple_1_1NodeStore_html_ab7e449f135fe12401b6ecf8a8898c51b"><div class="ttname"><a href="namespaceripple_1_1NodeStore.html#ab7e449f135fe12401b6ecf8a8898c51b">ripple::NodeStore::make_Backend</a></div><div class="ttdeci">std::unique_ptr&lt; Backend &gt; make_Backend(Section const &amp;config, Scheduler &amp;scheduler, beast::Journal journal)</div><div class="ttdoc">Create a Backend.</div><div class="ttdef"><b>Definition:</b> <a href="ManagerImp_8cpp_source.html#l00125">ManagerImp.cpp:125</a></div></div>
<div class="ttc" id="aclassripple_1_1NodeStore_1_1ManagerImp_html_a19b1a6d9001939e7d9dfe03111cab59c"><div class="ttname"><a href="classripple_1_1NodeStore_1_1ManagerImp.html#a19b1a6d9001939e7d9dfe03111cab59c">ripple::NodeStore::ManagerImp::mutex_</a></div><div class="ttdeci">std::mutex mutex_</div><div class="ttdef"><b>Definition:</b> <a href="ManagerImp_8h_source.html#l00031">ManagerImp.h:31</a></div></div>
<div class="ttc" id="aclassripple_1_1NodeStore_1_1ManagerImp_html_ab97d1fb7cf772b20aa2acb37adbfb626"><div class="ttname"><a href="classripple_1_1NodeStore_1_1ManagerImp.html#ab97d1fb7cf772b20aa2acb37adbfb626">ripple::NodeStore::ManagerImp::make_Backend</a></div><div class="ttdeci">std::unique_ptr&lt; Backend &gt; make_Backend(Section const &amp;parameters, Scheduler &amp;scheduler, beast::Journal journal) override</div><div class="ttdoc">Create a backend.</div><div class="ttdef"><b>Definition:</b> <a href="ManagerImp_8cpp_source.html#l00045">ManagerImp.cpp:45</a></div></div>
<div class="ttc" id="aclassripple_1_1NodeStore_1_1ManagerImp_html_ab97d1fb7cf772b20aa2acb37adbfb626"><div class="ttname"><a href="classripple_1_1NodeStore_1_1ManagerImp.html#ab97d1fb7cf772b20aa2acb37adbfb626">ripple::NodeStore::ManagerImp::make_Backend</a></div><div class="ttdeci">std::unique_ptr&lt; Backend &gt; make_Backend(Section const &amp;parameters, Scheduler &amp;scheduler, beast::Journal journal) override</div><div class="ttdoc">Create a backend.</div><div class="ttdef"><b>Definition:</b> <a href="ManagerImp_8cpp_source.html#l00044">ManagerImp.cpp:44</a></div></div>
<div class="ttc" id="aclassripple_1_1NodeStore_1_1Manager_html_a59f9bcb7e6049d1b4c557891992f6cab"><div class="ttname"><a href="classripple_1_1NodeStore_1_1Manager.html#a59f9bcb7e6049d1b4c557891992f6cab">ripple::NodeStore::Manager::instance</a></div><div class="ttdeci">static Manager &amp; instance()</div><div class="ttdoc">Returns the instance of the manager singleton.</div><div class="ttdef"><b>Definition:</b> <a href="ManagerImp_8cpp_source.html#l00117">ManagerImp.cpp:117</a></div></div>
<div class="ttc" id="aunique_ptr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr</a></div><div class="ttdoc">STL class.</div></div>
<div class="ttc" id="aclassripple_1_1NodeStore_1_1ManagerImp_html_aef832b0f75c6d3f277664399acb466be"><div class="ttname"><a href="classripple_1_1NodeStore_1_1ManagerImp.html#aef832b0f75c6d3f277664399acb466be">ripple::NodeStore::ManagerImp::erase</a></div><div class="ttdeci">void erase(Factory &amp;factory) override</div><div class="ttdoc">Remove a factory.</div><div class="ttdef"><b>Definition:</b> <a href="ManagerImp_8cpp_source.html#l00091">ManagerImp.cpp:91</a></div></div>
<div class="ttc" id="aclassripple_1_1NodeStore_1_1ManagerImp_html_aef832b0f75c6d3f277664399acb466be"><div class="ttname"><a href="classripple_1_1NodeStore_1_1ManagerImp.html#aef832b0f75c6d3f277664399acb466be">ripple::NodeStore::ManagerImp::erase</a></div><div class="ttdeci">void erase(Factory &amp;factory) override</div><div class="ttdoc">Remove a factory.</div><div class="ttdef"><b>Definition:</b> <a href="ManagerImp_8cpp_source.html#l00090">ManagerImp.cpp:90</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">