mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-06 17:27:55 +00:00
1388 lines
83 KiB
HTML
1388 lines
83 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
<meta name="generator" content="Doxygen 1.8.17"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>rippled: ripple::ReportingETL Class Reference</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr style="height: 56px;">
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">rippled
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.17 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&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="namespaceripple.html">ripple</a></li><li class="navelem"><a class="el" href="classripple_1_1ReportingETL.html">ReportingETL</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#pub-methods">Public Member Functions</a> |
|
|
<a href="#pri-methods">Private Member Functions</a> |
|
|
<a href="#pri-attribs">Private Attributes</a> |
|
|
<a href="classripple_1_1ReportingETL-members.html">List of all members</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">ripple::ReportingETL Class Reference</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>This class is responsible for continuously extracting data from a p2p node, and writing that data to the databases.
|
|
<a href="classripple_1_1ReportingETL.html#details">More...</a></p>
|
|
<div class="dynheader">
|
|
Collaboration diagram for ripple::ReportingETL:</div>
|
|
<div class="dyncontent">
|
|
<div class="center"><img src="classripple_1_1ReportingETL__coll__graph.png" border="0" usemap="#ripple_1_1ReportingETL_coll__map" alt="Collaboration graph"/></div>
|
|
<map name="ripple_1_1ReportingETL_coll__map" id="ripple_1_1ReportingETL_coll__map">
|
|
<area shape="rect" title="This class is responsible for continuously extracting data from a p2p node, and writing that data to ..." alt="" coords="1622,621,1774,648"/>
|
|
<area shape="rect" href="classripple_1_1ETLLoadBalancer.html" title="This class is used to manage connections to transaction processing processes This class spawns a list..." alt="" coords="2835,591,3013,617"/>
|
|
<area shape="rect" href="classripple_1_1ETLSource.html" title="This class manages a connection to a single ETL source." alt="" coords="1997,399,2132,425"/>
|
|
<area shape="rect" href="http://en.cppreference.com/w/cpp/container/vector.html" title=" " alt="" coords="2521,543,2725,585"/>
|
|
<area shape="rect" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html" title=" " alt="" coords="2237,513,2408,554"/>
|
|
<area shape="rect" href="classripple_1_1Application.html" title=" " alt="" coords="1184,756,1324,783"/>
|
|
<area shape="rect" href="classbeast_1_1PropertyStream_1_1Source.html" title="Subclasses can be called to write to a stream and have children." alt="" coords="869,830,1037,871"/>
|
|
<area shape="rect" href="classbeast_1_1PropertyStream_1_1Item.html" title=" " alt="" coords="1170,807,1338,849"/>
|
|
<area shape="rect" href="http://en.cppreference.com/w/cpp/thread/recursive_mutex.html" title="STL class." alt="" coords="576,867,735,893"/>
|
|
<area shape="rect" href="http://en.cppreference.com/w/cpp/string/basic_string.html" title="STL class." alt="" coords="612,412,699,439"/>
|
|
<area shape="rect" href="classbeast_1_1List.html" title=" " alt="" coords="563,801,748,842"/>
|
|
<area shape="rect" href="classbeast_1_1detail_1_1ListNode.html" title=" " alt="" coords="275,756,457,812"/>
|
|
<area shape="rect" href="classbeast_1_1detail_1_1ListNode.html" title=" " alt="" coords="5,763,173,805"/>
|
|
<area shape="rect" href="http://en.cppreference.com/w/cpp/types/size_t.html" title=" " alt="" coords="322,836,410,863"/>
|
|
<area shape="rect" title=" " alt="" coords="880,740,1027,767"/>
|
|
<area shape="rect" href="http://en.cppreference.com/w/cpp/thread/mutex.html" title="STL class." alt="" coords="907,465,999,492"/>
|
|
<area shape="rect" href="classripple_1_1NetworkValidatedLedgers.html" title="This datastructure is used to keep track of the sequence of the most recent ledger validated by the n..." alt="" coords="1163,455,1345,497"/>
|
|
<area shape="rect" href="http://en.cppreference.com/w/cpp/atomic/atomic.html" title=" " alt="" coords="1189,401,1319,428"/>
|
|
<area shape="rect" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html" title=" " alt="" coords="1584,523,1812,579"/>
|
|
<area shape="rect" href="http://en.cppreference.com/w/cpp/container/vector.html" title=" " alt="" coords="1607,189,1789,230"/>
|
|
<area shape="rect" href="http://en.cppreference.com/w/cpp/utility/pair.html" title=" " alt="" coords="1181,189,1327,230"/>
|
|
<area shape="rect" title=" " alt="" coords="934,196,973,223"/>
|
|
<area shape="rect" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html" title=" " alt="" coords="1571,108,1825,164"/>
|
|
<area shape="rect" href="classbeast_1_1Journal.html" title="A generic endpoint for log messages." alt="" coords="1199,256,1309,283"/>
|
|
<area shape="rect" href="classbeast_1_1Journal_1_1Sink.html" title="Abstraction for the underlying message destination." alt="" coords="880,256,1027,283"/>
|
|
<area shape="rect" href="http://en.cppreference.com/w/cpp/thread/condition_variable.html" title=" " alt="" coords="868,415,1039,441"/>
|
|
<area shape="rect" href="http://en.cppreference.com/w/cpp/utility/optional.html" title=" " alt="" coords="860,603,1047,629"/>
|
|
<area shape="rect" href="http://en.cppreference.com/w/cpp/chrono/time_point.html" title=" " alt="" coords="1168,613,1340,669"/>
|
|
<area shape="rect" href="http://en.cppreference.com/w/cpp/thread/thread.html" title="STL class." alt="" coords="1208,873,1300,900"/>
|
|
</map>
|
|
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
|
Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:aaf4d1662b131bed6d6ef635ad4b63e96"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#aaf4d1662b131bed6d6ef635ad4b63e96">ReportingETL</a> (<a class="el" href="classripple_1_1Application.html">Application</a> &app)</td></tr>
|
|
<tr class="separator:aaf4d1662b131bed6d6ef635ad4b63e96"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab5f33ccddbf2cb2cc9ab635ab70a7bd5"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#ab5f33ccddbf2cb2cc9ab635ab70a7bd5">~ReportingETL</a> ()</td></tr>
|
|
<tr class="separator:ab5f33ccddbf2cb2cc9ab635ab70a7bd5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7cf2b8002b6786b4464b2d6a0afff7d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1NetworkValidatedLedgers.html">NetworkValidatedLedgers</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#a7cf2b8002b6786b4464b2d6a0afff7d4">getNetworkValidatedLedgers</a> ()</td></tr>
|
|
<tr class="separator:a7cf2b8002b6786b4464b2d6a0afff7d4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa9765cfe9a061b821e3d47a44c56a6e8"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#aa9765cfe9a061b821e3d47a44c56a6e8">isStopping</a> () const</td></tr>
|
|
<tr class="separator:aa9765cfe9a061b821e3d47a44c56a6e8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a15171145745ec8d1a19f51a373bc8d2a"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#a15171145745ec8d1a19f51a373bc8d2a">getNumMarkers</a> ()</td></tr>
|
|
<tr class="memdesc:a15171145745ec8d1a19f51a373bc8d2a"><td class="mdescLeft"> </td><td class="mdescRight">Get the number of markers to use during the initial ledger download. <a href="classripple_1_1ReportingETL.html#a15171145745ec8d1a19f51a373bc8d2a">More...</a><br /></td></tr>
|
|
<tr class="separator:a15171145745ec8d1a19f51a373bc8d2a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa8bff32452cf4a675c758a843e7ba16c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1Application.html">Application</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#aa8bff32452cf4a675c758a843e7ba16c">getApplication</a> ()</td></tr>
|
|
<tr class="separator:aa8bff32452cf4a675c758a843e7ba16c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac8a12b5c2e7dd663977c6a3e35b82f76"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbeast_1_1Journal.html">beast::Journal</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#ac8a12b5c2e7dd663977c6a3e35b82f76">getJournal</a> ()</td></tr>
|
|
<tr class="separator:ac8a12b5c2e7dd663977c6a3e35b82f76"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad1728e3c8cb5a9e4f00bf7fbfb423bad"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classJson_1_1Value.html">Json::Value</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#ad1728e3c8cb5a9e4f00bf7fbfb423bad">getInfo</a> ()</td></tr>
|
|
<tr class="separator:ad1728e3c8cb5a9e4f00bf7fbfb423bad"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa0722787e2f8a69c88654c3934bf3156"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#aa0722787e2f8a69c88654c3934bf3156">start</a> ()</td></tr>
|
|
<tr class="memdesc:aa0722787e2f8a69c88654c3934bf3156"><td class="mdescLeft"> </td><td class="mdescRight">start all of the necessary components and begin ETL <a href="classripple_1_1ReportingETL.html#aa0722787e2f8a69c88654c3934bf3156">More...</a><br /></td></tr>
|
|
<tr class="separator:aa0722787e2f8a69c88654c3934bf3156"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab97081e9f50a7cbb016ad341f7a23bd1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#ab97081e9f50a7cbb016ad341f7a23bd1">stop</a> ()</td></tr>
|
|
<tr class="separator:ab97081e9f50a7cbb016ad341f7a23bd1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9c84a6a08340a7eb1f87878eafc9e738"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1ETLLoadBalancer.html">ETLLoadBalancer</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#a9c84a6a08340a7eb1f87878eafc9e738">getETLLoadBalancer</a> ()</td></tr>
|
|
<tr class="separator:a9c84a6a08340a7eb1f87878eafc9e738"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
|
|
Private Member Functions</h2></td></tr>
|
|
<tr class="memitem:a15fea132fff12a88c71985dbe7837474"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">std::chrono::time_point</a>< <a class="elRef" href="http://en.cppreference.com/w/cpp/chrono/system_clock.html">std::chrono::system_clock</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#a15fea132fff12a88c71985dbe7837474">getLastPublish</a> ()</td></tr>
|
|
<tr class="separator:a15fea132fff12a88c71985dbe7837474"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a482603f4f68241e0421df9bd4fa64383"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#a482603f4f68241e0421df9bd4fa64383">setLastPublish</a> ()</td></tr>
|
|
<tr class="separator:a482603f4f68241e0421df9bd4fa64383"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a99f99fa676db643dc5144e8e445a1c50"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="classripple_1_1Ledger.html">Ledger</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#a99f99fa676db643dc5144e8e445a1c50">loadInitialLedger</a> (uint32_t sequence)</td></tr>
|
|
<tr class="memdesc:a99f99fa676db643dc5144e8e445a1c50"><td class="mdescLeft"> </td><td class="mdescRight">Download a ledger with specified sequence in full, via GetLedgerData, and write the data to the databases. <a href="classripple_1_1ReportingETL.html#a99f99fa676db643dc5144e8e445a1c50">More...</a><br /></td></tr>
|
|
<tr class="separator:a99f99fa676db643dc5144e8e445a1c50"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2ca1423e114e2ffe04197c9f0fa48e57"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional</a>< uint32_t > </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#a2ca1423e114e2ffe04197c9f0fa48e57">runETLPipeline</a> (uint32_t startSequence)</td></tr>
|
|
<tr class="memdesc:a2ca1423e114e2ffe04197c9f0fa48e57"><td class="mdescLeft"> </td><td class="mdescRight">Run ETL. <a href="classripple_1_1ReportingETL.html#a2ca1423e114e2ffe04197c9f0fa48e57">More...</a><br /></td></tr>
|
|
<tr class="separator:a2ca1423e114e2ffe04197c9f0fa48e57"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8d4c5283fb672759378e44b8a3d0f04d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#a8d4c5283fb672759378e44b8a3d0f04d">monitor</a> ()</td></tr>
|
|
<tr class="memdesc:a8d4c5283fb672759378e44b8a3d0f04d"><td class="mdescLeft"> </td><td class="mdescRight">Monitor the network for newly validated ledgers. <a href="classripple_1_1ReportingETL.html#a8d4c5283fb672759378e44b8a3d0f04d">More...</a><br /></td></tr>
|
|
<tr class="separator:a8d4c5283fb672759378e44b8a3d0f04d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a608b4da3230791a58316d01c65583c3d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#a608b4da3230791a58316d01c65583c3d">monitorReadOnly</a> ()</td></tr>
|
|
<tr class="memdesc:a608b4da3230791a58316d01c65583c3d"><td class="mdescLeft"> </td><td class="mdescRight">Monitor the database for newly written ledgers. <a href="classripple_1_1ReportingETL.html#a608b4da3230791a58316d01c65583c3d">More...</a><br /></td></tr>
|
|
<tr class="separator:a608b4da3230791a58316d01c65583c3d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af2f90043d532a1ce40192cddf1714134"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional</a>< org::xrpl::rpc::v1::GetLedgerResponse > </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#af2f90043d532a1ce40192cddf1714134">fetchLedgerData</a> (uint32_t sequence)</td></tr>
|
|
<tr class="memdesc:af2f90043d532a1ce40192cddf1714134"><td class="mdescLeft"> </td><td class="mdescRight">Extract data for a particular ledger from an ETL source. <a href="classripple_1_1ReportingETL.html#af2f90043d532a1ce40192cddf1714134">More...</a><br /></td></tr>
|
|
<tr class="separator:af2f90043d532a1ce40192cddf1714134"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3633d41f7c40d383530f36a8d326d4b7"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional</a>< org::xrpl::rpc::v1::GetLedgerResponse > </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#a3633d41f7c40d383530f36a8d326d4b7">fetchLedgerDataAndDiff</a> (uint32_t sequence)</td></tr>
|
|
<tr class="memdesc:a3633d41f7c40d383530f36a8d326d4b7"><td class="mdescLeft"> </td><td class="mdescRight">Extract data for a particular ledger from an ETL source. <a href="classripple_1_1ReportingETL.html#a3633d41f7c40d383530f36a8d326d4b7">More...</a><br /></td></tr>
|
|
<tr class="separator:a3633d41f7c40d383530f36a8d326d4b7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a956bf91e816d4c7942c8933aabca3111"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< <a class="el" href="namespaceripple.html#a6ccd779019affe95ed50802a06d731d8">AccountTransactionsData</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#a956bf91e816d4c7942c8933aabca3111">insertTransactions</a> (<a class="elRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="classripple_1_1Ledger.html">Ledger</a> > &ledger, org::xrpl::rpc::v1::GetLedgerResponse &data)</td></tr>
|
|
<tr class="memdesc:a956bf91e816d4c7942c8933aabca3111"><td class="mdescLeft"> </td><td class="mdescRight">Insert all of the extracted transactions into the ledger. <a href="classripple_1_1ReportingETL.html#a956bf91e816d4c7942c8933aabca3111">More...</a><br /></td></tr>
|
|
<tr class="separator:a956bf91e816d4c7942c8933aabca3111"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a29cdba905b9bf95b9d3b1396315e434b"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>< <a class="elRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="classripple_1_1Ledger.html">Ledger</a> >, <a class="elRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< <a class="el" href="namespaceripple.html#a6ccd779019affe95ed50802a06d731d8">AccountTransactionsData</a> > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#a29cdba905b9bf95b9d3b1396315e434b">buildNextLedger</a> (<a class="elRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="classripple_1_1Ledger.html">Ledger</a> > &parent, org::xrpl::rpc::v1::GetLedgerResponse &rawData)</td></tr>
|
|
<tr class="memdesc:a29cdba905b9bf95b9d3b1396315e434b"><td class="mdescLeft"> </td><td class="mdescRight">Build the next ledger using the previous ledger and the extracted data. <a href="classripple_1_1ReportingETL.html#a29cdba905b9bf95b9d3b1396315e434b">More...</a><br /></td></tr>
|
|
<tr class="separator:a29cdba905b9bf95b9d3b1396315e434b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9ec64d56f16ec446b786b27f2491c361"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#a9ec64d56f16ec446b786b27f2491c361">flushLedger</a> (<a class="elRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="classripple_1_1Ledger.html">Ledger</a> > &ledger)</td></tr>
|
|
<tr class="memdesc:a9ec64d56f16ec446b786b27f2491c361"><td class="mdescLeft"> </td><td class="mdescRight">Write all new data to the key-value store. <a href="classripple_1_1ReportingETL.html#a9ec64d56f16ec446b786b27f2491c361">More...</a><br /></td></tr>
|
|
<tr class="separator:a9ec64d56f16ec446b786b27f2491c361"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a54f8263cfec62cbf43621a2d08ffc98c"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#a54f8263cfec62cbf43621a2d08ffc98c">publishLedger</a> (uint32_t ledgerSequence, uint32_t maxAttempts=10)</td></tr>
|
|
<tr class="memdesc:a54f8263cfec62cbf43621a2d08ffc98c"><td class="mdescLeft"> </td><td class="mdescRight">Attempt to read the specified ledger from the database, and then publish that ledger to the ledgers stream. <a href="classripple_1_1ReportingETL.html#a54f8263cfec62cbf43621a2d08ffc98c">More...</a><br /></td></tr>
|
|
<tr class="separator:a54f8263cfec62cbf43621a2d08ffc98c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7cad13e4d52ac1b65cfa4c708c18cddb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#a7cad13e4d52ac1b65cfa4c708c18cddb">publishLedger</a> (<a class="elRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="classripple_1_1Ledger.html">Ledger</a> > &ledger)</td></tr>
|
|
<tr class="memdesc:a7cad13e4d52ac1b65cfa4c708c18cddb"><td class="mdescLeft"> </td><td class="mdescRight">Publish the passed in ledger. <a href="classripple_1_1ReportingETL.html#a7cad13e4d52ac1b65cfa4c708c18cddb">More...</a><br /></td></tr>
|
|
<tr class="separator:a7cad13e4d52ac1b65cfa4c708c18cddb"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8d152a62b05ed142c39af7e366e6a47c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#a8d152a62b05ed142c39af7e366e6a47c">consumeLedgerData</a> (<a class="elRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="classripple_1_1Ledger.html">Ledger</a> > &ledger, <a class="el" href="classripple_1_1ThreadSafeQueue.html">ThreadSafeQueue</a>< <a class="elRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="namespaceripple.html#abbba3966df1925ac76f6d04c0aa1abe3">SLE</a> >> &writeQueue)</td></tr>
|
|
<tr class="memdesc:a8d152a62b05ed142c39af7e366e6a47c"><td class="mdescLeft"> </td><td class="mdescRight">Consume data from a queue and insert that data into the ledger This function will continue to pull from the queue until the queue returns nullptr. <a href="classripple_1_1ReportingETL.html#a8d152a62b05ed142c39af7e366e6a47c">More...</a><br /></td></tr>
|
|
<tr class="separator:a8d152a62b05ed142c39af7e366e6a47c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a36cc3ec60e19cd21b88c12708726e693"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#a36cc3ec60e19cd21b88c12708726e693">doWork</a> ()</td></tr>
|
|
<tr class="separator:a36cc3ec60e19cd21b88c12708726e693"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
|
|
Private Attributes</h2></td></tr>
|
|
<tr class="memitem:a025eaafe836579aff932a4102c167843"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1Application.html">Application</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#a025eaafe836579aff932a4102c167843">app_</a></td></tr>
|
|
<tr class="separator:a025eaafe836579aff932a4102c167843"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a895933d223f738bde43b236e10d5263d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbeast_1_1Journal.html">beast::Journal</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#a895933d223f738bde43b236e10d5263d">journal_</a></td></tr>
|
|
<tr class="separator:a895933d223f738bde43b236e10d5263d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0ccd0096aeb98f89bcfcd3f9a6720558"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/thread/thread.html">std::thread</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#a0ccd0096aeb98f89bcfcd3f9a6720558">worker_</a></td></tr>
|
|
<tr class="separator:a0ccd0096aeb98f89bcfcd3f9a6720558"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9d1499c23252defaf45e6a5bc3c041d8"><td class="memItemLeft" align="right" valign="top">boost::asio::io_context::strand </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#a9d1499c23252defaf45e6a5bc3c041d8">publishStrand_</a></td></tr>
|
|
<tr class="memdesc:a9d1499c23252defaf45e6a5bc3c041d8"><td class="mdescLeft"> </td><td class="mdescRight">Strand to ensure that ledgers are published in order. <a href="classripple_1_1ReportingETL.html#a9d1499c23252defaf45e6a5bc3c041d8">More...</a><br /></td></tr>
|
|
<tr class="separator:a9d1499c23252defaf45e6a5bc3c041d8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a11e3503cdbaecb0a137011f0baabacbf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1ETLLoadBalancer.html">ETLLoadBalancer</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#a11e3503cdbaecb0a137011f0baabacbf">loadBalancer_</a></td></tr>
|
|
<tr class="memdesc:a11e3503cdbaecb0a137011f0baabacbf"><td class="mdescLeft"> </td><td class="mdescRight">Mechanism for communicating with ETL sources. <a href="classripple_1_1ReportingETL.html#a11e3503cdbaecb0a137011f0baabacbf">More...</a><br /></td></tr>
|
|
<tr class="separator:a11e3503cdbaecb0a137011f0baabacbf"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a899fe8195a769872305181fe1085ae4c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1NetworkValidatedLedgers.html">NetworkValidatedLedgers</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#a899fe8195a769872305181fe1085ae4c">networkValidatedLedgers_</a></td></tr>
|
|
<tr class="memdesc:a899fe8195a769872305181fe1085ae4c"><td class="mdescLeft"> </td><td class="mdescRight">Mechanism for detecting when the network has validated a new ledger. <a href="classripple_1_1ReportingETL.html#a899fe8195a769872305181fe1085ae4c">More...</a><br /></td></tr>
|
|
<tr class="separator:a899fe8195a769872305181fe1085ae4c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5ddc490e776b73888b0d7c2670efa727"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/atomic/atomic.html">std::atomic_bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#a5ddc490e776b73888b0d7c2670efa727">stopping_</a> = false</td></tr>
|
|
<tr class="memdesc:a5ddc490e776b73888b0d7c2670efa727"><td class="mdescLeft"> </td><td class="mdescRight">Whether the software is stopping. <a href="classripple_1_1ReportingETL.html#a5ddc490e776b73888b0d7c2670efa727">More...</a><br /></td></tr>
|
|
<tr class="separator:a5ddc490e776b73888b0d7c2670efa727"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ade4fa846f12c209192fa2e87e94bb7d2"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#ade4fa846f12c209192fa2e87e94bb7d2">flushInterval_</a> = 0</td></tr>
|
|
<tr class="memdesc:ade4fa846f12c209192fa2e87e94bb7d2"><td class="mdescLeft"> </td><td class="mdescRight">Used to determine when to write to the database during the initial ledger download. <a href="classripple_1_1ReportingETL.html#ade4fa846f12c209192fa2e87e94bb7d2">More...</a><br /></td></tr>
|
|
<tr class="separator:ade4fa846f12c209192fa2e87e94bb7d2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aecb81f86df5bbad3cd94d5f038f39ca4"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#aecb81f86df5bbad3cd94d5f038f39ca4">numMarkers_</a> = 2</td></tr>
|
|
<tr class="memdesc:aecb81f86df5bbad3cd94d5f038f39ca4"><td class="mdescLeft"> </td><td class="mdescRight">This variable controls the number of GetLedgerData calls that will be executed in parallel during the initial ledger download. <a href="classripple_1_1ReportingETL.html#aecb81f86df5bbad3cd94d5f038f39ca4">More...</a><br /></td></tr>
|
|
<tr class="separator:aecb81f86df5bbad3cd94d5f038f39ca4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac905a48c78a1687c148e9c927f5b7358"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#ac905a48c78a1687c148e9c927f5b7358">readOnly_</a> = false</td></tr>
|
|
<tr class="memdesc:ac905a48c78a1687c148e9c927f5b7358"><td class="mdescLeft"> </td><td class="mdescRight">Whether the process is in strict read-only mode. <a href="classripple_1_1ReportingETL.html#ac905a48c78a1687c148e9c927f5b7358">More...</a><br /></td></tr>
|
|
<tr class="separator:ac905a48c78a1687c148e9c927f5b7358"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad6affa3fb0dd9d1c7366d18fa7655f12"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/atomic/atomic.html">std::atomic_bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#ad6affa3fb0dd9d1c7366d18fa7655f12">writing_</a> = false</td></tr>
|
|
<tr class="memdesc:ad6affa3fb0dd9d1c7366d18fa7655f12"><td class="mdescLeft"> </td><td class="mdescRight">Whether the process is writing to the database. Used by server_info. <a href="classripple_1_1ReportingETL.html#ad6affa3fb0dd9d1c7366d18fa7655f12">More...</a><br /></td></tr>
|
|
<tr class="separator:ad6affa3fb0dd9d1c7366d18fa7655f12"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a046a79acf905dcc11d0618d2afab7df5"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional</a>< uint32_t > </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#a046a79acf905dcc11d0618d2afab7df5">startSequence_</a></td></tr>
|
|
<tr class="memdesc:a046a79acf905dcc11d0618d2afab7df5"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classripple_1_1Ledger.html" title="Holds a ledger.">Ledger</a> sequence to start ETL from. <a href="classripple_1_1ReportingETL.html#a046a79acf905dcc11d0618d2afab7df5">More...</a><br /></td></tr>
|
|
<tr class="separator:a046a79acf905dcc11d0618d2afab7df5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a510316a584720d4b8eaf9c08574ecbb4"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">std::chrono::time_point</a>< <a class="elRef" href="http://en.cppreference.com/w/cpp/chrono/system_clock.html">std::chrono::system_clock</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#a510316a584720d4b8eaf9c08574ecbb4">lastPublish_</a></td></tr>
|
|
<tr class="memdesc:a510316a584720d4b8eaf9c08574ecbb4"><td class="mdescLeft"> </td><td class="mdescRight">The time that the most recently published ledger was published. <a href="classripple_1_1ReportingETL.html#a510316a584720d4b8eaf9c08574ecbb4">More...</a><br /></td></tr>
|
|
<tr class="separator:a510316a584720d4b8eaf9c08574ecbb4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a11d3916c8a626636fe52caec34048f5e"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/thread/mutex.html">std::mutex</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ReportingETL.html#a11d3916c8a626636fe52caec34048f5e">publishTimeMtx_</a></td></tr>
|
|
<tr class="separator:a11d3916c8a626636fe52caec34048f5e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p>This class is responsible for continuously extracting data from a p2p node, and writing that data to the databases. </p>
|
|
<p>Usually, multiple different processes share access to the same network accessible databases, in which case only one such process is performing ETL and writing to the database. The other processes simply monitor the database for new ledgers, and publish those ledgers to the various subscription streams. If a monitoring process determines that the ETL writer has failed (no new ledgers written for some time), the process will attempt to become the ETL writer. If there are multiple monitoring processes that try to become the ETL writer at the same time, one will win out, and the others will fall back to monitoring/publishing. In this sense, this class dynamically transitions from monitoring to writing and from writing to monitoring, based on the activity of other processes running on different machines. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8h_source.html#l00070">70</a> of file <a class="el" href="ReportingETL_8h_source.html">ReportingETL.h</a>.</p>
|
|
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
<a id="aaf4d1662b131bed6d6ef635ad4b63e96"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aaf4d1662b131bed6d6ef635ad4b63e96">◆ </a></span>ReportingETL()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ripple::ReportingETL::ReportingETL </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classripple_1_1Application.html">Application</a> & </td>
|
|
<td class="paramname"><em>app</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">explicit</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8cpp_source.html#l00836">836</a> of file <a class="el" href="ReportingETL_8cpp_source.html">ReportingETL.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab5f33ccddbf2cb2cc9ab635ab70a7bd5"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab5f33ccddbf2cb2cc9ab635ab70a7bd5">◆ </a></span>~ReportingETL()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ripple::ReportingETL::~ReportingETL </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8h_source.html#l00271">271</a> of file <a class="el" href="ReportingETL_8h_source.html">ReportingETL.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
<a id="a15fea132fff12a88c71985dbe7837474"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a15fea132fff12a88c71985dbe7837474">◆ </a></span>getLastPublish()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">std::chrono::time_point</a><<a class="elRef" href="http://en.cppreference.com/w/cpp/chrono/system_clock.html">std::chrono::system_clock</a>> ripple::ReportingETL::getLastPublish </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8h_source.html#l00148">148</a> of file <a class="el" href="ReportingETL_8h_source.html">ReportingETL.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a482603f4f68241e0421df9bd4fa64383"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a482603f4f68241e0421df9bd4fa64383">◆ </a></span>setLastPublish()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ripple::ReportingETL::setLastPublish </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8h_source.html#l00155">155</a> of file <a class="el" href="ReportingETL_8h_source.html">ReportingETL.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a99f99fa676db643dc5144e8e445a1c50"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a99f99fa676db643dc5144e8e445a1c50">◆ </a></span>loadInitialLedger()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="classripple_1_1Ledger.html">Ledger</a> > ripple::ReportingETL::loadInitialLedger </td>
|
|
<td>(</td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>sequence</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Download a ledger with specified sequence in full, via GetLedgerData, and write the data to the databases. </p>
|
|
<p>This takes several minutes or longer. </p><dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">sequence</td><td>the sequence of the ledger to download </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>The ledger downloaded, with a full transaction and account state map </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8cpp_source.html#l00107">107</a> of file <a class="el" href="ReportingETL_8cpp_source.html">ReportingETL.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a2ca1423e114e2ffe04197c9f0fa48e57"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2ca1423e114e2ffe04197c9f0fa48e57">◆ </a></span>runETLPipeline()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional</a>< uint32_t > ripple::ReportingETL::runETLPipeline </td>
|
|
<td>(</td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>startSequence</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Run ETL. </p>
|
|
<p>Extracts ledgers and writes them to the database, until a write conflict occurs (or the server shuts down). </p><dl class="section note"><dt>Note</dt><dd>database must already be populated when this function is called </dd></dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">startSequence</td><td>the first ledger to extract </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>the last ledger written to the database, if any </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8cpp_source.html#l00467">467</a> of file <a class="el" href="ReportingETL_8cpp_source.html">ReportingETL.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a8d4c5283fb672759378e44b8a3d0f04d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8d4c5283fb672759378e44b8a3d0f04d">◆ </a></span>monitor()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ripple::ReportingETL::monitor </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Monitor the network for newly validated ledgers. </p>
|
|
<p>Also monitor the database to see if any process is writing those ledgers. This function is called when the application starts, and will only return when the application is shutting down. If the software detects the database is empty, this function will call <a class="el" href="classripple_1_1ReportingETL.html#a99f99fa676db643dc5144e8e445a1c50" title="Download a ledger with specified sequence in full, via GetLedgerData, and write the data to the datab...">loadInitialLedger()</a>. If the software detects ledgers are not being written, this function calls <a class="el" href="classripple_1_1ReportingETL.html#a2ca1423e114e2ffe04197c9f0fa48e57" title="Run ETL.">runETLPipeline()</a>. Otherwise, this function publishes ledgers as they are written to the database. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8cpp_source.html#l00687">687</a> of file <a class="el" href="ReportingETL_8cpp_source.html">ReportingETL.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a608b4da3230791a58316d01c65583c3d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a608b4da3230791a58316d01c65583c3d">◆ </a></span>monitorReadOnly()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ripple::ReportingETL::monitorReadOnly </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Monitor the database for newly written ledgers. </p>
|
|
<p>Similar to the <a class="el" href="classripple_1_1ReportingETL.html#a8d4c5283fb672759378e44b8a3d0f04d" title="Monitor the network for newly validated ledgers.">monitor()</a>, except this function will never call <a class="el" href="classripple_1_1ReportingETL.html#a2ca1423e114e2ffe04197c9f0fa48e57" title="Run ETL.">runETLPipeline()</a> or <a class="el" href="classripple_1_1ReportingETL.html#a99f99fa676db643dc5144e8e445a1c50" title="Download a ledger with specified sequence in full, via GetLedgerData, and write the data to the datab...">loadInitialLedger()</a>. This function only publishes ledgers as they are written to the database. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8cpp_source.html#l00807">807</a> of file <a class="el" href="ReportingETL_8cpp_source.html">ReportingETL.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="af2f90043d532a1ce40192cddf1714134"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af2f90043d532a1ce40192cddf1714134">◆ </a></span>fetchLedgerData()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional</a>< org::xrpl::rpc::v1::GetLedgerResponse > ripple::ReportingETL::fetchLedgerData </td>
|
|
<td>(</td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>sequence</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Extract data for a particular ledger from an ETL source. </p>
|
|
<p>This function continously tries to extract the specified ledger (using all available ETL sources) until the extraction succeeds, or the server shuts down. </p><dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">sequence</td><td>sequence of the ledger to extract </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>ledger header and transaction+metadata blobs. Empty optional if the server is shutting down </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8cpp_source.html#l00353">353</a> of file <a class="el" href="ReportingETL_8cpp_source.html">ReportingETL.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3633d41f7c40d383530f36a8d326d4b7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3633d41f7c40d383530f36a8d326d4b7">◆ </a></span>fetchLedgerDataAndDiff()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional</a>< org::xrpl::rpc::v1::GetLedgerResponse > ripple::ReportingETL::fetchLedgerDataAndDiff </td>
|
|
<td>(</td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>sequence</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Extract data for a particular ledger from an ETL source. </p>
|
|
<p>This function continously tries to extract the specified ledger (using all available ETL sources) until the extraction succeeds, or the server shuts down. </p><dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">sequence</td><td>sequence of the ledger to extract </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>ledger header, transaction+metadata blobs, and all ledger objects created, modified or deleted between this ledger and the parent. Empty optional if the server is shutting down </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8cpp_source.html#l00367">367</a> of file <a class="el" href="ReportingETL_8cpp_source.html">ReportingETL.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a956bf91e816d4c7942c8933aabca3111"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a956bf91e816d4c7942c8933aabca3111">◆ </a></span>insertTransactions()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< <a class="el" href="namespaceripple.html#a6ccd779019affe95ed50802a06d731d8">AccountTransactionsData</a> > ripple::ReportingETL::insertTransactions </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="classripple_1_1Ledger.html">Ledger</a> > & </td>
|
|
<td class="paramname"><em>ledger</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">org::xrpl::rpc::v1::GetLedgerResponse & </td>
|
|
<td class="paramname"><em>data</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Insert all of the extracted transactions into the ledger. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">ledger</td><td>ledger to insert transactions into </td></tr>
|
|
<tr><td class="paramname">data</td><td>data extracted from an ETL source </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>struct that contains the neccessary info to write to the transctions and account_transactions tables in Postgres (mostly transaction hashes, corresponding nodestore hashes and affected accounts) </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8cpp_source.html#l00076">76</a> of file <a class="el" href="ReportingETL_8cpp_source.html">ReportingETL.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a29cdba905b9bf95b9d3b1396315e434b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a29cdba905b9bf95b9d3b1396315e434b">◆ </a></span>buildNextLedger()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>< <a class="elRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="classripple_1_1Ledger.html">Ledger</a> >, <a class="elRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< <a class="el" href="namespaceripple.html#a6ccd779019affe95ed50802a06d731d8">AccountTransactionsData</a> > > ripple::ReportingETL::buildNextLedger </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="classripple_1_1Ledger.html">Ledger</a> > & </td>
|
|
<td class="paramname"><em>parent</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">org::xrpl::rpc::v1::GetLedgerResponse & </td>
|
|
<td class="paramname"><em>rawData</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Build the next ledger using the previous ledger and the extracted data. </p>
|
|
<p>This function calls <a class="el" href="classripple_1_1ReportingETL.html#a956bf91e816d4c7942c8933aabca3111" title="Insert all of the extracted transactions into the ledger.">insertTransactions()</a> </p><dl class="section note"><dt>Note</dt><dd>rawData should be data that corresponds to the ledger immediately following parent </dd></dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">parent</td><td>the previous ledger </td></tr>
|
|
<tr><td class="paramname">rawData</td><td>data extracted from an ETL source </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>the newly built ledger and data to write to Postgres </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8cpp_source.html#l00381">381</a> of file <a class="el" href="ReportingETL_8cpp_source.html">ReportingETL.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a9ec64d56f16ec446b786b27f2491c361"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9ec64d56f16ec446b786b27f2491c361">◆ </a></span>flushLedger()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ripple::ReportingETL::flushLedger </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="classripple_1_1Ledger.html">Ledger</a> > & </td>
|
|
<td class="paramname"><em>ledger</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Write all new data to the key-value store. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">ledger</td><td>ledger with new data to write </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8cpp_source.html#l00182">182</a> of file <a class="el" href="ReportingETL_8cpp_source.html">ReportingETL.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a54f8263cfec62cbf43621a2d08ffc98c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a54f8263cfec62cbf43621a2d08ffc98c">◆ </a></span>publishLedger() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool ripple::ReportingETL::publishLedger </td>
|
|
<td>(</td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>ledgerSequence</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>maxAttempts</em> = <code>10</code> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Attempt to read the specified ledger from the database, and then publish that ledger to the ledgers stream. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">ledgerSequence</td><td>the sequence of the ledger to publish </td></tr>
|
|
<tr><td class="paramname">maxAttempts</td><td>the number of times to attempt to read the ledger from the database. 1 attempt per second </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>whether the ledger was found in the database and published </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8cpp_source.html#l00286">286</a> of file <a class="el" href="ReportingETL_8cpp_source.html">ReportingETL.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7cad13e4d52ac1b65cfa4c708c18cddb"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7cad13e4d52ac1b65cfa4c708c18cddb">◆ </a></span>publishLedger() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ripple::ReportingETL::publishLedger </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="classripple_1_1Ledger.html">Ledger</a> > & </td>
|
|
<td class="paramname"><em>ledger</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Publish the passed in ledger. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">ledger</td><td>the ledger to publish </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8cpp_source.html#l00278">278</a> of file <a class="el" href="ReportingETL_8cpp_source.html">ReportingETL.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a8d152a62b05ed142c39af7e366e6a47c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8d152a62b05ed142c39af7e366e6a47c">◆ </a></span>consumeLedgerData()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ripple::ReportingETL::consumeLedgerData </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="classripple_1_1Ledger.html">Ledger</a> > & </td>
|
|
<td class="paramname"><em>ledger</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="classripple_1_1ThreadSafeQueue.html">ThreadSafeQueue</a>< <a class="elRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="namespaceripple.html#abbba3966df1925ac76f6d04c0aa1abe3">SLE</a> >> & </td>
|
|
<td class="paramname"><em>writeQueue</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Consume data from a queue and insert that data into the ledger This function will continue to pull from the queue until the queue returns nullptr. </p>
|
|
<p>This is used during the initial ledger download </p><dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">ledger</td><td>the ledger to insert data into </td></tr>
|
|
<tr><td class="paramname">writeQueue</td><td>the queue with extracted data </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8cpp_source.html#l00054">54</a> of file <a class="el" href="ReportingETL_8cpp_source.html">ReportingETL.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7cf2b8002b6786b4464b2d6a0afff7d4"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7cf2b8002b6786b4464b2d6a0afff7d4">◆ </a></span>getNetworkValidatedLedgers()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classripple_1_1NetworkValidatedLedgers.html">NetworkValidatedLedgers</a>& ripple::ReportingETL::getNetworkValidatedLedgers </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8h_source.html#l00276">276</a> of file <a class="el" href="ReportingETL_8h_source.html">ReportingETL.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa9765cfe9a061b821e3d47a44c56a6e8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa9765cfe9a061b821e3d47a44c56a6e8">◆ </a></span>isStopping()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool ripple::ReportingETL::isStopping </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8h_source.html#l00282">282</a> of file <a class="el" href="ReportingETL_8h_source.html">ReportingETL.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a15171145745ec8d1a19f51a373bc8d2a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a15171145745ec8d1a19f51a373bc8d2a">◆ </a></span>getNumMarkers()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint32_t ripple::ReportingETL::getNumMarkers </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Get the number of markers to use during the initial ledger download. </p>
|
|
<p>This is equivelent to the degree of parallelism during the initial ledger download </p><dl class="section return"><dt>Returns</dt><dd>the number of markers </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8h_source.html#l00292">292</a> of file <a class="el" href="ReportingETL_8h_source.html">ReportingETL.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa8bff32452cf4a675c758a843e7ba16c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa8bff32452cf4a675c758a843e7ba16c">◆ </a></span>getApplication()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classripple_1_1Application.html">Application</a>& ripple::ReportingETL::getApplication </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8h_source.html#l00298">298</a> of file <a class="el" href="ReportingETL_8h_source.html">ReportingETL.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac8a12b5c2e7dd663977c6a3e35b82f76"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac8a12b5c2e7dd663977c6a3e35b82f76">◆ </a></span>getJournal()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classbeast_1_1Journal.html">beast::Journal</a>& ripple::ReportingETL::getJournal </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8h_source.html#l00304">304</a> of file <a class="el" href="ReportingETL_8h_source.html">ReportingETL.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad1728e3c8cb5a9e4f00bf7fbfb423bad"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad1728e3c8cb5a9e4f00bf7fbfb423bad">◆ </a></span>getInfo()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classJson_1_1Value.html">Json::Value</a> ripple::ReportingETL::getInfo </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8h_source.html#l00310">310</a> of file <a class="el" href="ReportingETL_8h_source.html">ReportingETL.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa0722787e2f8a69c88654c3934bf3156"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa0722787e2f8a69c88654c3934bf3156">◆ </a></span>start()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ripple::ReportingETL::start </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>start all of the necessary components and begin ETL </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8h_source.html#l00326">326</a> of file <a class="el" href="ReportingETL_8h_source.html">ReportingETL.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab97081e9f50a7cbb016ad341f7a23bd1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab97081e9f50a7cbb016ad341f7a23bd1">◆ </a></span>stop()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ripple::ReportingETL::stop </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8h_source.html#l00340">340</a> of file <a class="el" href="ReportingETL_8h_source.html">ReportingETL.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a9c84a6a08340a7eb1f87878eafc9e738"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9c84a6a08340a7eb1f87878eafc9e738">◆ </a></span>getETLLoadBalancer()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classripple_1_1ETLLoadBalancer.html">ETLLoadBalancer</a>& ripple::ReportingETL::getETLLoadBalancer </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8h_source.html#l00356">356</a> of file <a class="el" href="ReportingETL_8h_source.html">ReportingETL.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a36cc3ec60e19cd21b88c12708726e693"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a36cc3ec60e19cd21b88c12708726e693">◆ </a></span>doWork()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ripple::ReportingETL::doWork </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8cpp_source.html#l00825">825</a> of file <a class="el" href="ReportingETL_8cpp_source.html">ReportingETL.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Data Documentation</h2>
|
|
<a id="a025eaafe836579aff932a4102c167843"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a025eaafe836579aff932a4102c167843">◆ </a></span>app_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classripple_1_1Application.html">Application</a>& ripple::ReportingETL::app_</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8h_source.html#l00073">73</a> of file <a class="el" href="ReportingETL_8h_source.html">ReportingETL.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a895933d223f738bde43b236e10d5263d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a895933d223f738bde43b236e10d5263d">◆ </a></span>journal_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classbeast_1_1Journal.html">beast::Journal</a> ripple::ReportingETL::journal_</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8h_source.html#l00075">75</a> of file <a class="el" href="ReportingETL_8h_source.html">ReportingETL.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a0ccd0096aeb98f89bcfcd3f9a6720558"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a0ccd0096aeb98f89bcfcd3f9a6720558">◆ </a></span>worker_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/thread/thread.html">std::thread</a> ripple::ReportingETL::worker_</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8h_source.html#l00077">77</a> of file <a class="el" href="ReportingETL_8h_source.html">ReportingETL.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a9d1499c23252defaf45e6a5bc3c041d8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9d1499c23252defaf45e6a5bc3c041d8">◆ </a></span>publishStrand_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">boost::asio::io_context::strand ripple::ReportingETL::publishStrand_</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Strand to ensure that ledgers are published in order. </p>
|
|
<p>If ETL is started far behind the network, ledgers will be written and published very rapidly. Monitoring processes will publish ledgers as they are written. However, to publish a ledger, the monitoring process needs to read all of the transactions for that ledger from the database. Reading the transactions from the database requires network calls, which can be slow. It is imperative however that the monitoring processes keep up with the writer, else the monitoring processes will not be able to detect if the writer failed. Therefore, publishing each ledger (which includes reading all of the transactions from the database) is done from the application wide asio io_service, and a strand is used to ensure ledgers are published in order </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8h_source.html#l00091">91</a> of file <a class="el" href="ReportingETL_8h_source.html">ReportingETL.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a11e3503cdbaecb0a137011f0baabacbf"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a11e3503cdbaecb0a137011f0baabacbf">◆ </a></span>loadBalancer_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classripple_1_1ETLLoadBalancer.html">ETLLoadBalancer</a> ripple::ReportingETL::loadBalancer_</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Mechanism for communicating with ETL sources. </p>
|
|
<p><a class="el" href="classripple_1_1ETLLoadBalancer.html" title="This class is used to manage connections to transaction processing processes This class spawns a list...">ETLLoadBalancer</a> wraps an arbitrary number of ETL sources and load balances ETL requests across those sources. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8h_source.html#l00096">96</a> of file <a class="el" href="ReportingETL_8h_source.html">ReportingETL.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a899fe8195a769872305181fe1085ae4c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a899fe8195a769872305181fe1085ae4c">◆ </a></span>networkValidatedLedgers_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classripple_1_1NetworkValidatedLedgers.html">NetworkValidatedLedgers</a> ripple::ReportingETL::networkValidatedLedgers_</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Mechanism for detecting when the network has validated a new ledger. </p>
|
|
<p>This class provides a way to wait for a specific ledger to be validated </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8h_source.html#l00100">100</a> of file <a class="el" href="ReportingETL_8h_source.html">ReportingETL.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5ddc490e776b73888b0d7c2670efa727"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5ddc490e776b73888b0d7c2670efa727">◆ </a></span>stopping_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/atomic/atomic.html">std::atomic_bool</a> ripple::ReportingETL::stopping_ = false</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Whether the software is stopping. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8h_source.html#l00103">103</a> of file <a class="el" href="ReportingETL_8h_source.html">ReportingETL.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ade4fa846f12c209192fa2e87e94bb7d2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ade4fa846f12c209192fa2e87e94bb7d2">◆ </a></span>flushInterval_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">size_t ripple::ReportingETL::flushInterval_ = 0</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Used to determine when to write to the database during the initial ledger download. </p>
|
|
<p>By default, the software downloads an entire ledger and then writes to the database. If flushInterval_ is non-zero, the software will write to the database as new ledger data (<a class="el" href="classripple_1_1SHAMap.html" title="A SHAMap is both a radix tree with a fan-out of 16 and a Merkle tree.">SHAMap</a> leaf nodes) arrives. It is not neccesarily more effient to write the data as it arrives, as different <a class="el" href="classripple_1_1SHAMap.html" title="A SHAMap is both a radix tree with a fan-out of 16 and a Merkle tree.">SHAMap</a> leaf nodes share the same <a class="el" href="classripple_1_1SHAMap.html" title="A SHAMap is both a radix tree with a fan-out of 16 and a Merkle tree.">SHAMap</a> inner nodes; flushing prematurely can result in the same <a class="el" href="classripple_1_1SHAMap.html" title="A SHAMap is both a radix tree with a fan-out of 16 and a Merkle tree.">SHAMap</a> inner node being written to the database more than once. It is recommended to use the default value of 0 for this variable; however, different values can be experimented with if better performance is desired. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8h_source.html#l00115">115</a> of file <a class="el" href="ReportingETL_8h_source.html">ReportingETL.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aecb81f86df5bbad3cd94d5f038f39ca4"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aecb81f86df5bbad3cd94d5f038f39ca4">◆ </a></span>numMarkers_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">size_t ripple::ReportingETL::numMarkers_ = 2</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>This variable controls the number of GetLedgerData calls that will be executed in parallel during the initial ledger download. </p>
|
|
<p>GetLedgerData allows clients to page through a ledger over many <a class="el" href="namespaceripple_1_1RPC.html">RPC</a> calls. GetLedgerData returns a marker that is used as an offset in a subsequent call. If numMarkers_ is greater than 1, there will be multiple chains of GetLedgerData calls iterating over different parts of the same ledger in parallel. This can dramatically speed up the time to download the initial ledger. However, a higher value for this member variable puts more load on the ETL source. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8h_source.html#l00126">126</a> of file <a class="el" href="ReportingETL_8h_source.html">ReportingETL.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac905a48c78a1687c148e9c927f5b7358"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac905a48c78a1687c148e9c927f5b7358">◆ </a></span>readOnly_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool ripple::ReportingETL::readOnly_ = false</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Whether the process is in strict read-only mode. </p>
|
|
<p>In strict read-only mode, the process will never attempt to become the ETL writer, and will only publish ledgers as they are written to the database. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8h_source.html#l00131">131</a> of file <a class="el" href="ReportingETL_8h_source.html">ReportingETL.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad6affa3fb0dd9d1c7366d18fa7655f12"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad6affa3fb0dd9d1c7366d18fa7655f12">◆ </a></span>writing_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/atomic/atomic.html">std::atomic_bool</a> ripple::ReportingETL::writing_ = false</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Whether the process is writing to the database. Used by server_info. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8h_source.html#l00134">134</a> of file <a class="el" href="ReportingETL_8h_source.html">ReportingETL.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a046a79acf905dcc11d0618d2afab7df5"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a046a79acf905dcc11d0618d2afab7df5">◆ </a></span>startSequence_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional</a><uint32_t> ripple::ReportingETL::startSequence_</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p><a class="el" href="classripple_1_1Ledger.html" title="Holds a ledger.">Ledger</a> sequence to start ETL from. </p>
|
|
<p>If this is empty, ETL will start from the next ledger validated by the network. If this is set, and the database is already populated, an error is thrown. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8h_source.html#l00139">139</a> of file <a class="el" href="ReportingETL_8h_source.html">ReportingETL.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a510316a584720d4b8eaf9c08574ecbb4"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a510316a584720d4b8eaf9c08574ecbb4">◆ </a></span>lastPublish_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">std::chrono::time_point</a><<a class="elRef" href="http://en.cppreference.com/w/cpp/chrono/system_clock.html">std::chrono::system_clock</a>> ripple::ReportingETL::lastPublish_</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>The time that the most recently published ledger was published. </p>
|
|
<p>Used by server_info </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8h_source.html#l00143">143</a> of file <a class="el" href="ReportingETL_8h_source.html">ReportingETL.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a11d3916c8a626636fe52caec34048f5e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a11d3916c8a626636fe52caec34048f5e">◆ </a></span>publishTimeMtx_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/thread/mutex.html">std::mutex</a> ripple::ReportingETL::publishTimeMtx_</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="ReportingETL_8h_source.html#l00145">145</a> of file <a class="el" href="ReportingETL_8h_source.html">ReportingETL.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
</div><!-- contents -->
|
|
<!-- 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>
|