This commit is contained in:
bthomee
2025-08-19 09:49:50 -07:00
parent bb5efdeec8
commit e7f4ae8bed
14888 changed files with 259444 additions and 168566 deletions

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.5"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>rippled: PerfLog_test.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -29,7 +29,7 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.5 -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
@@ -46,6 +46,11 @@ $(function() {
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -117,6 +122,7 @@ $(function() {
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> </div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespaceripple.html">ripple</a> {</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> </div>
<div class="foldopen" id="foldopen00042" data-start="{" data-end="};">
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"><a class="line" href="classripple_1_1PerfLog__test.html"> 42</a></span><span class="keyword">class </span><a class="code hl_class" href="classripple_1_1PerfLog__test.html">PerfLog_test</a> : <span class="keyword">public</span> <a class="code hl_class" href="classbeast_1_1unit__test_1_1suite.html">beast::unit_test::suite</a></div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span>{</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"><a class="line" href="classripple_1_1PerfLog__test.html#a47194dbb7ad14c946919c6e54ae25f7e"> 44</a></span> <span class="keyword">enum class</span> <a class="code hl_enumeration" href="classripple_1_1PerfLog__test.html#a47194dbb7ad14c946919c6e54ae25f7e">WithFile</a> : <span class="keywordtype">bool</span> { <a class="code hl_enumvalue" href="classripple_1_1PerfLog__test.html#a47194dbb7ad14c946919c6e54ae25f7ea7fa3b767c460b54a2be4d49030b349c7">no</a> = <span class="keyword">false</span>, <a class="code hl_enumvalue" href="classripple_1_1PerfLog__test.html#a47194dbb7ad14c946919c6e54ae25f7eaa6105c0a611b41b08f1209506350279e">yes</a> = <span class="keyword">true</span> };</div>
@@ -125,23 +131,29 @@ $(function() {
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> </div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <span class="comment">// We&#39;re only using Env for its Journal. That Journal gives better</span></div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="comment">// coverage in unit tests.</span></div>
<div class="foldopen" id="foldopen00050" data-start="{" data-end="};">
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="classripple_1_1PerfLog__test.html#ab48b3b1900429fa110a689059d0a0f42"> 50</a></span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">test::jtx::Env</a> <a class="code hl_variable" href="classripple_1_1PerfLog__test.html#ab48b3b1900429fa110a689059d0a0f42">env_</a>{</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> *<span class="keyword">this</span>,</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a7a4caa0465c555c5c59ce7c0d0d48d78">test::jtx::envconfig</a>(),</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">nullptr</span>,</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <a class="code hl_enumvalue" href="namespacebeast_1_1severities.html#a069a8a312b9123b77f6aa31733ca73beae13a45640877c138fc59c94443ece6f0">beast::severities::kDisabled</a>};</div>
</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"><a class="line" href="classripple_1_1PerfLog__test.html#a8a85a77ec56da77e7cbf2764c07e08ae"> 55</a></span> <a class="code hl_class" href="classbeast_1_1Journal.html">beast::Journal</a> <a class="code hl_variable" href="classripple_1_1PerfLog__test.html#a8a85a77ec56da77e7cbf2764c07e08ae">j_</a>{<a class="code hl_variable" href="classripple_1_1PerfLog__test.html#ab48b3b1900429fa110a689059d0a0f42">env_</a>.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#acd48f8ab02c37b1a30cedf4dec7cc96c">app</a>().<a class="code hl_function" href="classripple_1_1Application.html#a2897c28a5b5040e80e66f676d201d03f">journal</a>(<span class="stringliteral">&quot;PerfLog_test&quot;</span>)};</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> </div>
<div class="foldopen" id="foldopen00057" data-start="{" data-end="};">
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"><a class="line" href="structripple_1_1PerfLog__test_1_1Fixture.html"> 57</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="structripple_1_1PerfLog__test_1_1Fixture.html">Fixture</a></div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> {</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="structripple_1_1PerfLog__test_1_1Fixture.html#a86094c746dad2a7c24e8469b20d65a9e"> 59</a></span> <a class="code hl_class" href="classripple_1_1Application.html">Application</a>&amp; <a class="code hl_variable" href="structripple_1_1PerfLog__test_1_1Fixture.html#a86094c746dad2a7c24e8469b20d65a9e">app_</a>;</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"><a class="line" href="structripple_1_1PerfLog__test_1_1Fixture.html#ab07a1f3036efefcd1e33275516dbb77a"> 60</a></span> <a class="code hl_class" href="classbeast_1_1Journal.html">beast::Journal</a> <a class="code hl_variable" href="structripple_1_1PerfLog__test_1_1Fixture.html#ab07a1f3036efefcd1e33275516dbb77a">j_</a>;</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="structripple_1_1PerfLog__test_1_1Fixture.html#a70ce6eccc7d946525b18e5e87b901038"> 61</a></span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="structripple_1_1PerfLog__test_1_1Fixture.html#a70ce6eccc7d946525b18e5e87b901038">stopSignaled</a>{<span class="keyword">false</span>};</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> </div>
<div class="foldopen" id="foldopen00063" data-start="{" data-end="}">
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"><a class="line" href="structripple_1_1PerfLog__test_1_1Fixture.html#a70e3b2cf83c21f4e708052d7220db431"> 63</a></span> <span class="keyword">explicit</span> <a class="code hl_function" href="structripple_1_1PerfLog__test_1_1Fixture.html#a70e3b2cf83c21f4e708052d7220db431">Fixture</a>(<a class="code hl_class" href="classripple_1_1Application.html">Application</a>&amp; app, <a class="code hl_class" href="classbeast_1_1Journal.html">beast::Journal</a> j) : <a class="code hl_variable" href="structripple_1_1PerfLog__test_1_1Fixture.html#a86094c746dad2a7c24e8469b20d65a9e">app_</a>(app), <a class="code hl_variable" href="structripple_1_1PerfLog__test_1_1Fixture.html#ab07a1f3036efefcd1e33275516dbb77a">j_</a>(j)</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> {</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> }</div>
</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> </div>
<div class="foldopen" id="foldopen00067" data-start="{" data-end="}">
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"><a class="line" href="structripple_1_1PerfLog__test_1_1Fixture.html#a1d28fde25dbd90d0a34bbd1dfc1fd13b"> 67</a></span> <a class="code hl_function" href="structripple_1_1PerfLog__test_1_1Fixture.html#a1d28fde25dbd90d0a34bbd1dfc1fd13b">~Fixture</a>()</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> {</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <span class="keyword">using namespace </span>boost::filesystem;</div>
@@ -157,33 +169,43 @@ $(function() {
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> }</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> remove(dir);</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> }</div>
</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> </div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00084" data-start="{" data-end="}">
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"><a class="line" href="structripple_1_1PerfLog__test_1_1Fixture.html#a1cfcea7c74bf5c6bf4896345f48ce9da"> 84</a></span> <a class="code hl_function" href="structripple_1_1PerfLog__test_1_1Fixture.html#a1cfcea7c74bf5c6bf4896345f48ce9da">signalStop</a>()</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> {</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <a class="code hl_variable" href="structripple_1_1PerfLog__test_1_1Fixture.html#a70ce6eccc7d946525b18e5e87b901038">stopSignaled</a> = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> }</div>
</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> </div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <a class="code hl_typedef" href="classripple_1_1PerfLog__test.html#afb0c8cba2f6e47f2fd2696d95a5263fa">path</a></div>
<div class="foldopen" id="foldopen00090" data-start="{" data-end="}">
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"><a class="line" href="structripple_1_1PerfLog__test_1_1Fixture.html#a60ae043638e7bcfd1d88a6f819dcf671"> 90</a></span> <a class="code hl_function" href="structripple_1_1PerfLog__test_1_1Fixture.html#a60ae043638e7bcfd1d88a6f819dcf671">logDir</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keyword">using namespace </span>boost::filesystem;</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <span class="keywordflow">return</span> temp_directory_path() / <span class="stringliteral">&quot;perf_log_test_dir&quot;</span>;</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> }</div>
</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> </div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <a class="code hl_typedef" href="classripple_1_1PerfLog__test.html#afb0c8cba2f6e47f2fd2696d95a5263fa">path</a></div>
<div class="foldopen" id="foldopen00097" data-start="{" data-end="}">
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"><a class="line" href="structripple_1_1PerfLog__test_1_1Fixture.html#a651e099bab19aa328f1e95fb0ff29873"> 97</a></span> <a class="code hl_function" href="structripple_1_1PerfLog__test_1_1Fixture.html#a651e099bab19aa328f1e95fb0ff29873">logFile</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="keywordflow">return</span> <a class="code hl_function" href="structripple_1_1PerfLog__test_1_1Fixture.html#a60ae043638e7bcfd1d88a6f819dcf671">logDir</a>() / <span class="stringliteral">&quot;perf_log.txt&quot;</span>;</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> }</div>
</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> </div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::milliseconds</a></div>
<div class="foldopen" id="foldopen00103" data-start="{" data-end="}">
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"><a class="line" href="structripple_1_1PerfLog__test_1_1Fixture.html#af470ad41024d648b2a50ec4da7ffc3d4"> 103</a></span> <a class="code hl_function" href="structripple_1_1PerfLog__test_1_1Fixture.html#af470ad41024d648b2a50ec4da7ffc3d4">logInterval</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <span class="keywordflow">return</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::milliseconds</a>{10};</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> }</div>
</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> </div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr&lt;perf::PerfLog&gt;</a></div>
<div class="foldopen" id="foldopen00109" data-start="{" data-end="}">
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"><a class="line" href="structripple_1_1PerfLog__test_1_1Fixture.html#a8c7db8b81b7180e62c1a8c04d724c3b9"> 109</a></span> <a class="code hl_function" href="structripple_1_1PerfLog__test_1_1Fixture.html#a8c7db8b81b7180e62c1a8c04d724c3b9">perfLog</a>(<a class="code hl_enumeration" href="classripple_1_1PerfLog__test.html#a47194dbb7ad14c946919c6e54ae25f7e">WithFile</a> withFile)</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> {</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <a class="code hl_struct" href="structripple_1_1perf_1_1PerfLog_1_1Setup.html">perf::PerfLog::Setup</a> <span class="keyword">const</span> setup{</div>
@@ -191,11 +213,13 @@ $(function() {
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="keywordflow">return</span> <a class="code hl_function" href="namespaceripple_1_1perf.html#aef38cd26fe2b2e924f8c117aff08b598">perf::make_PerfLog</a>(</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> setup, <a class="code hl_variable" href="structripple_1_1PerfLog__test_1_1Fixture.html#a86094c746dad2a7c24e8469b20d65a9e">app_</a>, <a class="code hl_variable" href="structripple_1_1PerfLog__test_1_1Fixture.html#ab07a1f3036efefcd1e33275516dbb77a">j_</a>, [<span class="keyword">this</span>]() { <span class="keywordflow">return</span> <a class="code hl_function" href="structripple_1_1PerfLog__test_1_1Fixture.html#a1cfcea7c74bf5c6bf4896345f48ce9da">signalStop</a>(); });</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> }</div>
</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> </div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <span class="comment">// Block until the log file has grown in size, indicating that the</span></div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <span class="comment">// PerfLog has written new values to the file and _should_ have the</span></div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <span class="comment">// latest update.</span></div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00121" data-start="{" data-end="}">
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"><a class="line" href="structripple_1_1PerfLog__test_1_1Fixture.html#ac438b1fcba815f5a43f5d4c7b788f7e3"> 121</a></span> <a class="code hl_function" href="structripple_1_1PerfLog__test_1_1Fixture.html#ac438b1fcba815f5a43f5d4c7b788f7e3">wait</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <span class="keyword">using namespace </span>boost::filesystem;</div>
@@ -219,32 +243,41 @@ $(function() {
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/thread/sleep_for.html">std::this_thread::sleep_for</a>(<a class="code hl_function" href="structripple_1_1PerfLog__test_1_1Fixture.html#af470ad41024d648b2a50ec4da7ffc3d4">logInterval</a>());</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> } <span class="keywordflow">while</span> (secondSize &gt;= file_size(<a class="code hl_typedef" href="classripple_1_1PerfLog__test.html#afb0c8cba2f6e47f2fd2696d95a5263fa">path</a>));</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> }</div>
</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> };</div>
</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> </div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <span class="comment">// Return a uint64 from a JSON string.</span></div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <span class="keyword">static</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint64_t</a></div>
<div class="foldopen" id="foldopen00148" data-start="{" data-end="}">
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"><a class="line" href="classripple_1_1PerfLog__test.html#a204aad50a8e6454b4435afb7b97473c5"> 148</a></span> <a class="code hl_function" href="classripple_1_1PerfLog__test.html#a204aad50a8e6454b4435afb7b97473c5">jsonToUint64</a>(<a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a> <span class="keyword">const</span>&amp; jsonUintAsString)</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> {</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <span class="keywordflow">return</span> <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/string/basic_string/stoul.html">std::stoull</a>(jsonUintAsString.<a class="code hl_function" href="classJson_1_1Value.html#ab0d86bf425efefd03513e8dbfaca317b">asString</a>());</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> }</div>
</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> </div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <span class="comment">// The PerfLog&#39;s current state is easier to sort by duration if the</span></div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="comment">// duration is converted from string to integer. The following struct</span></div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="comment">// is a way to think about the converted entry.</span></div>
<div class="foldopen" id="foldopen00156" data-start="{" data-end="};">
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"><a class="line" href="structripple_1_1PerfLog__test_1_1Cur.html"> 156</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="structripple_1_1PerfLog__test_1_1Cur.html">Cur</a></div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> {</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"><a class="line" href="structripple_1_1PerfLog__test_1_1Cur.html#a0b5004742e36851ab63a20a2ddf6588e"> 158</a></span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint64_t</a> <a class="code hl_variable" href="structripple_1_1PerfLog__test_1_1Cur.html#a0b5004742e36851ab63a20a2ddf6588e">dur</a>;</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"><a class="line" href="structripple_1_1PerfLog__test_1_1Cur.html#a40568f8920fa5e7308a7c6084a0715ef"> 159</a></span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <a class="code hl_variable" href="structripple_1_1PerfLog__test_1_1Cur.html#a40568f8920fa5e7308a7c6084a0715ef">name</a>;</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> </div>
<div class="foldopen" id="foldopen00161" data-start="{" data-end="}">
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"><a class="line" href="structripple_1_1PerfLog__test_1_1Cur.html#a6a5e5659c3e480909d8bf62040b12b1f"> 161</a></span> <a class="code hl_function" href="structripple_1_1PerfLog__test_1_1Cur.html#a6a5e5659c3e480909d8bf62040b12b1f">Cur</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint64_t</a> d, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> n) : <a class="code hl_variable" href="structripple_1_1PerfLog__test_1_1Cur.html#a0b5004742e36851ab63a20a2ddf6588e">dur</a>(d), <a class="code hl_variable" href="structripple_1_1PerfLog__test_1_1Cur.html#a40568f8920fa5e7308a7c6084a0715ef">name</a>(<a class="code hl_namespace" href="namespacestd.html">std</a>::move(n))</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> {</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> }</div>
</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> };</div>
</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> </div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <span class="comment">// A convenience function to convert JSON to Cur and sort. The sort</span></div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> <span class="comment">// goes from longest to shortest duration. That way stuff that was started</span></div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> <span class="comment">// earlier goes to the front.</span></div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <span class="keyword">static</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;Cur&gt;</a></div>
<div class="foldopen" id="foldopen00170" data-start="{" data-end="}">
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"><a class="line" href="classripple_1_1PerfLog__test.html#aef2d09ad81d11ac3e09ccbb086fc90ae"> 170</a></span> <a class="code hl_function" href="classripple_1_1PerfLog__test.html#aef2d09ad81d11ac3e09ccbb086fc90ae">getSortedCurrent</a>(<a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a> <span class="keyword">const</span>&amp; currentJson)</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> {</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;Cur&gt;</a> currents;</div>
@@ -269,9 +302,11 @@ $(function() {
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> });</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <span class="keywordflow">return</span> currents;</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> }</div>
</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> </div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00197" data-start="{" data-end="}">
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"><a class="line" href="classripple_1_1PerfLog__test.html#a3739f160cb2e0f46cf41bcf278c7f1ae"> 197</a></span> <a class="code hl_function" href="classripple_1_1PerfLog__test.html#a3739f160cb2e0f46cf41bcf278c7f1ae">testFileCreation</a>()</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> {</div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> <span class="keyword">using namespace </span>boost::filesystem;</div>
@@ -377,8 +412,10 @@ $(function() {
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> perms::group_write);</div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> }</div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> }</div>
</div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span> </div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00304" data-start="{" data-end="}">
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"><a class="line" href="classripple_1_1PerfLog__test.html#aef025d38525527b80d9557b3e2d7e6b1"> 304</a></span> <a class="code hl_function" href="classripple_1_1PerfLog__test.html#aef025d38525527b80d9557b3e2d7e6b1">testRPC</a>(<a class="code hl_enumeration" href="classripple_1_1PerfLog__test.html#a47194dbb7ad14c946919c6e54ae25f7e">WithFile</a> withFile)</div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> {</div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> <span class="comment">// Exercise the rpc interfaces of PerfLog.</span></div>
@@ -581,8 +618,10 @@ $(function() {
<div class="line"><a id="l00503" name="l00503"></a><span class="lineno"> 503</span> validateFinalCurrent(parsedLastLine[jss::current_activities]);</div>
<div class="line"><a id="l00504" name="l00504"></a><span class="lineno"> 504</span> }</div>
<div class="line"><a id="l00505" name="l00505"></a><span class="lineno"> 505</span> }</div>
</div>
<div class="line"><a id="l00506" name="l00506"></a><span class="lineno"> 506</span> </div>
<div class="line"><a id="l00507" name="l00507"></a><span class="lineno"> 507</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00508" data-start="{" data-end="}">
<div class="line"><a id="l00508" name="l00508"></a><span class="lineno"><a class="line" href="classripple_1_1PerfLog__test.html#a408655b14c6b25418e25501e66aeb461"> 508</a></span> <a class="code hl_function" href="classripple_1_1PerfLog__test.html#a408655b14c6b25418e25501e66aeb461">testJobs</a>(<a class="code hl_enumeration" href="classripple_1_1PerfLog__test.html#a47194dbb7ad14c946919c6e54ae25f7e">WithFile</a> withFile)</div>
<div class="line"><a id="l00509" name="l00509"></a><span class="lineno"> 509</span> {</div>
<div class="line"><a id="l00510" name="l00510"></a><span class="lineno"> 510</span> <span class="keyword">using namespace </span><a class="code hl_namespaceRef" href="http://en.cppreference.com/w/namespacestd_1_1chrono.html">std::chrono</a>;</div>
@@ -926,8 +965,10 @@ $(function() {
<div class="line"><a id="l00848" name="l00848"></a><span class="lineno"> 848</span> validateFinalCurrent(parsedLastLine[jss::current_activities]);</div>
<div class="line"><a id="l00849" name="l00849"></a><span class="lineno"> 849</span> }</div>
<div class="line"><a id="l00850" name="l00850"></a><span class="lineno"> 850</span> }</div>
</div>
<div class="line"><a id="l00851" name="l00851"></a><span class="lineno"> 851</span> </div>
<div class="line"><a id="l00852" name="l00852"></a><span class="lineno"> 852</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00853" data-start="{" data-end="}">
<div class="line"><a id="l00853" name="l00853"></a><span class="lineno"><a class="line" href="classripple_1_1PerfLog__test.html#a717fab8d0a5d218896d56e403e1da647"> 853</a></span> <a class="code hl_function" href="classripple_1_1PerfLog__test.html#a717fab8d0a5d218896d56e403e1da647">testInvalidID</a>(<a class="code hl_enumeration" href="classripple_1_1PerfLog__test.html#a47194dbb7ad14c946919c6e54ae25f7e">WithFile</a> withFile)</div>
<div class="line"><a id="l00854" name="l00854"></a><span class="lineno"> 854</span> {</div>
<div class="line"><a id="l00855" name="l00855"></a><span class="lineno"> 855</span> <span class="keyword">using namespace </span><a class="code hl_namespaceRef" href="http://en.cppreference.com/w/namespacestd_1_1chrono.html">std::chrono</a>;</div>
@@ -1067,8 +1108,10 @@ $(function() {
<div class="line"><a id="l00989" name="l00989"></a><span class="lineno"> 989</span> verifyEmptyCurrent(parsedLastLine[jss::current_activities]);</div>
<div class="line"><a id="l00990" name="l00990"></a><span class="lineno"> 990</span> }</div>
<div class="line"><a id="l00991" name="l00991"></a><span class="lineno"> 991</span> }</div>
</div>
<div class="line"><a id="l00992" name="l00992"></a><span class="lineno"> 992</span> </div>
<div class="line"><a id="l00993" name="l00993"></a><span class="lineno"> 993</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00994" data-start="{" data-end="}">
<div class="line"><a id="l00994" name="l00994"></a><span class="lineno"><a class="line" href="classripple_1_1PerfLog__test.html#a0e98c4784cf3530d5af0759b979b929e"> 994</a></span> <a class="code hl_function" href="classripple_1_1PerfLog__test.html#a0e98c4784cf3530d5af0759b979b929e">testRotate</a>(<a class="code hl_enumeration" href="classripple_1_1PerfLog__test.html#a47194dbb7ad14c946919c6e54ae25f7e">WithFile</a> withFile)</div>
<div class="line"><a id="l00995" name="l00995"></a><span class="lineno"> 995</span> {</div>
<div class="line"><a id="l00996" name="l00996"></a><span class="lineno"> 996</span> <span class="comment">// We can&#39;t fully test rotate because unit tests must run on Windows,</span></div>
@@ -1123,8 +1166,10 @@ $(function() {
<div class="line"><a id="l01045" name="l01045"></a><span class="lineno"> 1045</span> BEAST_EXPECT(file_size(fixture.logFile()) &gt; firstFileSize);</div>
<div class="line"><a id="l01046" name="l01046"></a><span class="lineno"> 1046</span> }</div>
<div class="line"><a id="l01047" name="l01047"></a><span class="lineno"> 1047</span> }</div>
</div>
<div class="line"><a id="l01048" name="l01048"></a><span class="lineno"> 1048</span> </div>
<div class="line"><a id="l01049" name="l01049"></a><span class="lineno"> 1049</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen01050" data-start="{" data-end="}">
<div class="line"><a id="l01050" name="l01050"></a><span class="lineno"><a class="line" href="classripple_1_1PerfLog__test.html#a88ee810f9e0b813dadfea4f5f97e2259"> 1050</a></span> <a class="code hl_function" href="classripple_1_1PerfLog__test.html#a88ee810f9e0b813dadfea4f5f97e2259">run</a>()<span class="keyword"> override</span></div>
<div class="line"><a id="l01051" name="l01051"></a><span class="lineno"> 1051</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l01052" name="l01052"></a><span class="lineno"> 1052</span> <a class="code hl_function" href="classripple_1_1PerfLog__test.html#a3739f160cb2e0f46cf41bcf278c7f1ae">testFileCreation</a>();</div>
@@ -1137,7 +1182,9 @@ $(function() {
<div class="line"><a id="l01059" name="l01059"></a><span class="lineno"> 1059</span> <a class="code hl_function" href="classripple_1_1PerfLog__test.html#a0e98c4784cf3530d5af0759b979b929e">testRotate</a>(<a class="code hl_enumvalue" href="classripple_1_1PerfLog__test.html#a47194dbb7ad14c946919c6e54ae25f7ea7fa3b767c460b54a2be4d49030b349c7">WithFile::no</a>);</div>
<div class="line"><a id="l01060" name="l01060"></a><span class="lineno"> 1060</span> <a class="code hl_function" href="classripple_1_1PerfLog__test.html#a0e98c4784cf3530d5af0759b979b929e">testRotate</a>(<a class="code hl_enumvalue" href="classripple_1_1PerfLog__test.html#a47194dbb7ad14c946919c6e54ae25f7eaa6105c0a611b41b08f1209506350279e">WithFile::yes</a>);</div>
<div class="line"><a id="l01061" name="l01061"></a><span class="lineno"> 1061</span> }</div>
</div>
<div class="line"><a id="l01062" name="l01062"></a><span class="lineno"> 1062</span>};</div>
</div>
<div class="line"><a id="l01063" name="l01063"></a><span class="lineno"> 1063</span> </div>
<div class="line"><a id="l01064" name="l01064"></a><span class="lineno"><a class="line" href="namespaceripple.html#aa7cf90d60733517501f553ee73f2e237"> 1064</a></span>BEAST_DEFINE_TESTSUITE(PerfLog, basics, <a class="code hl_namespace" href="namespaceripple.html">ripple</a>);</div>
<div class="line"><a id="l01065" name="l01065"></a><span class="lineno"> 1065</span> </div>
@@ -1150,37 +1197,37 @@ $(function() {
<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>
<div class="ttc" id="abegin_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/begin.html">std::vector::begin</a></div><div class="ttdeci">T begin(T... args)</div></div>
<div class="ttc" id="achrono_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/chrono.html">chrono</a></div></div>
<div class="ttc" id="aclassJson_1_1Reader_html"><div class="ttname"><a href="classJson_1_1Reader.html">Json::Reader</a></div><div class="ttdoc">Unserialize a JSON document into a Value.</div><div class="ttdef"><b>Definition:</b> <a href="json__reader_8h_source.html#l00038">json_reader.h:39</a></div></div>
<div class="ttc" id="aclassJson_1_1Reader_html_a8ee4d40504e4f8b069745d762ab4d78c"><div class="ttname"><a href="classJson_1_1Reader.html#a8ee4d40504e4f8b069745d762ab4d78c">Json::Reader::parse</a></div><div class="ttdeci">bool parse(std::string const &amp;document, Value &amp;root)</div><div class="ttdoc">Read a Value from a JSON document.</div><div class="ttdef"><b>Definition:</b> <a href="json__reader_8cpp_source.html#l00078">json_reader.cpp:78</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html"><div class="ttname"><a href="classJson_1_1Value.html">Json::Value</a></div><div class="ttdoc">Represents a JSON value.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8h_source.html#l00148">json_value.h:149</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html_a1627eb9d6568d6d0252fa8bb711c0a59"><div class="ttname"><a href="classJson_1_1Value.html#a1627eb9d6568d6d0252fa8bb711c0a59">Json::Value::isArray</a></div><div class="ttdeci">bool isArray() const</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l01047">json_value.cpp:1047</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html_a23c7027ca674f989f90564d63ef36c74"><div class="ttname"><a href="classJson_1_1Value.html#a23c7027ca674f989f90564d63ef36c74">Json::Value::size</a></div><div class="ttdeci">UInt size() const</div><div class="ttdoc">Number of values in array or object.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l00719">json_value.cpp:719</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html_a8cf96c0f2a552051fcfc78ffee60e037"><div class="ttname"><a href="classJson_1_1Value.html#a8cf96c0f2a552051fcfc78ffee60e037">Json::Value::isObject</a></div><div class="ttdeci">bool isObject() const</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l01059">json_value.cpp:1059</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html_ab0d86bf425efefd03513e8dbfaca317b"><div class="ttname"><a href="classJson_1_1Value.html#ab0d86bf425efefd03513e8dbfaca317b">Json::Value::asString</a></div><div class="ttdeci">std::string asString() const</div><div class="ttdoc">Returns the unquoted string value.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l00482">json_value.cpp:482</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html_abfa90c81f6aee7877bd5fb4c8445994f"><div class="ttname"><a href="classJson_1_1Value.html#abfa90c81f6aee7877bd5fb4c8445994f">Json::Value::isMember</a></div><div class="ttdeci">bool isMember(char const *key) const</div><div class="ttdoc">Return true if the object has a member named key.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l00962">json_value.cpp:962</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#l00059">Journal.h:60</a></div></div>
<div class="ttc" id="aclassbeast_1_1unit__test_1_1suite_html"><div class="ttname"><a href="classbeast_1_1unit__test_1_1suite.html">beast::unit_test::suite</a></div><div class="ttdoc">A testsuite class.</div><div class="ttdef"><b>Definition:</b> <a href="suite_8h_source.html#l00054">suite.h:55</a></div></div>
<div class="ttc" id="aclassbeast_1_1unit__test_1_1suite_html_a19b8ee0ce850d78834984655ae83b20e"><div class="ttname"><a href="classbeast_1_1unit__test_1_1suite.html#a19b8ee0ce850d78834984655ae83b20e">beast::unit_test::suite::log</a></div><div class="ttdeci">log_os&lt; char &gt; log</div><div class="ttdoc">Logging output stream.</div><div class="ttdef"><b>Definition:</b> <a href="suite_8h_source.html#l00152">suite.h:152</a></div></div>
<div class="ttc" id="aclassripple_1_1Application_html"><div class="ttname"><a href="classripple_1_1Application.html">ripple::Application</a></div><div class="ttdef"><b>Definition:</b> <a href="Application_8h_source.html#l00113">Application.h:114</a></div></div>
<div class="ttc" id="aclassJson_1_1Reader_html"><div class="ttname"><a href="classJson_1_1Reader.html">Json::Reader</a></div><div class="ttdoc">Unserialize a JSON document into a Value.</div><div class="ttdef"><b>Definition</b> <a href="json__reader_8h_source.html#l00038">json_reader.h:39</a></div></div>
<div class="ttc" id="aclassJson_1_1Reader_html_a8ee4d40504e4f8b069745d762ab4d78c"><div class="ttname"><a href="classJson_1_1Reader.html#a8ee4d40504e4f8b069745d762ab4d78c">Json::Reader::parse</a></div><div class="ttdeci">bool parse(std::string const &amp;document, Value &amp;root)</div><div class="ttdoc">Read a Value from a JSON document.</div><div class="ttdef"><b>Definition</b> <a href="json__reader_8cpp_source.html#l00078">json_reader.cpp:78</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html"><div class="ttname"><a href="classJson_1_1Value.html">Json::Value</a></div><div class="ttdoc">Represents a JSON value.</div><div class="ttdef"><b>Definition</b> <a href="json__value_8h_source.html#l00148">json_value.h:149</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html_a1627eb9d6568d6d0252fa8bb711c0a59"><div class="ttname"><a href="classJson_1_1Value.html#a1627eb9d6568d6d0252fa8bb711c0a59">Json::Value::isArray</a></div><div class="ttdeci">bool isArray() const</div><div class="ttdef"><b>Definition</b> <a href="json__value_8cpp_source.html#l01047">json_value.cpp:1047</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html_a23c7027ca674f989f90564d63ef36c74"><div class="ttname"><a href="classJson_1_1Value.html#a23c7027ca674f989f90564d63ef36c74">Json::Value::size</a></div><div class="ttdeci">UInt size() const</div><div class="ttdoc">Number of values in array or object.</div><div class="ttdef"><b>Definition</b> <a href="json__value_8cpp_source.html#l00719">json_value.cpp:719</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html_a8cf96c0f2a552051fcfc78ffee60e037"><div class="ttname"><a href="classJson_1_1Value.html#a8cf96c0f2a552051fcfc78ffee60e037">Json::Value::isObject</a></div><div class="ttdeci">bool isObject() const</div><div class="ttdef"><b>Definition</b> <a href="json__value_8cpp_source.html#l01059">json_value.cpp:1059</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html_ab0d86bf425efefd03513e8dbfaca317b"><div class="ttname"><a href="classJson_1_1Value.html#ab0d86bf425efefd03513e8dbfaca317b">Json::Value::asString</a></div><div class="ttdeci">std::string asString() const</div><div class="ttdoc">Returns the unquoted string value.</div><div class="ttdef"><b>Definition</b> <a href="json__value_8cpp_source.html#l00482">json_value.cpp:482</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html_abfa90c81f6aee7877bd5fb4c8445994f"><div class="ttname"><a href="classJson_1_1Value.html#abfa90c81f6aee7877bd5fb4c8445994f">Json::Value::isMember</a></div><div class="ttdeci">bool isMember(char const *key) const</div><div class="ttdoc">Return true if the object has a member named key.</div><div class="ttdef"><b>Definition</b> <a href="json__value_8cpp_source.html#l00962">json_value.cpp:962</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#l00059">Journal.h:60</a></div></div>
<div class="ttc" id="aclassbeast_1_1unit__test_1_1suite_html"><div class="ttname"><a href="classbeast_1_1unit__test_1_1suite.html">beast::unit_test::suite</a></div><div class="ttdoc">A testsuite class.</div><div class="ttdef"><b>Definition</b> <a href="suite_8h_source.html#l00054">suite.h:55</a></div></div>
<div class="ttc" id="aclassbeast_1_1unit__test_1_1suite_html_a19b8ee0ce850d78834984655ae83b20e"><div class="ttname"><a href="classbeast_1_1unit__test_1_1suite.html#a19b8ee0ce850d78834984655ae83b20e">beast::unit_test::suite::log</a></div><div class="ttdeci">log_os&lt; char &gt; log</div><div class="ttdoc">Logging output stream.</div><div class="ttdef"><b>Definition</b> <a href="suite_8h_source.html#l00152">suite.h:152</a></div></div>
<div class="ttc" id="aclassripple_1_1Application_html"><div class="ttname"><a href="classripple_1_1Application.html">ripple::Application</a></div><div class="ttdef"><b>Definition</b> <a href="Application_8h_source.html#l00113">Application.h:114</a></div></div>
<div class="ttc" id="aclassripple_1_1Application_html_a2897c28a5b5040e80e66f676d201d03f"><div class="ttname"><a href="classripple_1_1Application.html#a2897c28a5b5040e80e66f676d201d03f">ripple::Application::journal</a></div><div class="ttdeci">virtual beast::Journal journal(std::string const &amp;name)=0</div></div>
<div class="ttc" id="aclassripple_1_1JobTypes_html_aae0f58e9ec3c1a51901c0e6495e594f0"><div class="ttname"><a href="classripple_1_1JobTypes.html#aae0f58e9ec3c1a51901c0e6495e594f0">ripple::JobTypes::instance</a></div><div class="ttdeci">static JobTypes const &amp; instance()</div><div class="ttdef"><b>Definition:</b> <a href="JobTypes_8h_source.html#l00128">JobTypes.h:128</a></div></div>
<div class="ttc" id="aclassripple_1_1PerfLog__test_html"><div class="ttname"><a href="classripple_1_1PerfLog__test.html">ripple::PerfLog_test</a></div><div class="ttdef"><b>Definition:</b> <a href="PerfLog__test_8cpp_source.html#l00042">PerfLog_test.cpp:43</a></div></div>
<div class="ttc" id="aclassripple_1_1PerfLog__test_html_a0e98c4784cf3530d5af0759b979b929e"><div class="ttname"><a href="classripple_1_1PerfLog__test.html#a0e98c4784cf3530d5af0759b979b929e">ripple::PerfLog_test::testRotate</a></div><div class="ttdeci">void testRotate(WithFile withFile)</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog__test_8cpp_source.html#l00994">PerfLog_test.cpp:994</a></div></div>
<div class="ttc" id="aclassripple_1_1PerfLog__test_html_a204aad50a8e6454b4435afb7b97473c5"><div class="ttname"><a href="classripple_1_1PerfLog__test.html#a204aad50a8e6454b4435afb7b97473c5">ripple::PerfLog_test::jsonToUint64</a></div><div class="ttdeci">static std::uint64_t jsonToUint64(Json::Value const &amp;jsonUintAsString)</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog__test_8cpp_source.html#l00148">PerfLog_test.cpp:148</a></div></div>
<div class="ttc" id="aclassripple_1_1PerfLog__test_html_a3739f160cb2e0f46cf41bcf278c7f1ae"><div class="ttname"><a href="classripple_1_1PerfLog__test.html#a3739f160cb2e0f46cf41bcf278c7f1ae">ripple::PerfLog_test::testFileCreation</a></div><div class="ttdeci">void testFileCreation()</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog__test_8cpp_source.html#l00197">PerfLog_test.cpp:197</a></div></div>
<div class="ttc" id="aclassripple_1_1PerfLog__test_html_a408655b14c6b25418e25501e66aeb461"><div class="ttname"><a href="classripple_1_1PerfLog__test.html#a408655b14c6b25418e25501e66aeb461">ripple::PerfLog_test::testJobs</a></div><div class="ttdeci">void testJobs(WithFile withFile)</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog__test_8cpp_source.html#l00508">PerfLog_test.cpp:508</a></div></div>
<div class="ttc" id="aclassripple_1_1PerfLog__test_html_a47194dbb7ad14c946919c6e54ae25f7e"><div class="ttname"><a href="classripple_1_1PerfLog__test.html#a47194dbb7ad14c946919c6e54ae25f7e">ripple::PerfLog_test::WithFile</a></div><div class="ttdeci">WithFile</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog__test_8cpp_source.html#l00044">PerfLog_test.cpp:44</a></div></div>
<div class="ttc" id="aclassripple_1_1JobTypes_html_aae0f58e9ec3c1a51901c0e6495e594f0"><div class="ttname"><a href="classripple_1_1JobTypes.html#aae0f58e9ec3c1a51901c0e6495e594f0">ripple::JobTypes::instance</a></div><div class="ttdeci">static JobTypes const &amp; instance()</div><div class="ttdef"><b>Definition</b> <a href="JobTypes_8h_source.html#l00128">JobTypes.h:128</a></div></div>
<div class="ttc" id="aclassripple_1_1PerfLog__test_html"><div class="ttname"><a href="classripple_1_1PerfLog__test.html">ripple::PerfLog_test</a></div><div class="ttdef"><b>Definition</b> <a href="PerfLog__test_8cpp_source.html#l00042">PerfLog_test.cpp:43</a></div></div>
<div class="ttc" id="aclassripple_1_1PerfLog__test_html_a0e98c4784cf3530d5af0759b979b929e"><div class="ttname"><a href="classripple_1_1PerfLog__test.html#a0e98c4784cf3530d5af0759b979b929e">ripple::PerfLog_test::testRotate</a></div><div class="ttdeci">void testRotate(WithFile withFile)</div><div class="ttdef"><b>Definition</b> <a href="PerfLog__test_8cpp_source.html#l00994">PerfLog_test.cpp:994</a></div></div>
<div class="ttc" id="aclassripple_1_1PerfLog__test_html_a204aad50a8e6454b4435afb7b97473c5"><div class="ttname"><a href="classripple_1_1PerfLog__test.html#a204aad50a8e6454b4435afb7b97473c5">ripple::PerfLog_test::jsonToUint64</a></div><div class="ttdeci">static std::uint64_t jsonToUint64(Json::Value const &amp;jsonUintAsString)</div><div class="ttdef"><b>Definition</b> <a href="PerfLog__test_8cpp_source.html#l00148">PerfLog_test.cpp:148</a></div></div>
<div class="ttc" id="aclassripple_1_1PerfLog__test_html_a3739f160cb2e0f46cf41bcf278c7f1ae"><div class="ttname"><a href="classripple_1_1PerfLog__test.html#a3739f160cb2e0f46cf41bcf278c7f1ae">ripple::PerfLog_test::testFileCreation</a></div><div class="ttdeci">void testFileCreation()</div><div class="ttdef"><b>Definition</b> <a href="PerfLog__test_8cpp_source.html#l00197">PerfLog_test.cpp:197</a></div></div>
<div class="ttc" id="aclassripple_1_1PerfLog__test_html_a408655b14c6b25418e25501e66aeb461"><div class="ttname"><a href="classripple_1_1PerfLog__test.html#a408655b14c6b25418e25501e66aeb461">ripple::PerfLog_test::testJobs</a></div><div class="ttdeci">void testJobs(WithFile withFile)</div><div class="ttdef"><b>Definition</b> <a href="PerfLog__test_8cpp_source.html#l00508">PerfLog_test.cpp:508</a></div></div>
<div class="ttc" id="aclassripple_1_1PerfLog__test_html_a47194dbb7ad14c946919c6e54ae25f7e"><div class="ttname"><a href="classripple_1_1PerfLog__test.html#a47194dbb7ad14c946919c6e54ae25f7e">ripple::PerfLog_test::WithFile</a></div><div class="ttdeci">WithFile</div><div class="ttdef"><b>Definition</b> <a href="PerfLog__test_8cpp_source.html#l00044">PerfLog_test.cpp:44</a></div></div>
<div class="ttc" id="aclassripple_1_1PerfLog__test_html_a47194dbb7ad14c946919c6e54ae25f7ea7fa3b767c460b54a2be4d49030b349c7"><div class="ttname"><a href="classripple_1_1PerfLog__test.html#a47194dbb7ad14c946919c6e54ae25f7ea7fa3b767c460b54a2be4d49030b349c7">ripple::PerfLog_test::WithFile::no</a></div><div class="ttdeci">@ no</div></div>
<div class="ttc" id="aclassripple_1_1PerfLog__test_html_a47194dbb7ad14c946919c6e54ae25f7eaa6105c0a611b41b08f1209506350279e"><div class="ttname"><a href="classripple_1_1PerfLog__test.html#a47194dbb7ad14c946919c6e54ae25f7eaa6105c0a611b41b08f1209506350279e">ripple::PerfLog_test::WithFile::yes</a></div><div class="ttdeci">@ yes</div></div>
<div class="ttc" id="aclassripple_1_1PerfLog__test_html_a717fab8d0a5d218896d56e403e1da647"><div class="ttname"><a href="classripple_1_1PerfLog__test.html#a717fab8d0a5d218896d56e403e1da647">ripple::PerfLog_test::testInvalidID</a></div><div class="ttdeci">void testInvalidID(WithFile withFile)</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog__test_8cpp_source.html#l00853">PerfLog_test.cpp:853</a></div></div>
<div class="ttc" id="aclassripple_1_1PerfLog__test_html_a88ee810f9e0b813dadfea4f5f97e2259"><div class="ttname"><a href="classripple_1_1PerfLog__test.html#a88ee810f9e0b813dadfea4f5f97e2259">ripple::PerfLog_test::run</a></div><div class="ttdeci">void run() override</div><div class="ttdoc">Runs the suite.</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog__test_8cpp_source.html#l01050">PerfLog_test.cpp:1050</a></div></div>
<div class="ttc" id="aclassripple_1_1PerfLog__test_html_a8a85a77ec56da77e7cbf2764c07e08ae"><div class="ttname"><a href="classripple_1_1PerfLog__test.html#a8a85a77ec56da77e7cbf2764c07e08ae">ripple::PerfLog_test::j_</a></div><div class="ttdeci">beast::Journal j_</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog__test_8cpp_source.html#l00055">PerfLog_test.cpp:55</a></div></div>
<div class="ttc" id="aclassripple_1_1PerfLog__test_html_ab48b3b1900429fa110a689059d0a0f42"><div class="ttname"><a href="classripple_1_1PerfLog__test.html#ab48b3b1900429fa110a689059d0a0f42">ripple::PerfLog_test::env_</a></div><div class="ttdeci">test::jtx::Env env_</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog__test_8cpp_source.html#l00050">PerfLog_test.cpp:50</a></div></div>
<div class="ttc" id="aclassripple_1_1PerfLog__test_html_aef025d38525527b80d9557b3e2d7e6b1"><div class="ttname"><a href="classripple_1_1PerfLog__test.html#aef025d38525527b80d9557b3e2d7e6b1">ripple::PerfLog_test::testRPC</a></div><div class="ttdeci">void testRPC(WithFile withFile)</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog__test_8cpp_source.html#l00304">PerfLog_test.cpp:304</a></div></div>
<div class="ttc" id="aclassripple_1_1PerfLog__test_html_aef2d09ad81d11ac3e09ccbb086fc90ae"><div class="ttname"><a href="classripple_1_1PerfLog__test.html#aef2d09ad81d11ac3e09ccbb086fc90ae">ripple::PerfLog_test::getSortedCurrent</a></div><div class="ttdeci">static std::vector&lt; Cur &gt; getSortedCurrent(Json::Value const &amp;currentJson)</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog__test_8cpp_source.html#l00170">PerfLog_test.cpp:170</a></div></div>
<div class="ttc" id="aclassripple_1_1PerfLog__test_html_afb0c8cba2f6e47f2fd2696d95a5263fa"><div class="ttname"><a href="classripple_1_1PerfLog__test.html#afb0c8cba2f6e47f2fd2696d95a5263fa">ripple::PerfLog_test::path</a></div><div class="ttdeci">boost::filesystem::path path</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog__test_8cpp_source.html#l00046">PerfLog_test.cpp:46</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html">ripple::test::jtx::Env</a></div><div class="ttdoc">A transaction testing environment.</div><div class="ttdef"><b>Definition:</b> <a href="Env_8h_source.html#l00120">Env.h:121</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_acd48f8ab02c37b1a30cedf4dec7cc96c"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#acd48f8ab02c37b1a30cedf4dec7cc96c">ripple::test::jtx::Env::app</a></div><div class="ttdeci">Application &amp; app()</div><div class="ttdef"><b>Definition:</b> <a href="Env_8h_source.html#l00261">Env.h:261</a></div></div>
<div class="ttc" id="aclassripple_1_1PerfLog__test_html_a717fab8d0a5d218896d56e403e1da647"><div class="ttname"><a href="classripple_1_1PerfLog__test.html#a717fab8d0a5d218896d56e403e1da647">ripple::PerfLog_test::testInvalidID</a></div><div class="ttdeci">void testInvalidID(WithFile withFile)</div><div class="ttdef"><b>Definition</b> <a href="PerfLog__test_8cpp_source.html#l00853">PerfLog_test.cpp:853</a></div></div>
<div class="ttc" id="aclassripple_1_1PerfLog__test_html_a88ee810f9e0b813dadfea4f5f97e2259"><div class="ttname"><a href="classripple_1_1PerfLog__test.html#a88ee810f9e0b813dadfea4f5f97e2259">ripple::PerfLog_test::run</a></div><div class="ttdeci">void run() override</div><div class="ttdoc">Runs the suite.</div><div class="ttdef"><b>Definition</b> <a href="PerfLog__test_8cpp_source.html#l01050">PerfLog_test.cpp:1050</a></div></div>
<div class="ttc" id="aclassripple_1_1PerfLog__test_html_a8a85a77ec56da77e7cbf2764c07e08ae"><div class="ttname"><a href="classripple_1_1PerfLog__test.html#a8a85a77ec56da77e7cbf2764c07e08ae">ripple::PerfLog_test::j_</a></div><div class="ttdeci">beast::Journal j_</div><div class="ttdef"><b>Definition</b> <a href="PerfLog__test_8cpp_source.html#l00055">PerfLog_test.cpp:55</a></div></div>
<div class="ttc" id="aclassripple_1_1PerfLog__test_html_ab48b3b1900429fa110a689059d0a0f42"><div class="ttname"><a href="classripple_1_1PerfLog__test.html#ab48b3b1900429fa110a689059d0a0f42">ripple::PerfLog_test::env_</a></div><div class="ttdeci">test::jtx::Env env_</div><div class="ttdef"><b>Definition</b> <a href="PerfLog__test_8cpp_source.html#l00050">PerfLog_test.cpp:50</a></div></div>
<div class="ttc" id="aclassripple_1_1PerfLog__test_html_aef025d38525527b80d9557b3e2d7e6b1"><div class="ttname"><a href="classripple_1_1PerfLog__test.html#aef025d38525527b80d9557b3e2d7e6b1">ripple::PerfLog_test::testRPC</a></div><div class="ttdeci">void testRPC(WithFile withFile)</div><div class="ttdef"><b>Definition</b> <a href="PerfLog__test_8cpp_source.html#l00304">PerfLog_test.cpp:304</a></div></div>
<div class="ttc" id="aclassripple_1_1PerfLog__test_html_aef2d09ad81d11ac3e09ccbb086fc90ae"><div class="ttname"><a href="classripple_1_1PerfLog__test.html#aef2d09ad81d11ac3e09ccbb086fc90ae">ripple::PerfLog_test::getSortedCurrent</a></div><div class="ttdeci">static std::vector&lt; Cur &gt; getSortedCurrent(Json::Value const &amp;currentJson)</div><div class="ttdef"><b>Definition</b> <a href="PerfLog__test_8cpp_source.html#l00170">PerfLog_test.cpp:170</a></div></div>
<div class="ttc" id="aclassripple_1_1PerfLog__test_html_afb0c8cba2f6e47f2fd2696d95a5263fa"><div class="ttname"><a href="classripple_1_1PerfLog__test.html#afb0c8cba2f6e47f2fd2696d95a5263fa">ripple::PerfLog_test::path</a></div><div class="ttdeci">boost::filesystem::path path</div><div class="ttdef"><b>Definition</b> <a href="PerfLog__test_8cpp_source.html#l00046">PerfLog_test.cpp:46</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html">ripple::test::jtx::Env</a></div><div class="ttdoc">A transaction testing environment.</div><div class="ttdef"><b>Definition</b> <a href="Env_8h_source.html#l00120">Env.h:121</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_acd48f8ab02c37b1a30cedf4dec7cc96c"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#acd48f8ab02c37b1a30cedf4dec7cc96c">ripple::test::jtx::Env::app</a></div><div class="ttdeci">Application &amp; app()</div><div class="ttdef"><b>Definition</b> <a href="Env_8h_source.html#l00261">Env.h:261</a></div></div>
<div class="ttc" id="aclose_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ofstream/close.html">std::ofstream::close</a></div><div class="ttdeci">T close(T... args)</div></div>
<div class="ttc" id="acmath_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/cmath.html">cmath</a></div></div>
<div class="ttc" id="aduration_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::milliseconds</a></div></div>
@@ -1192,16 +1239,16 @@ $(function() {
<div class="ttc" id="ainteger_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/types/integer.html">std::uintmax_t</a></div></div>
<div class="ttc" id="ais_open_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ofstream/is_open.html">std::ofstream::is_open</a></div><div class="ttdeci">T is_open(T... args)</div></div>
<div class="ttc" id="amax_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/types/numeric_limits/max.html">std::numeric_limits::max</a></div><div class="ttdeci">T max(T... args)</div></div>
<div class="ttc" id="anamespacebeast_1_1severities_html_a069a8a312b9123b77f6aa31733ca73beae13a45640877c138fc59c94443ece6f0"><div class="ttname"><a href="namespacebeast_1_1severities.html#a069a8a312b9123b77f6aa31733ca73beae13a45640877c138fc59c94443ece6f0">beast::severities::kDisabled</a></div><div class="ttdeci">@ kDisabled</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00042">Journal.h:42</a></div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_html_a1a79f0c33d1405fe85c40d63a49658bd"><div class="ttname"><a href="namespaceripple_1_1RPC.html#a1a79f0c33d1405fe85c40d63a49658bd">ripple::RPC::contains_error</a></div><div class="ttdeci">bool contains_error(Json::Value const &amp;json)</div><div class="ttdoc">Returns true if the json contains an rpc error specification.</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8cpp_source.html#l00204">ErrorCodes.cpp:204</a></div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_html_a35ffc918d128ebb582ba3ff85fdbb546"><div class="ttname"><a href="namespaceripple_1_1RPC.html#a35ffc918d128ebb582ba3ff85fdbb546">ripple::RPC::getHandlerNames</a></div><div class="ttdeci">std::set&lt; char const * &gt; getHandlerNames()</div><div class="ttdoc">Return names of all methods.</div><div class="ttdef"><b>Definition:</b> <a href="Handler_8cpp_source.html#l00318">Handler.cpp:318</a></div></div>
<div class="ttc" id="anamespaceripple_1_1perf_html_aef38cd26fe2b2e924f8c117aff08b598"><div class="ttname"><a href="namespaceripple_1_1perf.html#aef38cd26fe2b2e924f8c117aff08b598">ripple::perf::make_PerfLog</a></div><div class="ttdeci">std::unique_ptr&lt; PerfLog &gt; make_PerfLog(PerfLog::Setup const &amp;setup, Application &amp;app, beast::Journal journal, std::function&lt; void()&gt; &amp;&amp;signalStop)</div><div class="ttdef"><b>Definition:</b> <a href="PerfLogImp_8cpp_source.html#l00504">PerfLogImp.cpp:504</a></div></div>
<div class="ttc" id="anamespaceripple_1_1test_1_1jtx_html_a1a89263059406aed2c944c4583296959"><div class="ttname"><a href="namespaceripple_1_1test_1_1jtx.html#a1a89263059406aed2c944c4583296959">ripple::test::jtx::make_vector</a></div><div class="ttdeci">auto make_vector(Input const &amp;input)</div><div class="ttdef"><b>Definition:</b> <a href="TestHelpers_8h_source.html#l00053">TestHelpers.h:53</a></div></div>
<div class="ttc" id="anamespaceripple_1_1test_1_1jtx_html_a7a4caa0465c555c5c59ce7c0d0d48d78"><div class="ttname"><a href="namespaceripple_1_1test_1_1jtx.html#a7a4caa0465c555c5c59ce7c0d0d48d78">ripple::test::jtx::envconfig</a></div><div class="ttdeci">std::unique_ptr&lt; Config &gt; envconfig()</div><div class="ttdoc">creates and initializes a default configuration for jtx::Env</div><div class="ttdef"><b>Definition:</b> <a href="envconfig_8h_source.html#l00054">envconfig.h:54</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="algorithm_8h_source.html#l00025">algorithm.h:25</a></div></div>
<div class="ttc" id="anamespacebeast_1_1severities_html_a069a8a312b9123b77f6aa31733ca73beae13a45640877c138fc59c94443ece6f0"><div class="ttname"><a href="namespacebeast_1_1severities.html#a069a8a312b9123b77f6aa31733ca73beae13a45640877c138fc59c94443ece6f0">beast::severities::kDisabled</a></div><div class="ttdeci">@ kDisabled</div><div class="ttdef"><b>Definition</b> <a href="Journal_8h_source.html#l00042">Journal.h:42</a></div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_html_a1a79f0c33d1405fe85c40d63a49658bd"><div class="ttname"><a href="namespaceripple_1_1RPC.html#a1a79f0c33d1405fe85c40d63a49658bd">ripple::RPC::contains_error</a></div><div class="ttdeci">bool contains_error(Json::Value const &amp;json)</div><div class="ttdoc">Returns true if the json contains an rpc error specification.</div><div class="ttdef"><b>Definition</b> <a href="ErrorCodes_8cpp_source.html#l00204">ErrorCodes.cpp:204</a></div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_html_a35ffc918d128ebb582ba3ff85fdbb546"><div class="ttname"><a href="namespaceripple_1_1RPC.html#a35ffc918d128ebb582ba3ff85fdbb546">ripple::RPC::getHandlerNames</a></div><div class="ttdeci">std::set&lt; char const * &gt; getHandlerNames()</div><div class="ttdoc">Return names of all methods.</div><div class="ttdef"><b>Definition</b> <a href="Handler_8cpp_source.html#l00318">Handler.cpp:318</a></div></div>
<div class="ttc" id="anamespaceripple_1_1perf_html_aef38cd26fe2b2e924f8c117aff08b598"><div class="ttname"><a href="namespaceripple_1_1perf.html#aef38cd26fe2b2e924f8c117aff08b598">ripple::perf::make_PerfLog</a></div><div class="ttdeci">std::unique_ptr&lt; PerfLog &gt; make_PerfLog(PerfLog::Setup const &amp;setup, Application &amp;app, beast::Journal journal, std::function&lt; void()&gt; &amp;&amp;signalStop)</div><div class="ttdef"><b>Definition</b> <a href="PerfLogImp_8cpp_source.html#l00504">PerfLogImp.cpp:504</a></div></div>
<div class="ttc" id="anamespaceripple_1_1test_1_1jtx_html_a1a89263059406aed2c944c4583296959"><div class="ttname"><a href="namespaceripple_1_1test_1_1jtx.html#a1a89263059406aed2c944c4583296959">ripple::test::jtx::make_vector</a></div><div class="ttdeci">auto make_vector(Input const &amp;input)</div><div class="ttdef"><b>Definition</b> <a href="TestHelpers_8h_source.html#l00053">TestHelpers.h:53</a></div></div>
<div class="ttc" id="anamespaceripple_1_1test_1_1jtx_html_a7a4caa0465c555c5c59ce7c0d0d48d78"><div class="ttname"><a href="namespaceripple_1_1test_1_1jtx.html#a7a4caa0465c555c5c59ce7c0d0d48d78">ripple::test::jtx::envconfig</a></div><div class="ttdeci">std::unique_ptr&lt; Config &gt; envconfig()</div><div class="ttdoc">creates and initializes a default configuration for jtx::Env</div><div class="ttdef"><b>Definition</b> <a href="envconfig_8h_source.html#l00054">envconfig.h:54</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="algorithm_8h_source.html#l00025">algorithm.h:25</a></div></div>
<div class="ttc" id="anamespaceripple_html_a6434c1a0fd22b77e2e4a228c0eca79eba43b5c9175984c071f30b873fdce0a000"><div class="ttname"><a href="namespaceripple.html#a6434c1a0fd22b77e2e4a228c0eca79eba43b5c9175984c071f30b873fdce0a000">ripple::ValStatus::current</a></div><div class="ttdeci">@ current</div><div class="ttdoc">This was a new validation and was added.</div></div>
<div class="ttc" id="anamespaceripple_html_ae0f54f8ce649d639bf3e2b295347e17a"><div class="ttname"><a href="namespaceripple.html#ae0f54f8ce649d639bf3e2b295347e17a">ripple::JobType</a></div><div class="ttdeci">JobType</div><div class="ttdef"><b>Definition:</b> <a href="Job_8h_source.html#l00035">Job.h:35</a></div></div>
<div class="ttc" id="anamespaceripple_html_afe66a903fefc1f0613602efe9e2283de"><div class="ttname"><a href="namespaceripple.html#afe66a903fefc1f0613602efe9e2283de">ripple::default_prng</a></div><div class="ttdeci">beast::xor_shift_engine &amp; default_prng()</div><div class="ttdoc">Return the default random engine.</div><div class="ttdef"><b>Definition:</b> <a href="include_2xrpl_2basics_2random_8h_source.html#l00065">include/xrpl/basics/random.h:65</a></div></div>
<div class="ttc" id="anamespaceripple_html_ae0f54f8ce649d639bf3e2b295347e17a"><div class="ttname"><a href="namespaceripple.html#ae0f54f8ce649d639bf3e2b295347e17a">ripple::JobType</a></div><div class="ttdeci">JobType</div><div class="ttdef"><b>Definition</b> <a href="Job_8h_source.html#l00035">Job.h:35</a></div></div>
<div class="ttc" id="anamespaceripple_html_afe66a903fefc1f0613602efe9e2283de"><div class="ttname"><a href="namespaceripple.html#afe66a903fefc1f0613602efe9e2283de">ripple::default_prng</a></div><div class="ttdeci">beast::xor_shift_engine &amp; default_prng()</div><div class="ttdoc">Return the default random engine.</div><div class="ttdef"><b>Definition</b> <a href="include_2xrpl_2basics_2random_8h_source.html#l00065">include/xrpl/basics/random.h:65</a></div></div>
<div class="ttc" id="anamespacestd_1_1chrono_html"><div class="ttname"><a href="http://en.cppreference.com/w/namespacestd_1_1chrono.html">std::chrono</a></div></div>
<div class="ttc" id="anamespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div><div class="ttdoc">STL namespace.</div></div>
<div class="ttc" id="anumeric_limits_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/types/numeric_limits.html">std::numeric_limits</a></div></div>
@@ -1213,23 +1260,23 @@ $(function() {
<div class="ttc" id="asort_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/sort.html">std::sort</a></div><div class="ttdeci">T sort(T... args)</div></div>
<div class="ttc" id="astoul_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string/stoul.html">std::stoull</a></div><div class="ttdeci">T stoull(T... args)</div></div>
<div class="ttc" id="astring_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/string.html">string</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Cur_html"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Cur.html">ripple::PerfLog_test::Cur</a></div><div class="ttdef"><b>Definition:</b> <a href="PerfLog__test_8cpp_source.html#l00156">PerfLog_test.cpp:157</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Cur_html_a0b5004742e36851ab63a20a2ddf6588e"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Cur.html#a0b5004742e36851ab63a20a2ddf6588e">ripple::PerfLog_test::Cur::dur</a></div><div class="ttdeci">std::uint64_t dur</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog__test_8cpp_source.html#l00158">PerfLog_test.cpp:158</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Cur_html_a40568f8920fa5e7308a7c6084a0715ef"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Cur.html#a40568f8920fa5e7308a7c6084a0715ef">ripple::PerfLog_test::Cur::name</a></div><div class="ttdeci">std::string name</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog__test_8cpp_source.html#l00159">PerfLog_test.cpp:159</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Cur_html_a6a5e5659c3e480909d8bf62040b12b1f"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Cur.html#a6a5e5659c3e480909d8bf62040b12b1f">ripple::PerfLog_test::Cur::Cur</a></div><div class="ttdeci">Cur(std::uint64_t d, std::string n)</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog__test_8cpp_source.html#l00161">PerfLog_test.cpp:161</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Fixture_html"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Fixture.html">ripple::PerfLog_test::Fixture</a></div><div class="ttdef"><b>Definition:</b> <a href="PerfLog__test_8cpp_source.html#l00057">PerfLog_test.cpp:58</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Fixture_html_a1cfcea7c74bf5c6bf4896345f48ce9da"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Fixture.html#a1cfcea7c74bf5c6bf4896345f48ce9da">ripple::PerfLog_test::Fixture::signalStop</a></div><div class="ttdeci">void signalStop()</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog__test_8cpp_source.html#l00084">PerfLog_test.cpp:84</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Fixture_html_a1d28fde25dbd90d0a34bbd1dfc1fd13b"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Fixture.html#a1d28fde25dbd90d0a34bbd1dfc1fd13b">ripple::PerfLog_test::Fixture::~Fixture</a></div><div class="ttdeci">~Fixture()</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog__test_8cpp_source.html#l00067">PerfLog_test.cpp:67</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Fixture_html_a60ae043638e7bcfd1d88a6f819dcf671"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Fixture.html#a60ae043638e7bcfd1d88a6f819dcf671">ripple::PerfLog_test::Fixture::logDir</a></div><div class="ttdeci">path logDir() const</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog__test_8cpp_source.html#l00090">PerfLog_test.cpp:90</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Fixture_html_a651e099bab19aa328f1e95fb0ff29873"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Fixture.html#a651e099bab19aa328f1e95fb0ff29873">ripple::PerfLog_test::Fixture::logFile</a></div><div class="ttdeci">path logFile() const</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog__test_8cpp_source.html#l00097">PerfLog_test.cpp:97</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Fixture_html_a70ce6eccc7d946525b18e5e87b901038"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Fixture.html#a70ce6eccc7d946525b18e5e87b901038">ripple::PerfLog_test::Fixture::stopSignaled</a></div><div class="ttdeci">bool stopSignaled</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog__test_8cpp_source.html#l00061">PerfLog_test.cpp:61</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Fixture_html_a70e3b2cf83c21f4e708052d7220db431"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Fixture.html#a70e3b2cf83c21f4e708052d7220db431">ripple::PerfLog_test::Fixture::Fixture</a></div><div class="ttdeci">Fixture(Application &amp;app, beast::Journal j)</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog__test_8cpp_source.html#l00063">PerfLog_test.cpp:63</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Fixture_html_a86094c746dad2a7c24e8469b20d65a9e"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Fixture.html#a86094c746dad2a7c24e8469b20d65a9e">ripple::PerfLog_test::Fixture::app_</a></div><div class="ttdeci">Application &amp; app_</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog__test_8cpp_source.html#l00059">PerfLog_test.cpp:59</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Fixture_html_a8c7db8b81b7180e62c1a8c04d724c3b9"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Fixture.html#a8c7db8b81b7180e62c1a8c04d724c3b9">ripple::PerfLog_test::Fixture::perfLog</a></div><div class="ttdeci">std::unique_ptr&lt; perf::PerfLog &gt; perfLog(WithFile withFile)</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog__test_8cpp_source.html#l00109">PerfLog_test.cpp:109</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Fixture_html_ab07a1f3036efefcd1e33275516dbb77a"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Fixture.html#ab07a1f3036efefcd1e33275516dbb77a">ripple::PerfLog_test::Fixture::j_</a></div><div class="ttdeci">beast::Journal j_</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog__test_8cpp_source.html#l00060">PerfLog_test.cpp:60</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Fixture_html_ac438b1fcba815f5a43f5d4c7b788f7e3"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Fixture.html#ac438b1fcba815f5a43f5d4c7b788f7e3">ripple::PerfLog_test::Fixture::wait</a></div><div class="ttdeci">void wait() const</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog__test_8cpp_source.html#l00121">PerfLog_test.cpp:121</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Fixture_html_af470ad41024d648b2a50ec4da7ffc3d4"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Fixture.html#af470ad41024d648b2a50ec4da7ffc3d4">ripple::PerfLog_test::Fixture::logInterval</a></div><div class="ttdeci">std::chrono::milliseconds logInterval() const</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog__test_8cpp_source.html#l00103">PerfLog_test.cpp:103</a></div></div>
<div class="ttc" id="astructripple_1_1perf_1_1PerfLog_1_1Setup_html"><div class="ttname"><a href="structripple_1_1perf_1_1PerfLog_1_1Setup.html">ripple::perf::PerfLog::Setup</a></div><div class="ttdoc">Configuration from [perf] section of rippled.cfg.</div><div class="ttdef"><b>Definition:</b> <a href="PerfLog_8h_source.html#l00065">PerfLog.h:66</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Cur_html"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Cur.html">ripple::PerfLog_test::Cur</a></div><div class="ttdef"><b>Definition</b> <a href="PerfLog__test_8cpp_source.html#l00156">PerfLog_test.cpp:157</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Cur_html_a0b5004742e36851ab63a20a2ddf6588e"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Cur.html#a0b5004742e36851ab63a20a2ddf6588e">ripple::PerfLog_test::Cur::dur</a></div><div class="ttdeci">std::uint64_t dur</div><div class="ttdef"><b>Definition</b> <a href="PerfLog__test_8cpp_source.html#l00158">PerfLog_test.cpp:158</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Cur_html_a40568f8920fa5e7308a7c6084a0715ef"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Cur.html#a40568f8920fa5e7308a7c6084a0715ef">ripple::PerfLog_test::Cur::name</a></div><div class="ttdeci">std::string name</div><div class="ttdef"><b>Definition</b> <a href="PerfLog__test_8cpp_source.html#l00159">PerfLog_test.cpp:159</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Cur_html_a6a5e5659c3e480909d8bf62040b12b1f"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Cur.html#a6a5e5659c3e480909d8bf62040b12b1f">ripple::PerfLog_test::Cur::Cur</a></div><div class="ttdeci">Cur(std::uint64_t d, std::string n)</div><div class="ttdef"><b>Definition</b> <a href="PerfLog__test_8cpp_source.html#l00161">PerfLog_test.cpp:161</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Fixture_html"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Fixture.html">ripple::PerfLog_test::Fixture</a></div><div class="ttdef"><b>Definition</b> <a href="PerfLog__test_8cpp_source.html#l00057">PerfLog_test.cpp:58</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Fixture_html_a1cfcea7c74bf5c6bf4896345f48ce9da"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Fixture.html#a1cfcea7c74bf5c6bf4896345f48ce9da">ripple::PerfLog_test::Fixture::signalStop</a></div><div class="ttdeci">void signalStop()</div><div class="ttdef"><b>Definition</b> <a href="PerfLog__test_8cpp_source.html#l00084">PerfLog_test.cpp:84</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Fixture_html_a1d28fde25dbd90d0a34bbd1dfc1fd13b"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Fixture.html#a1d28fde25dbd90d0a34bbd1dfc1fd13b">ripple::PerfLog_test::Fixture::~Fixture</a></div><div class="ttdeci">~Fixture()</div><div class="ttdef"><b>Definition</b> <a href="PerfLog__test_8cpp_source.html#l00067">PerfLog_test.cpp:67</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Fixture_html_a60ae043638e7bcfd1d88a6f819dcf671"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Fixture.html#a60ae043638e7bcfd1d88a6f819dcf671">ripple::PerfLog_test::Fixture::logDir</a></div><div class="ttdeci">path logDir() const</div><div class="ttdef"><b>Definition</b> <a href="PerfLog__test_8cpp_source.html#l00090">PerfLog_test.cpp:90</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Fixture_html_a651e099bab19aa328f1e95fb0ff29873"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Fixture.html#a651e099bab19aa328f1e95fb0ff29873">ripple::PerfLog_test::Fixture::logFile</a></div><div class="ttdeci">path logFile() const</div><div class="ttdef"><b>Definition</b> <a href="PerfLog__test_8cpp_source.html#l00097">PerfLog_test.cpp:97</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Fixture_html_a70ce6eccc7d946525b18e5e87b901038"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Fixture.html#a70ce6eccc7d946525b18e5e87b901038">ripple::PerfLog_test::Fixture::stopSignaled</a></div><div class="ttdeci">bool stopSignaled</div><div class="ttdef"><b>Definition</b> <a href="PerfLog__test_8cpp_source.html#l00061">PerfLog_test.cpp:61</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Fixture_html_a70e3b2cf83c21f4e708052d7220db431"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Fixture.html#a70e3b2cf83c21f4e708052d7220db431">ripple::PerfLog_test::Fixture::Fixture</a></div><div class="ttdeci">Fixture(Application &amp;app, beast::Journal j)</div><div class="ttdef"><b>Definition</b> <a href="PerfLog__test_8cpp_source.html#l00063">PerfLog_test.cpp:63</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Fixture_html_a86094c746dad2a7c24e8469b20d65a9e"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Fixture.html#a86094c746dad2a7c24e8469b20d65a9e">ripple::PerfLog_test::Fixture::app_</a></div><div class="ttdeci">Application &amp; app_</div><div class="ttdef"><b>Definition</b> <a href="PerfLog__test_8cpp_source.html#l00059">PerfLog_test.cpp:59</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Fixture_html_a8c7db8b81b7180e62c1a8c04d724c3b9"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Fixture.html#a8c7db8b81b7180e62c1a8c04d724c3b9">ripple::PerfLog_test::Fixture::perfLog</a></div><div class="ttdeci">std::unique_ptr&lt; perf::PerfLog &gt; perfLog(WithFile withFile)</div><div class="ttdef"><b>Definition</b> <a href="PerfLog__test_8cpp_source.html#l00109">PerfLog_test.cpp:109</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Fixture_html_ab07a1f3036efefcd1e33275516dbb77a"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Fixture.html#ab07a1f3036efefcd1e33275516dbb77a">ripple::PerfLog_test::Fixture::j_</a></div><div class="ttdeci">beast::Journal j_</div><div class="ttdef"><b>Definition</b> <a href="PerfLog__test_8cpp_source.html#l00060">PerfLog_test.cpp:60</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Fixture_html_ac438b1fcba815f5a43f5d4c7b788f7e3"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Fixture.html#ac438b1fcba815f5a43f5d4c7b788f7e3">ripple::PerfLog_test::Fixture::wait</a></div><div class="ttdeci">void wait() const</div><div class="ttdef"><b>Definition</b> <a href="PerfLog__test_8cpp_source.html#l00121">PerfLog_test.cpp:121</a></div></div>
<div class="ttc" id="astructripple_1_1PerfLog__test_1_1Fixture_html_af470ad41024d648b2a50ec4da7ffc3d4"><div class="ttname"><a href="structripple_1_1PerfLog__test_1_1Fixture.html#af470ad41024d648b2a50ec4da7ffc3d4">ripple::PerfLog_test::Fixture::logInterval</a></div><div class="ttdeci">std::chrono::milliseconds logInterval() const</div><div class="ttdef"><b>Definition</b> <a href="PerfLog__test_8cpp_source.html#l00103">PerfLog_test.cpp:103</a></div></div>
<div class="ttc" id="astructripple_1_1perf_1_1PerfLog_1_1Setup_html"><div class="ttname"><a href="structripple_1_1perf_1_1PerfLog_1_1Setup.html">ripple::perf::PerfLog::Setup</a></div><div class="ttdoc">Configuration from [perf] section of rippled.cfg.</div><div class="ttdef"><b>Definition</b> <a href="PerfLog_8h_source.html#l00065">PerfLog.h:66</a></div></div>
<div class="ttc" id="athread_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/thread.html">thread</a></div></div>
<div class="ttc" id="auniform_int_distribution_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/numeric/random/uniform_int_distribution.html">std::uniform_int_distribution</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>
@@ -1237,7 +1284,7 @@ $(function() {
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>