mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-21 19:45:53 +00:00
393 lines
75 KiB
HTML
393 lines
75 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
<meta name="generator" content="Doxygen 1.8.17"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>rippled: ReportingETL.h Source File</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr style="height: 56px;">
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">rippled
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.17 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search');
|
|
$(document).ready(function() { init_search(); });
|
|
});
|
|
/* @license-end */</script>
|
|
<div id="main-nav"></div>
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<iframe src="javascript:void(0)" frameborder="0"
|
|
name="MSearchResults" id="MSearchResults">
|
|
</iframe>
|
|
</div>
|
|
|
|
<div id="nav-path" class="navpath">
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="dir_df9c78dcf3f59a33b12284f95992a64b.html">ripple</a></li><li class="navelem"><a class="el" href="dir_9f69212e4c6e2ca9ec5ab59cd7b6275c.html">app</a></li><li class="navelem"><a class="el" href="dir_465bd51df6d2b6b4b1941924bc602214.html">reporting</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="headertitle">
|
|
<div class="title">ReportingETL.h</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//------------------------------------------------------------------------------</span></div>
|
|
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">/*</span></div>
|
|
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> This file is part of rippled: https://github.com/ripple/rippled</span></div>
|
|
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> Copyright (c) 2020 Ripple Labs Inc.</span></div>
|
|
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"></span> </div>
|
|
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> Permission to use, copy, modify, and/or distribute this software for any</span></div>
|
|
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> purpose with or without fee is hereby granted, provided that the above</span></div>
|
|
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> copyright notice and this permission notice appear in all copies.</span></div>
|
|
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"></span> </div>
|
|
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES</span></div>
|
|
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF</span></div>
|
|
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR</span></div>
|
|
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES</span></div>
|
|
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN</span></div>
|
|
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF</span></div>
|
|
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.</span></div>
|
|
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment">*/</span></div>
|
|
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">//==============================================================================</span></div>
|
|
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  </div>
|
|
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#ifndef RIPPLE_APP_REPORTING_REPORTINGETL_H_INCLUDED</span></div>
|
|
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#define RIPPLE_APP_REPORTING_REPORTINGETL_H_INCLUDED</span></div>
|
|
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  </div>
|
|
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include <ripple/app/main/Application.h></span></div>
|
|
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include <ripple/app/rdb/RelationalDatabase.h></span></div>
|
|
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include <ripple/app/reporting/ETLHelpers.h></span></div>
|
|
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#include <ripple/app/reporting/ETLSource.h></span></div>
|
|
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include <ripple/core/JobQueue.h></span></div>
|
|
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include <ripple/net/InfoSub.h></span></div>
|
|
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#include <ripple/protocol/ErrorCodes.h></span></div>
|
|
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include <ripple/resource/Charge.h></span></div>
|
|
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <ripple/rpc/Context.h></span></div>
|
|
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <ripple/rpc/GRPCHandlers.h></span></div>
|
|
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <ripple/rpc/Role.h></span></div>
|
|
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <ripple/rpc/impl/Handler.h></span></div>
|
|
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <ripple/rpc/impl/RPCHelpers.h></span></div>
|
|
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <ripple/rpc/impl/Tuning.h></span></div>
|
|
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  </div>
|
|
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <boost/algorithm/string.hpp></span></div>
|
|
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <boost/beast/core.hpp></span></div>
|
|
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <boost/beast/core/string.hpp></span></div>
|
|
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <boost/beast/websocket.hpp></span></div>
|
|
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  </div>
|
|
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "org/xrpl/rpc/v1/xrp_ledger.grpc.pb.h"</span></div>
|
|
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include <grpcpp/grpcpp.h></span></div>
|
|
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  </div>
|
|
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <<a class="codeRef" href="http://en.cppreference.com/w/cpp/header/condition_variable.html">condition_variable</a>></span></div>
|
|
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include <<a class="codeRef" href="http://en.cppreference.com/w/cpp/header/mutex.html">mutex</a>></span></div>
|
|
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include <<a class="codeRef" href="http://en.cppreference.com/w/cpp/header/queue.html">queue</a>></span></div>
|
|
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  </div>
|
|
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include <<a class="codeRef" href="http://en.cppreference.com/w/cpp/header/chrono.html">chrono</a>></span></div>
|
|
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">namespace </span><a class="code" href="namespaceripple.html">ripple</a> {</div>
|
|
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  </div>
|
|
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="namespaceripple.html#a6ccd779019affe95ed50802a06d731d8"> 53</a></span> <span class="keyword">using</span> <a class="code" href="structripple_1_1RelationalDatabase_1_1AccountTransactionsData.html">AccountTransactionsData</a> = <a class="code" href="structripple_1_1RelationalDatabase_1_1AccountTransactionsData.html">RelationalDatabase::AccountTransactionsData</a>;</div>
|
|
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  </div>
|
|
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="classripple_1_1ReportingETL.html"> 70</a></span> <span class="keyword">class </span><a class="code" href="classripple_1_1ReportingETL.html">ReportingETL</a></div>
|
|
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> {</div>
|
|
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">private</span>:</div>
|
|
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="classripple_1_1ReportingETL.html#a025eaafe836579aff932a4102c167843"> 73</a></span>  <a class="code" href="classripple_1_1Application.html">Application</a>& <a class="code" href="classripple_1_1ReportingETL.html#a025eaafe836579aff932a4102c167843">app_</a>;</div>
|
|
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  </div>
|
|
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classripple_1_1ReportingETL.html#a895933d223f738bde43b236e10d5263d"> 75</a></span>  <a class="code" href="classbeast_1_1Journal.html">beast::Journal</a> <a class="code" href="classripple_1_1ReportingETL.html#a895933d223f738bde43b236e10d5263d">journal_</a>;</div>
|
|
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  </div>
|
|
<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="classripple_1_1ReportingETL.html#a0ccd0096aeb98f89bcfcd3f9a6720558"> 77</a></span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/thread/thread.html">std::thread</a> <a class="code" href="classripple_1_1ReportingETL.html#a0ccd0096aeb98f89bcfcd3f9a6720558">worker_</a>;</div>
|
|
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  </div>
|
|
<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="classripple_1_1ReportingETL.html#a9d1499c23252defaf45e6a5bc3c041d8"> 91</a></span>  boost::asio::io_context::strand <a class="code" href="classripple_1_1ReportingETL.html#a9d1499c23252defaf45e6a5bc3c041d8">publishStrand_</a>;</div>
|
|
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  </div>
|
|
<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="classripple_1_1ReportingETL.html#a11e3503cdbaecb0a137011f0baabacbf"> 96</a></span>  <a class="code" href="classripple_1_1ETLLoadBalancer.html">ETLLoadBalancer</a> <a class="code" href="classripple_1_1ReportingETL.html#a11e3503cdbaecb0a137011f0baabacbf">loadBalancer_</a>;</div>
|
|
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  </div>
|
|
<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="classripple_1_1ReportingETL.html#a899fe8195a769872305181fe1085ae4c"> 100</a></span>  <a class="code" href="classripple_1_1NetworkValidatedLedgers.html">NetworkValidatedLedgers</a> <a class="code" href="classripple_1_1ReportingETL.html#a899fe8195a769872305181fe1085ae4c">networkValidatedLedgers_</a>;</div>
|
|
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  </div>
|
|
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classripple_1_1ReportingETL.html#a5ddc490e776b73888b0d7c2670efa727"> 103</a></span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/atomic/atomic.html">std::atomic_bool</a> <a class="code" href="classripple_1_1ReportingETL.html#a5ddc490e776b73888b0d7c2670efa727">stopping_</a> = <span class="keyword">false</span>;</div>
|
|
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  </div>
|
|
<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="classripple_1_1ReportingETL.html#ade4fa846f12c209192fa2e87e94bb7d2"> 115</a></span>  <span class="keywordtype">size_t</span> <a class="code" href="classripple_1_1ReportingETL.html#ade4fa846f12c209192fa2e87e94bb7d2">flushInterval_</a> = 0;</div>
|
|
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  </div>
|
|
<div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="classripple_1_1ReportingETL.html#aecb81f86df5bbad3cd94d5f038f39ca4"> 126</a></span>  <span class="keywordtype">size_t</span> <a class="code" href="classripple_1_1ReportingETL.html#aecb81f86df5bbad3cd94d5f038f39ca4">numMarkers_</a> = 2;</div>
|
|
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  </div>
|
|
<div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="classripple_1_1ReportingETL.html#ac905a48c78a1687c148e9c927f5b7358"> 131</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classripple_1_1ReportingETL.html#ac905a48c78a1687c148e9c927f5b7358">readOnly_</a> = <span class="keyword">false</span>;</div>
|
|
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  </div>
|
|
<div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="classripple_1_1ReportingETL.html#ad6affa3fb0dd9d1c7366d18fa7655f12"> 134</a></span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/atomic/atomic.html">std::atomic_bool</a> <a class="code" href="classripple_1_1ReportingETL.html#ad6affa3fb0dd9d1c7366d18fa7655f12">writing_</a> = <span class="keyword">false</span>;</div>
|
|
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  </div>
|
|
<div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="classripple_1_1ReportingETL.html#a046a79acf905dcc11d0618d2afab7df5"> 139</a></span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional<uint32_t></a> <a class="code" href="classripple_1_1ReportingETL.html#a046a79acf905dcc11d0618d2afab7df5">startSequence_</a>;</div>
|
|
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  </div>
|
|
<div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="classripple_1_1ReportingETL.html#a510316a584720d4b8eaf9c08574ecbb4"> 143</a></span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">std::chrono::time_point<std::chrono::system_clock></a> <a class="code" href="classripple_1_1ReportingETL.html#a510316a584720d4b8eaf9c08574ecbb4">lastPublish_</a>;</div>
|
|
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  </div>
|
|
<div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="classripple_1_1ReportingETL.html#a11d3916c8a626636fe52caec34048f5e"> 145</a></span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/thread/mutex.html">std::mutex</a> <a class="code" href="classripple_1_1ReportingETL.html#a11d3916c8a626636fe52caec34048f5e">publishTimeMtx_</a>;</div>
|
|
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  </div>
|
|
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">std::chrono::time_point<std::chrono::system_clock></a></div>
|
|
<div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="classripple_1_1ReportingETL.html#a15fea132fff12a88c71985dbe7837474"> 148</a></span>  <a class="code" href="classripple_1_1ReportingETL.html#a15fea132fff12a88c71985dbe7837474">getLastPublish</a>()</div>
|
|
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  {</div>
|
|
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/thread/unique_lock.html">std::unique_lock<std::mutex></a> lck(<a class="code" href="classripple_1_1ReportingETL.html#a11d3916c8a626636fe52caec34048f5e">publishTimeMtx_</a>);</div>
|
|
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keywordflow">return</span> <a class="code" href="classripple_1_1ReportingETL.html#a510316a584720d4b8eaf9c08574ecbb4">lastPublish_</a>;</div>
|
|
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  }</div>
|
|
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  </div>
|
|
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordtype">void</span></div>
|
|
<div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="classripple_1_1ReportingETL.html#a482603f4f68241e0421df9bd4fa64383"> 155</a></span>  <a class="code" href="classripple_1_1ReportingETL.html#a482603f4f68241e0421df9bd4fa64383">setLastPublish</a>()</div>
|
|
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  {</div>
|
|
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/thread/unique_lock.html">std::unique_lock<std::mutex></a> lck(<a class="code" href="classripple_1_1ReportingETL.html#a11d3916c8a626636fe52caec34048f5e">publishTimeMtx_</a>);</div>
|
|
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <a class="code" href="classripple_1_1ReportingETL.html#a510316a584720d4b8eaf9c08574ecbb4">lastPublish_</a> = <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/system_clock/now.html">std::chrono::system_clock::now</a>();</div>
|
|
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  }</div>
|
|
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  </div>
|
|
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<Ledger></a></div>
|
|
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <a class="code" href="classripple_1_1ReportingETL.html#a99f99fa676db643dc5144e8e445a1c50">loadInitialLedger</a>(uint32_t sequence);</div>
|
|
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  </div>
|
|
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional<uint32_t></a></div>
|
|
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <a class="code" href="classripple_1_1ReportingETL.html#a2ca1423e114e2ffe04197c9f0fa48e57">runETLPipeline</a>(uint32_t startSequence);</div>
|
|
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  </div>
|
|
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keywordtype">void</span></div>
|
|
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <a class="code" href="classripple_1_1ReportingETL.html#a8d4c5283fb672759378e44b8a3d0f04d">monitor</a>();</div>
|
|
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  </div>
|
|
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keywordtype">void</span></div>
|
|
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <a class="code" href="classripple_1_1ReportingETL.html#a608b4da3230791a58316d01c65583c3d">monitorReadOnly</a>();</div>
|
|
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  </div>
|
|
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional<org::xrpl::rpc::v1::GetLedgerResponse></a></div>
|
|
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <a class="code" href="classripple_1_1ReportingETL.html#af2f90043d532a1ce40192cddf1714134">fetchLedgerData</a>(uint32_t sequence);</div>
|
|
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  </div>
|
|
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional<org::xrpl::rpc::v1::GetLedgerResponse></a></div>
|
|
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <a class="code" href="classripple_1_1ReportingETL.html#a3633d41f7c40d383530f36a8d326d4b7">fetchLedgerDataAndDiff</a>(uint32_t sequence);</div>
|
|
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  </div>
|
|
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<AccountTransactionsData></a></div>
|
|
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <a class="code" href="classripple_1_1ReportingETL.html#a956bf91e816d4c7942c8933aabca3111">insertTransactions</a>(</div>
|
|
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<Ledger></a>& ledger,</div>
|
|
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  org::xrpl::rpc::v1::GetLedgerResponse& data);</div>
|
|
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  </div>
|
|
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair<std::shared_ptr<Ledger></a>, <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<AccountTransactionsData></a>></div>
|
|
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <a class="code" href="classripple_1_1ReportingETL.html#a29cdba905b9bf95b9d3b1396315e434b">buildNextLedger</a>(</div>
|
|
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<Ledger></a>& parent,</div>
|
|
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  org::xrpl::rpc::v1::GetLedgerResponse& rawData);</div>
|
|
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  </div>
|
|
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <span class="keywordtype">void</span></div>
|
|
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <a class="code" href="classripple_1_1ReportingETL.html#a9ec64d56f16ec446b786b27f2491c361">flushLedger</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<Ledger></a>& ledger);</div>
|
|
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  </div>
|
|
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <span class="keywordtype">bool</span></div>
|
|
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <a class="code" href="classripple_1_1ReportingETL.html#a54f8263cfec62cbf43621a2d08ffc98c">publishLedger</a>(uint32_t ledgerSequence, uint32_t maxAttempts = 10);</div>
|
|
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  </div>
|
|
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="keywordtype">void</span></div>
|
|
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <a class="code" href="classripple_1_1ReportingETL.html#a54f8263cfec62cbf43621a2d08ffc98c">publishLedger</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<Ledger></a>& ledger);</div>
|
|
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  </div>
|
|
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keywordtype">void</span></div>
|
|
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <a class="code" href="classripple_1_1ReportingETL.html#a8d152a62b05ed142c39af7e366e6a47c">consumeLedgerData</a>(</div>
|
|
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<Ledger></a>& ledger,</div>
|
|
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <a class="code" href="classripple_1_1ThreadSafeQueue.html">ThreadSafeQueue</a><<a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<SLE></a>>& writeQueue);</div>
|
|
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  </div>
|
|
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="keyword">public</span>:</div>
|
|
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="keyword">explicit</span> <a class="code" href="classripple_1_1ReportingETL.html#aaf4d1662b131bed6d6ef635ad4b63e96">ReportingETL</a>(<a class="code" href="classripple_1_1Application.html">Application</a>& app);</div>
|
|
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  </div>
|
|
<div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="classripple_1_1ReportingETL.html#ab5f33ccddbf2cb2cc9ab635ab70a7bd5"> 271</a></span>  <a class="code" href="classripple_1_1ReportingETL.html#ab5f33ccddbf2cb2cc9ab635ab70a7bd5">~ReportingETL</a>()</div>
|
|
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  {</div>
|
|
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  }</div>
|
|
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  </div>
|
|
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <a class="code" href="classripple_1_1NetworkValidatedLedgers.html">NetworkValidatedLedgers</a>&</div>
|
|
<div class="line"><a name="l00276"></a><span class="lineno"><a class="line" href="classripple_1_1ReportingETL.html#a7cf2b8002b6786b4464b2d6a0afff7d4"> 276</a></span>  <a class="code" href="classripple_1_1ReportingETL.html#a7cf2b8002b6786b4464b2d6a0afff7d4">getNetworkValidatedLedgers</a>()</div>
|
|
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  {</div>
|
|
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <span class="keywordflow">return</span> <a class="code" href="classripple_1_1ReportingETL.html#a899fe8195a769872305181fe1085ae4c">networkValidatedLedgers_</a>;</div>
|
|
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  }</div>
|
|
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  </div>
|
|
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <span class="keywordtype">bool</span></div>
|
|
<div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="classripple_1_1ReportingETL.html#aa9765cfe9a061b821e3d47a44c56a6e8"> 282</a></span>  <a class="code" href="classripple_1_1ReportingETL.html#aa9765cfe9a061b821e3d47a44c56a6e8">isStopping</a>()<span class="keyword"> const</span></div>
|
|
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="keyword"> </span>{</div>
|
|
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <span class="keywordflow">return</span> <a class="code" href="classripple_1_1ReportingETL.html#a5ddc490e776b73888b0d7c2670efa727">stopping_</a>;</div>
|
|
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  }</div>
|
|
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  </div>
|
|
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  uint32_t</div>
|
|
<div class="line"><a name="l00292"></a><span class="lineno"><a class="line" href="classripple_1_1ReportingETL.html#a15171145745ec8d1a19f51a373bc8d2a"> 292</a></span>  <a class="code" href="classripple_1_1ReportingETL.html#a15171145745ec8d1a19f51a373bc8d2a">getNumMarkers</a>()</div>
|
|
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  {</div>
|
|
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="keywordflow">return</span> <a class="code" href="classripple_1_1ReportingETL.html#aecb81f86df5bbad3cd94d5f038f39ca4">numMarkers_</a>;</div>
|
|
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  }</div>
|
|
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  </div>
|
|
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <a class="code" href="classripple_1_1Application.html">Application</a>&</div>
|
|
<div class="line"><a name="l00298"></a><span class="lineno"><a class="line" href="classripple_1_1ReportingETL.html#aa8bff32452cf4a675c758a843e7ba16c"> 298</a></span>  <a class="code" href="classripple_1_1ReportingETL.html#aa8bff32452cf4a675c758a843e7ba16c">getApplication</a>()</div>
|
|
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  {</div>
|
|
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <span class="keywordflow">return</span> <a class="code" href="classripple_1_1ReportingETL.html#a025eaafe836579aff932a4102c167843">app_</a>;</div>
|
|
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  }</div>
|
|
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  </div>
|
|
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <a class="code" href="classbeast_1_1Journal.html">beast::Journal</a>&</div>
|
|
<div class="line"><a name="l00304"></a><span class="lineno"><a class="line" href="classripple_1_1ReportingETL.html#ac8a12b5c2e7dd663977c6a3e35b82f76"> 304</a></span>  <a class="code" href="classripple_1_1ReportingETL.html#ac8a12b5c2e7dd663977c6a3e35b82f76">getJournal</a>()</div>
|
|
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  {</div>
|
|
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keywordflow">return</span> <a class="code" href="classripple_1_1ReportingETL.html#a895933d223f738bde43b236e10d5263d">journal_</a>;</div>
|
|
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  }</div>
|
|
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  </div>
|
|
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <a class="code" href="classJson_1_1Value.html">Json::Value</a></div>
|
|
<div class="line"><a name="l00310"></a><span class="lineno"><a class="line" href="classripple_1_1ReportingETL.html#ad1728e3c8cb5a9e4f00bf7fbfb423bad"> 310</a></span>  <a class="code" href="classripple_1_1ReportingETL.html#ad1728e3c8cb5a9e4f00bf7fbfb423bad">getInfo</a>()</div>
|
|
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  {</div>
|
|
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <a class="code" href="classJson_1_1Value.html">Json::Value</a> result(<a class="code" href="namespaceJson.html#a7d654b75c16a57007925868e38212b4eae8386dcfc36d1ae897745f7b4f77a1f6">Json::objectValue</a>);</div>
|
|
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  </div>
|
|
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  result[<span class="stringliteral">"etl_sources"</span>] = <a class="code" href="classripple_1_1ReportingETL.html#a11e3503cdbaecb0a137011f0baabacbf">loadBalancer_</a>.<a class="code" href="classripple_1_1ETLLoadBalancer.html#ad50b94eccab1d17847b3a3683ff50d0b">toJson</a>();</div>
|
|
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  result[<span class="stringliteral">"is_writer"</span>] = <a class="code" href="classripple_1_1ReportingETL.html#ad6affa3fb0dd9d1c7366d18fa7655f12">writing_</a>.<a class="codeRef" href="http://en.cppreference.com/w/cpp/atomic/atomic/load.html">load</a>();</div>
|
|
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <span class="keyword">auto</span> last = <a class="code" href="classripple_1_1ReportingETL.html#a15fea132fff12a88c71985dbe7837474">getLastPublish</a>();</div>
|
|
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <span class="keywordflow">if</span> (last.time_since_epoch().count() != 0)</div>
|
|
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  result[<span class="stringliteral">"last_publish_time"</span>] =</div>
|
|
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <a class="code" href="namespaceripple.html#af9776f187d3686a7fba4c2d2fbeebdf4">to_string</a>(std::chrono::floor<std::chrono::microseconds>(</div>
|
|
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <a class="code" href="classripple_1_1ReportingETL.html#a15fea132fff12a88c71985dbe7837474">getLastPublish</a>()));</div>
|
|
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <span class="keywordflow">return</span> result;</div>
|
|
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  }</div>
|
|
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  </div>
|
|
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="keywordtype">void</span></div>
|
|
<div class="line"><a name="l00326"></a><span class="lineno"><a class="line" href="classripple_1_1ReportingETL.html#aa0722787e2f8a69c88654c3934bf3156"> 326</a></span>  <a class="code" href="classripple_1_1ReportingETL.html#aa0722787e2f8a69c88654c3934bf3156">start</a>()</div>
|
|
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  {</div>
|
|
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  JLOG(<a class="code" href="classripple_1_1ReportingETL.html#a895933d223f738bde43b236e10d5263d">journal_</a>.<a class="code" href="classbeast_1_1Journal.html#a87d6bd59020d94110027dcab3d9e3357">info</a>()) << <span class="stringliteral">"Starting reporting etl"</span>;</div>
|
|
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  assert(<a class="code" href="classripple_1_1ReportingETL.html#a025eaafe836579aff932a4102c167843">app_</a>.<a class="code" href="classripple_1_1Application.html#aca56b7c63030174e59720ab51d739422">config</a>().<a class="code" href="classripple_1_1Config.html#a8fdf3fd3b2112759b3a0a7fa4d8afa05">reporting</a>());</div>
|
|
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  assert(<a class="code" href="classripple_1_1ReportingETL.html#a025eaafe836579aff932a4102c167843">app_</a>.<a class="code" href="classripple_1_1Application.html#aca56b7c63030174e59720ab51d739422">config</a>().<a class="code" href="classripple_1_1Config.html#a55cd8ef67ffbf6a137e0dd71bc8151c6">standalone</a>());</div>
|
|
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  assert(<a class="code" href="classripple_1_1ReportingETL.html#a025eaafe836579aff932a4102c167843">app_</a>.<a class="code" href="classripple_1_1Application.html#aca56b7c63030174e59720ab51d739422">config</a>().<a class="code" href="classripple_1_1Config.html#ad05fa018b47b496a64653fb36a0fbd5b">reportingReadOnly</a>() == <a class="code" href="classripple_1_1ReportingETL.html#ac905a48c78a1687c148e9c927f5b7358">readOnly_</a>);</div>
|
|
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  </div>
|
|
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <a class="code" href="classripple_1_1ReportingETL.html#a5ddc490e776b73888b0d7c2670efa727">stopping_</a> = <span class="keyword">false</span>;</div>
|
|
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  </div>
|
|
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <a class="code" href="classripple_1_1ReportingETL.html#a11e3503cdbaecb0a137011f0baabacbf">loadBalancer_</a>.<a class="code" href="classripple_1_1ETLLoadBalancer.html#ad200aaca546601e212a973c0cf374178">start</a>();</div>
|
|
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <a class="code" href="classripple_1_1ReportingETL.html#a36cc3ec60e19cd21b88c12708726e693">doWork</a>();</div>
|
|
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  }</div>
|
|
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  </div>
|
|
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordtype">void</span></div>
|
|
<div class="line"><a name="l00340"></a><span class="lineno"><a class="line" href="classripple_1_1ReportingETL.html#ab97081e9f50a7cbb016ad341f7a23bd1"> 340</a></span>  <a class="code" href="classripple_1_1ReportingETL.html#ab97081e9f50a7cbb016ad341f7a23bd1">stop</a>()</div>
|
|
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  {</div>
|
|
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  JLOG(<a class="code" href="classripple_1_1ReportingETL.html#a895933d223f738bde43b236e10d5263d">journal_</a>.<a class="code" href="classbeast_1_1Journal.html#a87d6bd59020d94110027dcab3d9e3357">info</a>()) << <span class="stringliteral">"onStop called"</span>;</div>
|
|
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  JLOG(<a class="code" href="classripple_1_1ReportingETL.html#a895933d223f738bde43b236e10d5263d">journal_</a>.<a class="code" href="classbeast_1_1Journal.html#a556228cb60bcf405c225d3f64b7b01ae">debug</a>()) << <span class="stringliteral">"Stopping Reporting ETL"</span>;</div>
|
|
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <a class="code" href="classripple_1_1ReportingETL.html#a5ddc490e776b73888b0d7c2670efa727">stopping_</a> = <span class="keyword">true</span>;</div>
|
|
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <a class="code" href="classripple_1_1ReportingETL.html#a899fe8195a769872305181fe1085ae4c">networkValidatedLedgers_</a>.<a class="code" href="classripple_1_1NetworkValidatedLedgers.html#a0bf84fe65c8346735831b368de59c49d">stop</a>();</div>
|
|
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <a class="code" href="classripple_1_1ReportingETL.html#a11e3503cdbaecb0a137011f0baabacbf">loadBalancer_</a>.<a class="code" href="classripple_1_1ETLLoadBalancer.html#adc3fc877fa56c57d21d8040ad7b247e6">stop</a>();</div>
|
|
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  </div>
|
|
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  JLOG(<a class="code" href="classripple_1_1ReportingETL.html#a895933d223f738bde43b236e10d5263d">journal_</a>.<a class="code" href="classbeast_1_1Journal.html#a556228cb60bcf405c225d3f64b7b01ae">debug</a>()) << <span class="stringliteral">"Stopped loadBalancer"</span>;</div>
|
|
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <span class="keywordflow">if</span> (<a class="code" href="classripple_1_1ReportingETL.html#a0ccd0096aeb98f89bcfcd3f9a6720558">worker_</a>.<a class="codeRef" href="http://en.cppreference.com/w/cpp/thread/thread/joinable.html">joinable</a>())</div>
|
|
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <a class="code" href="classripple_1_1ReportingETL.html#a0ccd0096aeb98f89bcfcd3f9a6720558">worker_</a>.<a class="codeRef" href="http://en.cppreference.com/w/cpp/thread/thread/join.html">join</a>();</div>
|
|
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  </div>
|
|
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  JLOG(<a class="code" href="classripple_1_1ReportingETL.html#a895933d223f738bde43b236e10d5263d">journal_</a>.<a class="code" href="classbeast_1_1Journal.html#a556228cb60bcf405c225d3f64b7b01ae">debug</a>()) << <span class="stringliteral">"Joined worker thread"</span>;</div>
|
|
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  }</div>
|
|
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  </div>
|
|
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <a class="code" href="classripple_1_1ETLLoadBalancer.html">ETLLoadBalancer</a>&</div>
|
|
<div class="line"><a name="l00356"></a><span class="lineno"><a class="line" href="classripple_1_1ReportingETL.html#a9c84a6a08340a7eb1f87878eafc9e738"> 356</a></span>  <a class="code" href="classripple_1_1ReportingETL.html#a9c84a6a08340a7eb1f87878eafc9e738">getETLLoadBalancer</a>()</div>
|
|
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  {</div>
|
|
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="keywordflow">return</span> <a class="code" href="classripple_1_1ReportingETL.html#a11e3503cdbaecb0a137011f0baabacbf">loadBalancer_</a>;</div>
|
|
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  }</div>
|
|
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  </div>
|
|
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="keyword">private</span>:</div>
|
|
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <span class="keywordtype">void</span></div>
|
|
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <a class="code" href="classripple_1_1ReportingETL.html#a36cc3ec60e19cd21b88c12708726e693">doWork</a>();</div>
|
|
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> };</div>
|
|
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  </div>
|
|
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> } <span class="comment">// namespace ripple</span></div>
|
|
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="preprocessor">#endif</span></div>
|
|
</div><!-- fragment --></div><!-- contents -->
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_ade4fa846f12c209192fa2e87e94bb7d2"><div class="ttname"><a href="classripple_1_1ReportingETL.html#ade4fa846f12c209192fa2e87e94bb7d2">ripple::ReportingETL::flushInterval_</a></div><div class="ttdeci">size_t flushInterval_</div><div class="ttdoc">Used to determine when to write to the database during the initial ledger download.</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8h_source.html#l00115">ReportingETL.h:115</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#l00115">Application.h:115</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_af2f90043d532a1ce40192cddf1714134"><div class="ttname"><a href="classripple_1_1ReportingETL.html#af2f90043d532a1ce40192cddf1714134">ripple::ReportingETL::fetchLedgerData</a></div><div class="ttdeci">std::optional< org::xrpl::rpc::v1::GetLedgerResponse > fetchLedgerData(uint32_t sequence)</div><div class="ttdoc">Extract data for a particular ledger from an ETL source.</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8cpp_source.html#l00350">ReportingETL.cpp:350</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_a99f99fa676db643dc5144e8e445a1c50"><div class="ttname"><a href="classripple_1_1ReportingETL.html#a99f99fa676db643dc5144e8e445a1c50">ripple::ReportingETL::loadInitialLedger</a></div><div class="ttdeci">std::shared_ptr< Ledger > loadInitialLedger(uint32_t sequence)</div><div class="ttdoc">Download a ledger with specified sequence in full, via GetLedgerData, and write the data to the datab...</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8cpp_source.html#l00107">ReportingETL.cpp:107</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_a046a79acf905dcc11d0618d2afab7df5"><div class="ttname"><a href="classripple_1_1ReportingETL.html#a046a79acf905dcc11d0618d2afab7df5">ripple::ReportingETL::startSequence_</a></div><div class="ttdeci">std::optional< uint32_t > startSequence_</div><div class="ttdoc">Ledger sequence to start ETL from.</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8h_source.html#l00139">ReportingETL.h:139</a></div></div>
|
|
<div class="ttc" id="ashared_ptr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr< Ledger ></a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_a11d3916c8a626636fe52caec34048f5e"><div class="ttname"><a href="classripple_1_1ReportingETL.html#a11d3916c8a626636fe52caec34048f5e">ripple::ReportingETL::publishTimeMtx_</a></div><div class="ttdeci">std::mutex publishTimeMtx_</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8h_source.html#l00145">ReportingETL.h:145</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ThreadSafeQueue_html"><div class="ttname"><a href="classripple_1_1ThreadSafeQueue.html">ripple::ThreadSafeQueue</a></div><div class="ttdoc">Generic thread-safe queue with an optional maximum size Note, we can't use a lockfree queue here,...</div><div class="ttdef"><b>Definition:</b> <a href="ETLHelpers_8h_source.html#l00115">ETLHelpers.h:115</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ETLLoadBalancer_html_ad200aaca546601e212a973c0cf374178"><div class="ttname"><a href="classripple_1_1ETLLoadBalancer.html#ad200aaca546601e212a973c0cf374178">ripple::ETLLoadBalancer::start</a></div><div class="ttdeci">void start()</div><div class="ttdoc">Setup all of the ETL sources and subscribe to the necessary streams.</div><div class="ttdef"><b>Definition:</b> <a href="ETLSource_8cpp_source.html#l00969">ETLSource.cpp:969</a></div></div>
|
|
<div class="ttc" id="apair_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_a482603f4f68241e0421df9bd4fa64383"><div class="ttname"><a href="classripple_1_1ReportingETL.html#a482603f4f68241e0421df9bd4fa64383">ripple::ReportingETL::setLastPublish</a></div><div class="ttdeci">void setLastPublish()</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8h_source.html#l00155">ReportingETL.h:155</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_a956bf91e816d4c7942c8933aabca3111"><div class="ttname"><a href="classripple_1_1ReportingETL.html#a956bf91e816d4c7942c8933aabca3111">ripple::ReportingETL::insertTransactions</a></div><div class="ttdeci">std::vector< AccountTransactionsData > insertTransactions(std::shared_ptr< Ledger > &ledger, org::xrpl::rpc::v1::GetLedgerResponse &data)</div><div class="ttdoc">Insert all of the extracted transactions into the ledger.</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8cpp_source.html#l00076">ReportingETL.cpp:76</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_a9ec64d56f16ec446b786b27f2491c361"><div class="ttname"><a href="classripple_1_1ReportingETL.html#a9ec64d56f16ec446b786b27f2491c361">ripple::ReportingETL::flushLedger</a></div><div class="ttdeci">void flushLedger(std::shared_ptr< Ledger > &ledger)</div><div class="ttdoc">Write all new data to the key-value store.</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8cpp_source.html#l00182">ReportingETL.cpp:182</a></div></div>
|
|
<div class="ttc" id="avector_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a></div><div class="ttdoc">STL class.</div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_ad1728e3c8cb5a9e4f00bf7fbfb423bad"><div class="ttname"><a href="classripple_1_1ReportingETL.html#ad1728e3c8cb5a9e4f00bf7fbfb423bad">ripple::ReportingETL::getInfo</a></div><div class="ttdeci">Json::Value getInfo()</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8h_source.html#l00310">ReportingETL.h:310</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_a11e3503cdbaecb0a137011f0baabacbf"><div class="ttname"><a href="classripple_1_1ReportingETL.html#a11e3503cdbaecb0a137011f0baabacbf">ripple::ReportingETL::loadBalancer_</a></div><div class="ttdeci">ETLLoadBalancer loadBalancer_</div><div class="ttdoc">Mechanism for communicating with ETL sources.</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8h_source.html#l00096">ReportingETL.h:96</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1NetworkValidatedLedgers_html_a0bf84fe65c8346735831b368de59c49d"><div class="ttname"><a href="classripple_1_1NetworkValidatedLedgers.html#a0bf84fe65c8346735831b368de59c49d">ripple::NetworkValidatedLedgers::stop</a></div><div class="ttdeci">void stop()</div><div class="ttdoc">Puts the datastructure in the stopped state Future calls to this datastructure will not block This op...</div><div class="ttdef"><b>Definition:</b> <a href="ETLHelpers_8h_source.html#l00102">ETLHelpers.h:102</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1NetworkValidatedLedgers_html"><div class="ttname"><a href="classripple_1_1NetworkValidatedLedgers.html">ripple::NetworkValidatedLedgers</a></div><div class="ttdoc">This datastructure is used to keep track of the sequence of the most recent ledger validated by the n...</div><div class="ttdef"><b>Definition:</b> <a href="ETLHelpers_8h_source.html#l00039">ETLHelpers.h:39</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_aa8bff32452cf4a675c758a843e7ba16c"><div class="ttname"><a href="classripple_1_1ReportingETL.html#aa8bff32452cf4a675c758a843e7ba16c">ripple::ReportingETL::getApplication</a></div><div class="ttdeci">Application & getApplication()</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8h_source.html#l00298">ReportingETL.h:298</a></div></div>
|
|
<div class="ttc" id="aqueue_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/queue.html">queue</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_a899fe8195a769872305181fe1085ae4c"><div class="ttname"><a href="classripple_1_1ReportingETL.html#a899fe8195a769872305181fe1085ae4c">ripple::ReportingETL::networkValidatedLedgers_</a></div><div class="ttdeci">NetworkValidatedLedgers networkValidatedLedgers_</div><div class="ttdoc">Mechanism for detecting when the network has validated a new ledger.</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8h_source.html#l00100">ReportingETL.h:100</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_ab97081e9f50a7cbb016ad341f7a23bd1"><div class="ttname"><a href="classripple_1_1ReportingETL.html#ab97081e9f50a7cbb016ad341f7a23bd1">ripple::ReportingETL::stop</a></div><div class="ttdeci">void stop()</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8h_source.html#l00340">ReportingETL.h:340</a></div></div>
|
|
<div class="ttc" id="ajoinable_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/thread/thread/joinable.html">std::thread::joinable</a></div><div class="ttdeci">T joinable(T... args)</div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_a54f8263cfec62cbf43621a2d08ffc98c"><div class="ttname"><a href="classripple_1_1ReportingETL.html#a54f8263cfec62cbf43621a2d08ffc98c">ripple::ReportingETL::publishLedger</a></div><div class="ttdeci">bool publishLedger(uint32_t ledgerSequence, uint32_t maxAttempts=10)</div><div class="ttdoc">Attempt to read the specified ledger from the database, and then publish that ledger to the ledgers s...</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8cpp_source.html#l00283">ReportingETL.cpp:283</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_a895933d223f738bde43b236e10d5263d"><div class="ttname"><a href="classripple_1_1ReportingETL.html#a895933d223f738bde43b236e10d5263d">ripple::ReportingETL::journal_</a></div><div class="ttdeci">beast::Journal journal_</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8h_source.html#l00075">ReportingETL.h:75</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1Config_html_a8fdf3fd3b2112759b3a0a7fa4d8afa05"><div class="ttname"><a href="classripple_1_1Config.html#a8fdf3fd3b2112759b3a0a7fa4d8afa05">ripple::Config::reporting</a></div><div class="ttdeci">bool reporting() const</div><div class="ttdef"><b>Definition:</b> <a href="Config_8h_source.html#l00317">Config.h:317</a></div></div>
|
|
<div class="ttc" id="athread_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/thread/thread.html">std::thread</a></div><div class="ttdoc">STL class.</div></div>
|
|
<div class="ttc" id="anamespaceJson_html_a7d654b75c16a57007925868e38212b4eae8386dcfc36d1ae897745f7b4f77a1f6"><div class="ttname"><a href="namespaceJson.html#a7d654b75c16a57007925868e38212b4eae8386dcfc36d1ae897745f7b4f77a1f6">Json::objectValue</a></div><div class="ttdeci">@ objectValue</div><div class="ttdoc">object value (collection of name/value pairs).</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8h_source.html#l00043">json_value.h:43</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_ac8a12b5c2e7dd663977c6a3e35b82f76"><div class="ttname"><a href="classripple_1_1ReportingETL.html#ac8a12b5c2e7dd663977c6a3e35b82f76">ripple::ReportingETL::getJournal</a></div><div class="ttdeci">beast::Journal & getJournal()</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8h_source.html#l00304">ReportingETL.h:304</a></div></div>
|
|
<div class="ttc" id="aload_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/atomic/atomic/load.html">std::atomic_bool::load</a></div><div class="ttdeci">T load(T... args)</div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_ad6affa3fb0dd9d1c7366d18fa7655f12"><div class="ttname"><a href="classripple_1_1ReportingETL.html#ad6affa3fb0dd9d1c7366d18fa7655f12">ripple::ReportingETL::writing_</a></div><div class="ttdeci">std::atomic_bool writing_</div><div class="ttdoc">Whether the process is writing to the database. Used by server_info.</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8h_source.html#l00134">ReportingETL.h:134</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ETLLoadBalancer_html_adc3fc877fa56c57d21d8040ad7b247e6"><div class="ttname"><a href="classripple_1_1ETLLoadBalancer.html#adc3fc877fa56c57d21d8040ad7b247e6">ripple::ETLLoadBalancer::stop</a></div><div class="ttdeci">void stop()</div><div class="ttdef"><b>Definition:</b> <a href="ETLSource_8cpp_source.html#l00976">ETLSource.cpp:976</a></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="aclassripple_1_1ReportingETL_html_ac905a48c78a1687c148e9c927f5b7358"><div class="ttname"><a href="classripple_1_1ReportingETL.html#ac905a48c78a1687c148e9c927f5b7358">ripple::ReportingETL::readOnly_</a></div><div class="ttdeci">bool readOnly_</div><div class="ttdoc">Whether the process is in strict read-only mode.</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8h_source.html#l00131">ReportingETL.h:131</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_aecb81f86df5bbad3cd94d5f038f39ca4"><div class="ttname"><a href="classripple_1_1ReportingETL.html#aecb81f86df5bbad3cd94d5f038f39ca4">ripple::ReportingETL::numMarkers_</a></div><div class="ttdeci">size_t numMarkers_</div><div class="ttdoc">This variable controls the number of GetLedgerData calls that will be executed in parallel during the...</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8h_source.html#l00126">ReportingETL.h:126</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1Application_html_aca56b7c63030174e59720ab51d739422"><div class="ttname"><a href="classripple_1_1Application.html#aca56b7c63030174e59720ab51d739422">ripple::Application::config</a></div><div class="ttdeci">virtual Config & config()=0</div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_a9c84a6a08340a7eb1f87878eafc9e738"><div class="ttname"><a href="classripple_1_1ReportingETL.html#a9c84a6a08340a7eb1f87878eafc9e738">ripple::ReportingETL::getETLLoadBalancer</a></div><div class="ttdeci">ETLLoadBalancer & getETLLoadBalancer()</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8h_source.html#l00356">ReportingETL.h:356</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_a15fea132fff12a88c71985dbe7837474"><div class="ttname"><a href="classripple_1_1ReportingETL.html#a15fea132fff12a88c71985dbe7837474">ripple::ReportingETL::getLastPublish</a></div><div class="ttdeci">std::chrono::time_point< std::chrono::system_clock > getLastPublish()</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8h_source.html#l00148">ReportingETL.h:148</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1Config_html_a55cd8ef67ffbf6a137e0dd71bc8151c6"><div class="ttname"><a href="classripple_1_1Config.html#a55cd8ef67ffbf6a137e0dd71bc8151c6">ripple::Config::standalone</a></div><div class="ttdeci">bool standalone() const</div><div class="ttdef"><b>Definition:</b> <a href="Config_8h_source.html#l00312">Config.h:312</a></div></div>
|
|
<div class="ttc" id="aunique_lock_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/thread/unique_lock.html">std::unique_lock</a></div><div class="ttdoc">STL class.</div></div>
|
|
<div class="ttc" id="aclassripple_1_1ETLLoadBalancer_html"><div class="ttname"><a href="classripple_1_1ETLLoadBalancer.html">ripple::ETLLoadBalancer</a></div><div class="ttdoc">This class is used to manage connections to transaction processing processes This class spawns a list...</div><div class="ttdef"><b>Definition:</b> <a href="ETLSource_8h_source.html#l00315">ETLSource.h:315</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_a7cf2b8002b6786b4464b2d6a0afff7d4"><div class="ttname"><a href="classripple_1_1ReportingETL.html#a7cf2b8002b6786b4464b2d6a0afff7d4">ripple::ReportingETL::getNetworkValidatedLedgers</a></div><div class="ttdeci">NetworkValidatedLedgers & getNetworkValidatedLedgers()</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8h_source.html#l00276">ReportingETL.h:276</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_a608b4da3230791a58316d01c65583c3d"><div class="ttname"><a href="classripple_1_1ReportingETL.html#a608b4da3230791a58316d01c65583c3d">ripple::ReportingETL::monitorReadOnly</a></div><div class="ttdeci">void monitorReadOnly()</div><div class="ttdoc">Monitor the database for newly written ledgers.</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8cpp_source.html#l00804">ReportingETL.cpp:804</a></div></div>
|
|
<div class="ttc" id="aclassbeast_1_1Journal_html_a87d6bd59020d94110027dcab3d9e3357"><div class="ttname"><a href="classbeast_1_1Journal.html#a87d6bd59020d94110027dcab3d9e3357">beast::Journal::info</a></div><div class="ttdeci">Stream info() const</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00321">Journal.h:321</a></div></div>
|
|
<div class="ttc" id="atime_point_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/chrono/time_point.html">std::chrono::time_point< std::chrono::system_clock ></a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_a9d1499c23252defaf45e6a5bc3c041d8"><div class="ttname"><a href="classripple_1_1ReportingETL.html#a9d1499c23252defaf45e6a5bc3c041d8">ripple::ReportingETL::publishStrand_</a></div><div class="ttdeci">boost::asio::io_context::strand publishStrand_</div><div class="ttdoc">Strand to ensure that ledgers are published in order.</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8h_source.html#l00091">ReportingETL.h:91</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html"><div class="ttname"><a href="classripple_1_1ReportingETL.html">ripple::ReportingETL</a></div><div class="ttdoc">This class is responsible for continuously extracting data from a p2p node, and writing that data to ...</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8h_source.html#l00070">ReportingETL.h:70</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_a15171145745ec8d1a19f51a373bc8d2a"><div class="ttname"><a href="classripple_1_1ReportingETL.html#a15171145745ec8d1a19f51a373bc8d2a">ripple::ReportingETL::getNumMarkers</a></div><div class="ttdeci">uint32_t getNumMarkers()</div><div class="ttdoc">Get the number of markers to use during the initial ledger download.</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8h_source.html#l00292">ReportingETL.h:292</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="aatomic_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/atomic/atomic.html">std::atomic_bool</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_ab5f33ccddbf2cb2cc9ab635ab70a7bd5"><div class="ttname"><a href="classripple_1_1ReportingETL.html#ab5f33ccddbf2cb2cc9ab635ab70a7bd5">ripple::ReportingETL::~ReportingETL</a></div><div class="ttdeci">~ReportingETL()</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8h_source.html#l00271">ReportingETL.h:271</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_a3633d41f7c40d383530f36a8d326d4b7"><div class="ttname"><a href="classripple_1_1ReportingETL.html#a3633d41f7c40d383530f36a8d326d4b7">ripple::ReportingETL::fetchLedgerDataAndDiff</a></div><div class="ttdeci">std::optional< org::xrpl::rpc::v1::GetLedgerResponse > fetchLedgerDataAndDiff(uint32_t sequence)</div><div class="ttdoc">Extract data for a particular ledger from an ETL source.</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8cpp_source.html#l00364">ReportingETL.cpp:364</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_a510316a584720d4b8eaf9c08574ecbb4"><div class="ttname"><a href="classripple_1_1ReportingETL.html#a510316a584720d4b8eaf9c08574ecbb4">ripple::ReportingETL::lastPublish_</a></div><div class="ttdeci">std::chrono::time_point< std::chrono::system_clock > lastPublish_</div><div class="ttdoc">The time that the most recently published ledger was published.</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8h_source.html#l00143">ReportingETL.h:143</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ETLLoadBalancer_html_ad50b94eccab1d17847b3a3683ff50d0b"><div class="ttname"><a href="classripple_1_1ETLLoadBalancer.html#ad50b94eccab1d17847b3a3683ff50d0b">ripple::ETLLoadBalancer::toJson</a></div><div class="ttdeci">Json::Value toJson() const</div><div class="ttdef"><b>Definition:</b> <a href="ETLSource_8h_source.html#l00397">ETLSource.h:397</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_1ReportingETL_html_a5ddc490e776b73888b0d7c2670efa727"><div class="ttname"><a href="classripple_1_1ReportingETL.html#a5ddc490e776b73888b0d7c2670efa727">ripple::ReportingETL::stopping_</a></div><div class="ttdeci">std::atomic_bool stopping_</div><div class="ttdoc">Whether the software is stopping.</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8h_source.html#l00103">ReportingETL.h:103</a></div></div>
|
|
<div class="ttc" id="acondition_variable_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/condition_variable.html">condition_variable</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_a025eaafe836579aff932a4102c167843"><div class="ttname"><a href="classripple_1_1ReportingETL.html#a025eaafe836579aff932a4102c167843">ripple::ReportingETL::app_</a></div><div class="ttdeci">Application & app_</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8h_source.html#l00073">ReportingETL.h:73</a></div></div>
|
|
<div class="ttc" id="aoptional_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional< uint32_t ></a></div></div>
|
|
<div class="ttc" id="amutex_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/mutex.html">mutex</a></div></div>
|
|
<div class="ttc" id="aclassbeast_1_1Journal_html_a556228cb60bcf405c225d3f64b7b01ae"><div class="ttname"><a href="classbeast_1_1Journal.html#a556228cb60bcf405c225d3f64b7b01ae">beast::Journal::debug</a></div><div class="ttdeci">Stream debug() const</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00315">Journal.h:315</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_aa0722787e2f8a69c88654c3934bf3156"><div class="ttname"><a href="classripple_1_1ReportingETL.html#aa0722787e2f8a69c88654c3934bf3156">ripple::ReportingETL::start</a></div><div class="ttdeci">void start()</div><div class="ttdoc">start all of the necessary components and begin ETL</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8h_source.html#l00326">ReportingETL.h:326</a></div></div>
|
|
<div class="ttc" id="anamespaceripple_html_af9776f187d3686a7fba4c2d2fbeebdf4"><div class="ttname"><a href="namespaceripple.html#af9776f187d3686a7fba4c2d2fbeebdf4">ripple::to_string</a></div><div class="ttdeci">std::string to_string(Manifest const &m)</div><div class="ttdoc">Format the specified manifest to a string for debugging purposes.</div><div class="ttdef"><b>Definition:</b> <a href="app_2misc_2impl_2Manifest_8cpp_source.html#l00041">app/misc/impl/Manifest.cpp:41</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_a0ccd0096aeb98f89bcfcd3f9a6720558"><div class="ttname"><a href="classripple_1_1ReportingETL.html#a0ccd0096aeb98f89bcfcd3f9a6720558">ripple::ReportingETL::worker_</a></div><div class="ttdeci">std::thread worker_</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8h_source.html#l00077">ReportingETL.h:77</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1Config_html_ad05fa018b47b496a64653fb36a0fbd5b"><div class="ttname"><a href="classripple_1_1Config.html#ad05fa018b47b496a64653fb36a0fbd5b">ripple::Config::reportingReadOnly</a></div><div class="ttdeci">bool reportingReadOnly() const</div><div class="ttdef"><b>Definition:</b> <a href="Config_8h_source.html#l00329">Config.h:329</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_a29cdba905b9bf95b9d3b1396315e434b"><div class="ttname"><a href="classripple_1_1ReportingETL.html#a29cdba905b9bf95b9d3b1396315e434b">ripple::ReportingETL::buildNextLedger</a></div><div class="ttdeci">std::pair< std::shared_ptr< Ledger >, std::vector< AccountTransactionsData > > buildNextLedger(std::shared_ptr< Ledger > &parent, org::xrpl::rpc::v1::GetLedgerResponse &rawData)</div><div class="ttdoc">Build the next ledger using the previous ledger and the extracted data.</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8cpp_source.html#l00378">ReportingETL.cpp:378</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_a8d4c5283fb672759378e44b8a3d0f04d"><div class="ttname"><a href="classripple_1_1ReportingETL.html#a8d4c5283fb672759378e44b8a3d0f04d">ripple::ReportingETL::monitor</a></div><div class="ttdeci">void monitor()</div><div class="ttdoc">Monitor the network for newly validated ledgers.</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8cpp_source.html#l00684">ReportingETL.cpp:684</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_aaf4d1662b131bed6d6ef635ad4b63e96"><div class="ttname"><a href="classripple_1_1ReportingETL.html#aaf4d1662b131bed6d6ef635ad4b63e96">ripple::ReportingETL::ReportingETL</a></div><div class="ttdeci">ReportingETL(Application &app)</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8cpp_source.html#l00833">ReportingETL.cpp:833</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_aa9765cfe9a061b821e3d47a44c56a6e8"><div class="ttname"><a href="classripple_1_1ReportingETL.html#aa9765cfe9a061b821e3d47a44c56a6e8">ripple::ReportingETL::isStopping</a></div><div class="ttdeci">bool isStopping() const</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8h_source.html#l00282">ReportingETL.h:282</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_a8d152a62b05ed142c39af7e366e6a47c"><div class="ttname"><a href="classripple_1_1ReportingETL.html#a8d152a62b05ed142c39af7e366e6a47c">ripple::ReportingETL::consumeLedgerData</a></div><div class="ttdeci">void consumeLedgerData(std::shared_ptr< Ledger > &ledger, ThreadSafeQueue< std::shared_ptr< SLE >> &writeQueue)</div><div class="ttdoc">Consume data from a queue and insert that data into the ledger This function will continue to pull fr...</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8cpp_source.html#l00054">ReportingETL.cpp:54</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_a36cc3ec60e19cd21b88c12708726e693"><div class="ttname"><a href="classripple_1_1ReportingETL.html#a36cc3ec60e19cd21b88c12708726e693">ripple::ReportingETL::doWork</a></div><div class="ttdeci">void doWork()</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8cpp_source.html#l00822">ReportingETL.cpp:822</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1ReportingETL_html_a2ca1423e114e2ffe04197c9f0fa48e57"><div class="ttname"><a href="classripple_1_1ReportingETL.html#a2ca1423e114e2ffe04197c9f0fa48e57">ripple::ReportingETL::runETLPipeline</a></div><div class="ttdeci">std::optional< uint32_t > runETLPipeline(uint32_t startSequence)</div><div class="ttdoc">Run ETL.</div><div class="ttdef"><b>Definition:</b> <a href="ReportingETL_8cpp_source.html#l00464">ReportingETL.cpp:464</a></div></div>
|
|
<div class="ttc" id="ajoin_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/thread/thread/join.html">std::thread::join</a></div><div class="ttdeci">T join(T... args)</div></div>
|
|
<div class="ttc" id="astructripple_1_1RelationalDatabase_1_1AccountTransactionsData_html"><div class="ttname"><a href="structripple_1_1RelationalDatabase_1_1AccountTransactionsData.html">ripple::RelationalDatabase::AccountTransactionsData</a></div><div class="ttdoc">Struct used to keep track of what to write to transactions and account_transactions tables in Postgre...</div><div class="ttdef"><b>Definition:</b> <a href="RelationalDatabase_8h_source.html#l00116">RelationalDatabase.h:116</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#l00145">json_value.h:145</a></div></div>
|
|
<div class="ttc" id="anow_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/chrono/system_clock/now.html">std::chrono::system_clock::now</a></div><div class="ttdeci">T now(T... args)</div></div>
|
|
<!-- start footer part -->
|
|
<hr class="footer"/><address class="footer"><small>
|
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
</a> 1.8.17
|
|
</small></address>
|
|
</body>
|
|
</html>
|