Files
rippled/NetworkOPs_8h_source.html
2025-12-11 08:55:10 -08:00

415 lines
76 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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>rippled: NetworkOPs.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 id="projectrow">
<td id="projectalign">
<div id="projectname">rippled
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @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:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_a62226f9e3a6c7c5a3be455e2f87ae01.html">xrpld</a></li><li class="navelem"><a class="el" href="dir_c69db3203fa08a9ff994909ba6ee9783.html">app</a></li><li class="navelem"><a class="el" href="dir_2860c73e71f9ef894ba4acb1eeae5483.html">misc</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">NetworkOPs.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef XRPL_APP_MISC_NETWORKOPS_H_INCLUDED</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define XRPL_APP_MISC_NETWORKOPS_H_INCLUDED</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include &lt;xrpld/app/consensus/RCLCxPeerPos.h&gt;</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &lt;xrpld/app/ledger/Ledger.h&gt;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include &lt;xrpld/rpc/InfoSub.h&gt;</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#include &lt;xrpl/core/JobQueue.h&gt;</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#include &lt;xrpl/ledger/ReadView.h&gt;</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#include &lt;xrpl/protocol/STValidation.h&gt;</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#include &lt;xrpl/protocol/messages.h&gt;</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> </div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#include &lt;boost/asio.hpp&gt;</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#include &lt;<a class="codeRef" href="http://en.cppreference.com/w/cpp/header/memory.html">memory</a>&gt;</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacexrpl.html">xrpl</a> {</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> </div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment">// Operations that clients may wish to perform against the network</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment">// Master operational handler, server sequencer, network tracker</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="keyword">class </span>Peer;</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="keyword">class </span>LedgerMaster;</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="keyword">class </span>Transaction;</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="keyword">class </span>ValidatorKeys;</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="keyword">class </span>CanonicalTXSet;</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="comment">// This is the primary interface into the &quot;client&quot; portion of the program.</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="comment">// Code that wants to do normal operations on the network such as</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="comment">// creating and monitoring accounts, creating transactions, and so on</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="comment">// should use this interface. The RPC code will primarily be a light wrapper</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="comment">// over this code.</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="comment">//</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="comment">// Eventually, it will check the node&#39;s operating mode (synched, unsynched,</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="comment">// etectera) and defer to the correct means of processing. The current</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="comment">// code assumes this node is synched (and will continue to do so until</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="comment">// there&#39;s a functional network.</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="comment">//</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> </div>
<div class="foldopen" id="foldopen00049" data-start="{" data-end="};">
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="namespacexrpl.html#adebbd563d92733955373201c839cf664"> 49</a></span><span class="keyword">enum class</span> <a class="code hl_enumeration" href="namespacexrpl.html#adebbd563d92733955373201c839cf664">OperatingMode</a> {</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <a class="code hl_enumvalue" href="namespacexrpl.html#adebbd563d92733955373201c839cf664a99c8ce56e7ab246445d3b134724428f3">DISCONNECTED</a> = 0, </div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <a class="code hl_enumvalue" href="namespacexrpl.html#adebbd563d92733955373201c839cf664aa5afd6edd5336d91316964e493936858">CONNECTED</a> = 1, </div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <a class="code hl_enumvalue" href="namespacexrpl.html#adebbd563d92733955373201c839cf664af0be1f77b2d12fe3d6424fbf9eecc109">SYNCING</a> = 2, </div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <a class="code hl_enumvalue" href="namespacexrpl.html#adebbd563d92733955373201c839cf664a8728801b2a11ad95c8ecf855bfd484e4">TRACKING</a> = 3, </div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <a class="code hl_enumvalue" href="namespacexrpl.html#adebbd563d92733955373201c839cf664aba7de5bc6888294e5884b024a4c894f1">FULL</a> = 4 </div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span>};</div>
</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> </div>
<div class="foldopen" id="foldopen00069" data-start="{" data-end="};">
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html"> 69</a></span><span class="keyword">class </span><a class="code hl_class" href="classxrpl_1_1NetworkOPs.html">NetworkOPs</a> : <span class="keyword">public</span> <a class="code hl_class" href="classxrpl_1_1InfoSub_1_1Source.html">InfoSub::Source</a></div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span>{</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a2fe967fcad72bc845b61751f000069b9"> 72</a></span> <span class="keyword">using </span><a class="code hl_class" href="classbeast_1_1abstract__clock.html">clock_type</a> = <a class="code hl_class" href="classbeast_1_1abstract__clock.html">beast::abstract_clock&lt;std::chrono::steady_clock&gt;</a>;</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> </div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#af20b0ec49007e940fac896257d3f1e05"> 74</a></span> <span class="keyword">enum class</span> <a class="code hl_enumeration" href="classxrpl_1_1NetworkOPs.html#af20b0ec49007e940fac896257d3f1e05">FailHard</a> : <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> { <a class="code hl_enumvalue" href="classxrpl_1_1NetworkOPs.html#af20b0ec49007e940fac896257d3f1e05a7fa3b767c460b54a2be4d49030b349c7">no</a>, <a class="code hl_enumvalue" href="classxrpl_1_1NetworkOPs.html#af20b0ec49007e940fac896257d3f1e05aa6105c0a611b41b08f1209506350279e">yes</a> };</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code hl_enumeration" href="classxrpl_1_1NetworkOPs.html#af20b0ec49007e940fac896257d3f1e05">FailHard</a></div>
<div class="foldopen" id="foldopen00076" data-start="{" data-end="}">
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a9878fdaa1c85d81ff65277097a564596"> 76</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a9878fdaa1c85d81ff65277097a564596">doFailHard</a>(<span class="keywordtype">bool</span> noMeansDont)</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> {</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keywordflow">return</span> noMeansDont ? <a class="code hl_enumvalue" href="classxrpl_1_1NetworkOPs.html#af20b0ec49007e940fac896257d3f1e05aa6105c0a611b41b08f1209506350279e">FailHard::yes</a> : <a class="code hl_enumvalue" href="classxrpl_1_1NetworkOPs.html#af20b0ec49007e940fac896257d3f1e05a7fa3b767c460b54a2be4d49030b349c7">FailHard::no</a>;</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> }</div>
</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> </div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a44ee193625dd31bbc673066ebadc436a"> 82</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a44ee193625dd31bbc673066ebadc436a">~NetworkOPs</a>() <span class="keyword">override</span> = <span class="keywordflow">default</span>;</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> </div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a71b648892cc15f6d50799424770733f2"> 85</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a71b648892cc15f6d50799424770733f2">stop</a>() = 0;</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> </div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="comment">//</span></div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <span class="comment">// Network information</span></div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <span class="comment">//</span></div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> </div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keyword">virtual</span> <a class="code hl_enumeration" href="namespacexrpl.html#adebbd563d92733955373201c839cf664">OperatingMode</a></div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a871e522deb0d9318495f5b14c200da31"> 93</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a871e522deb0d9318495f5b14c200da31">getOperatingMode</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keyword">virtual</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a></div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#aa3606063680ca6c1bf2a1c02a32c7999"> 95</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#aa3606063680ca6c1bf2a1c02a32c7999">strOperatingMode</a>(<a class="code hl_enumeration" href="namespacexrpl.html#adebbd563d92733955373201c839cf664">OperatingMode</a> <span class="keyword">const</span> mode, <span class="keywordtype">bool</span> <span class="keyword">const</span> admin = <span class="keyword">false</span>)</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keyword">virtual</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a></div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a544864c13cdeb9fbf874873318a67249"> 98</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a544864c13cdeb9fbf874873318a67249">strOperatingMode</a>(<span class="keywordtype">bool</span> <span class="keyword">const</span> admin = <span class="keyword">false</span>) <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> </div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> <span class="comment">//</span></div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <span class="comment">// Transaction processing</span></div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <span class="comment">//</span></div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> </div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <span class="comment">// must complete immediately</span></div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a4918ac0e7f489af5702c2dbe117ace18"> 107</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a4918ac0e7f489af5702c2dbe117ace18">submitTransaction</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;STTx const&gt;</a> <span class="keyword">const</span>&amp;) = 0;</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> </div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#aa2253c49b97e1b404ab4f4bbe6d1b94c"> 119</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#aa2253c49b97e1b404ab4f4bbe6d1b94c">processTransaction</a>(</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;Transaction&gt;</a>&amp; transaction,</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">bool</span> bUnlimited,</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">bool</span> bLocal,</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <a class="code hl_enumeration" href="classxrpl_1_1NetworkOPs.html#af20b0ec49007e940fac896257d3f1e05">FailHard</a> failType) = 0;</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> </div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a33a4cbf4a743cd5874b1d77984b7413c"> 132</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a33a4cbf4a743cd5874b1d77984b7413c">processTransactionSet</a>(<a class="code hl_class" href="classxrpl_1_1CanonicalTXSet.html">CanonicalTXSet</a> <span class="keyword">const</span>&amp; set) = 0;</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> </div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> <span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <span class="comment">//</span></div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <span class="comment">// Owner functions</span></div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <span class="comment">//</span></div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> </div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> <span class="keyword">virtual</span> <a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a></div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a423db4e461e99341f506455f0030d69a"> 140</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a423db4e461e99341f506455f0030d69a">getOwnerInfo</a>(</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;ReadView const&gt;</a> lpLedger,</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <a class="code hl_class" href="classxrpl_1_1base__uint.html">AccountID</a> <span class="keyword">const</span>&amp; account) = 0;</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> </div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> <span class="comment">//</span></div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <span class="comment">// Book functions</span></div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <span class="comment">//</span></div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> </div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#afd19386473c64d1e2497f11880acc4c9"> 150</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#afd19386473c64d1e2497f11880acc4c9">getBookPage</a>(</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;ReadView const&gt;</a>&amp; lpLedger,</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <a class="code hl_class" href="classxrpl_1_1Book.html">Book</a> <span class="keyword">const</span>&amp; book,</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <a class="code hl_class" href="classxrpl_1_1base__uint.html">AccountID</a> <span class="keyword">const</span>&amp; uTakerID,</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="keywordtype">bool</span> <span class="keyword">const</span> bProof,</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> iLimit,</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a> <span class="keyword">const</span>&amp; jvMarker,</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> <a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a>&amp; jvResult) = 0;</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> </div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> <span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> </div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <span class="comment">// ledger proposal/close functions</span></div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#ad08de097dc76f2036ad4c42a1c402bad"> 163</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#ad08de097dc76f2036ad4c42a1c402bad">processTrustedProposal</a>(<a class="code hl_class" href="classxrpl_1_1RCLCxPeerPos.html">RCLCxPeerPos</a> peerPos) = 0;</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> </div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a538b8561db13c71621426b70d2271bbb"> 166</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a538b8561db13c71621426b70d2271bbb">recvValidation</a>(</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;STValidation&gt;</a> <span class="keyword">const</span>&amp; val,</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>&amp; source) = 0;</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> </div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#afaaa084905d8e9e095cd2b41f6b8d0e3"> 171</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#afaaa084905d8e9e095cd2b41f6b8d0e3">mapComplete</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;SHAMap&gt;</a> <span class="keyword">const</span>&amp; map, <span class="keywordtype">bool</span> fromAcquire) = 0;</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> </div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <span class="comment">// network state machine</span></div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a5a51dd3e64d803915aff2349c75e755e"> 175</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a5a51dd3e64d803915aff2349c75e755e">beginConsensus</a>(</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> <a class="code hl_class" href="classxrpl_1_1base__uint.html">uint256</a> <span class="keyword">const</span>&amp; netLCL,</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr&lt;std::stringstream&gt;</a> <span class="keyword">const</span>&amp; clog) = 0;</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a52fd67f56cb0f1d8d3a9c2d2d77850b1"> 179</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a52fd67f56cb0f1d8d3a9c2d2d77850b1">endConsensus</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr&lt;std::stringstream&gt;</a> <span class="keyword">const</span>&amp; clog) = 0;</div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#af42b412fb5a73fd479404820c966e4b7"> 181</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#af42b412fb5a73fd479404820c966e4b7">setStandAlone</a>() = 0;</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#aaf5e391fc5001b348a4422aac15b984d"> 183</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#aaf5e391fc5001b348a4422aac15b984d">setStateTimer</a>() = 0;</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> </div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a4d2491138632c4f846967fafb106cfeb"> 186</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a4d2491138632c4f846967fafb106cfeb">setNeedNetworkLedger</a>() = 0;</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#aabb60b820c51a69e1e9ba45f233a4e4c"> 188</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#aabb60b820c51a69e1e9ba45f233a4e4c">clearNeedNetworkLedger</a>() = 0;</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a8b1c2add6a39aab275d4ebf059b30c87"> 190</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a8b1c2add6a39aab275d4ebf059b30c87">isNeedNetworkLedger</a>() = 0;</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a7e19ffec0a0ad2de83bbaa0af28977b5"> 192</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a7e19ffec0a0ad2de83bbaa0af28977b5">isFull</a>() = 0;</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a08518f948361f38916987377a9620778"> 194</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a08518f948361f38916987377a9620778">setMode</a>(<a class="code hl_enumeration" href="namespacexrpl.html#adebbd563d92733955373201c839cf664">OperatingMode</a> om) = 0;</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a0c3b34e50289af2b08f041040c8091a9"> 196</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a0c3b34e50289af2b08f041040c8091a9">isBlocked</a>() = 0;</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a918e125a7c72e26393205de66deef25e"> 198</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a918e125a7c72e26393205de66deef25e">isAmendmentBlocked</a>() = 0;</div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a07c669b187d3a9070188c43e95811d75"> 200</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a07c669b187d3a9070188c43e95811d75">setAmendmentBlocked</a>() = 0;</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a55339dd22e709b87a9f0ffa812db8fc5"> 202</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a55339dd22e709b87a9f0ffa812db8fc5">isAmendmentWarned</a>() = 0;</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#ad3030f89fb919a4719538f7d5556e2d3"> 204</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#ad3030f89fb919a4719538f7d5556e2d3">setAmendmentWarned</a>() = 0;</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a42ef60ac2e56c69ef7e429d1032a6f27"> 206</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a42ef60ac2e56c69ef7e429d1032a6f27">clearAmendmentWarned</a>() = 0;</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a138f9e2d9853ddfd7c1f50dfbba74dbd"> 208</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a138f9e2d9853ddfd7c1f50dfbba74dbd">isUNLBlocked</a>() = 0;</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a7047e37d21fa8d317688e325bb340916"> 210</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a7047e37d21fa8d317688e325bb340916">setUNLBlocked</a>() = 0;</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a59036171f41ab8294ccf7a49c67b74e1"> 212</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a59036171f41ab8294ccf7a49c67b74e1">clearUNLBlocked</a>() = 0;</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a3700ef97ff35d25e444bf791841fce6c"> 214</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a3700ef97ff35d25e444bf791841fce6c">consensusViewChange</a>() = 0;</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> </div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> <span class="keyword">virtual</span> <a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a></div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a8ffbff400028b810974f96201e217e55"> 217</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a8ffbff400028b810974f96201e217e55">getConsensusInfo</a>() = 0;</div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> <span class="keyword">virtual</span> <a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a></div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#accf64d932c2b0a3a1a18d20307c0b954"> 219</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#accf64d932c2b0a3a1a18d20307c0b954">getServerInfo</a>(<span class="keywordtype">bool</span> human, <span class="keywordtype">bool</span> admin, <span class="keywordtype">bool</span> counters) = 0;</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#ac2ee8c5c9ce03f36e2cb6a72589304a5"> 221</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#ac2ee8c5c9ce03f36e2cb6a72589304a5">clearLedgerFetch</a>() = 0;</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> <span class="keyword">virtual</span> <a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a></div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a61785bbb860d60cb13776930e5a5cd20"> 223</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a61785bbb860d60cb13776930e5a5cd20">getLedgerFetchInfo</a>() = 0;</div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> </div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> <span class="keyword">virtual</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a></div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#ac7cab1abcd52b4fd172abf59806c68d2"> 232</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#ac7cab1abcd52b4fd172abf59806c68d2">acceptLedger</a>(</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional&lt;std::chrono::milliseconds&gt;</a> consensusDelay =</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> <a class="code hl_variableRef" href="http://en.cppreference.com/w/cpp/types/is_same.html">std::nullopt</a>) = 0;</div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> </div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a57ccd10985b34135a15986d1ed6d7690"> 237</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a57ccd10985b34135a15986d1ed6d7690">reportFeeChange</a>() = 0;</div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> </div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a3d2c79a644fd5583f43e66086e6471be"> 240</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a3d2c79a644fd5583f43e66086e6471be">updateLocalTx</a>(<a class="code hl_class" href="classxrpl_1_1ReadView.html">ReadView</a> <span class="keyword">const</span>&amp; newValidLedger) = 0;</div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> <span class="keyword">virtual</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a></div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a4200872891052baddfde7168e6b7b4b7"> 242</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a4200872891052baddfde7168e6b7b4b7">getLocalTxCount</a>() = 0;</div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> </div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> <span class="comment">//--------------------------------------------------------------------------</span></div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> <span class="comment">//</span></div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> <span class="comment">// Monitoring: publisher side</span></div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> <span class="comment">//</span></div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a7d91276f6e616a63a4f1bbf80078955c"> 249</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a7d91276f6e616a63a4f1bbf80078955c">pubLedger</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;ReadView const&gt;</a> <span class="keyword">const</span>&amp; lpAccepted) = 0;</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a53be8819760c307be4dfd9de93c47c3d"> 251</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a53be8819760c307be4dfd9de93c47c3d">pubProposedTransaction</a>(</div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;ReadView const&gt;</a> <span class="keyword">const</span>&amp; ledger,</div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;STTx const&gt;</a> <span class="keyword">const</span>&amp; transaction,</div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> <a class="code hl_class" href="classxrpl_1_1TERSubset.html">TER</a> result) = 0;</div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#a7ae0ce46b14f6fe798fb4281668b308f"> 256</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#a7ae0ce46b14f6fe798fb4281668b308f">pubValidation</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;STValidation&gt;</a> <span class="keyword">const</span>&amp; val) = 0;</div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> </div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"><a class="line" href="classxrpl_1_1NetworkOPs.html#ac20619b7b10d0468a70d237461b8682b"> 259</a></span> <a class="code hl_function" href="classxrpl_1_1NetworkOPs.html#ac20619b7b10d0468a70d237461b8682b">stateAccounting</a>(<a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a>&amp; obj) = 0;</div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span>};</div>
</div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> </div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span><span class="comment">//------------------------------------------------------------------------------</span></div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> </div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span><a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr&lt;NetworkOPs&gt;</a></div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span><a class="code hl_function" href="namespacexrpl.html#a5c8ff5a74417f483e7421de4073ed6fb">make_NetworkOPs</a>(</div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> <a class="code hl_class" href="classxrpl_1_1Application.html">Application</a>&amp; app,</div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> <a class="code hl_class" href="classbeast_1_1abstract__clock.html">NetworkOPs::clock_type</a>&amp; clock,</div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> <span class="keywordtype">bool</span> standalone,</div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> minPeerCount,</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> <span class="keywordtype">bool</span> start_valid,</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> <a class="code hl_class" href="classxrpl_1_1JobQueue.html">JobQueue</a>&amp; job_queue,</div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> <a class="code hl_class" href="classxrpl_1_1LedgerMaster.html">LedgerMaster</a>&amp; <a class="code hl_enumvalue" href="namespacexrpl.html#ac599741e6d4066bada11df4c7e8ad30aa7fa2267e9b1bf739a70bb1860ab2a99c">ledgerMaster</a>,</div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> <a class="code hl_class" href="classxrpl_1_1ValidatorKeys.html">ValidatorKeys</a> <span class="keyword">const</span>&amp; validatorKeys,</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> boost::asio::io_context&amp; io_svc,</div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> <a class="code hl_class" href="classbeast_1_1Journal.html">beast::Journal</a> journal,</div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">beast::insight::Collector::ptr</a> <span class="keyword">const</span>&amp; collector);</div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> </div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span>} <span class="comment">// namespace xrpl</span></div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> </div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span><span class="preprocessor">#endif</span></div>
<div class="ttc" id="abasic_string_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a></div></div>
<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#l00130">json_value.h:131</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#l00040">Journal.h:41</a></div></div>
<div class="ttc" id="aclassbeast_1_1abstract__clock_html"><div class="ttname"><a href="classbeast_1_1abstract__clock.html">beast::abstract_clock&lt; std::chrono::steady_clock &gt;</a></div></div>
<div class="ttc" id="aclassxrpl_1_1Application_html"><div class="ttname"><a href="classxrpl_1_1Application.html">xrpl::Application</a></div><div class="ttdef"><b>Definition</b> <a href="Application_8h_source.html#l00094">Application.h:95</a></div></div>
<div class="ttc" id="aclassxrpl_1_1Book_html"><div class="ttname"><a href="classxrpl_1_1Book.html">xrpl::Book</a></div><div class="ttdoc">Specifies an order book.</div><div class="ttdef"><b>Definition</b> <a href="Book_8h_source.html#l00016">Book.h:17</a></div></div>
<div class="ttc" id="aclassxrpl_1_1CanonicalTXSet_html"><div class="ttname"><a href="classxrpl_1_1CanonicalTXSet.html">xrpl::CanonicalTXSet</a></div><div class="ttdoc">Holds transactions which were deferred to the next pass of consensus.</div><div class="ttdef"><b>Definition</b> <a href="CanonicalTXSet_8h_source.html#l00019">CanonicalTXSet.h:20</a></div></div>
<div class="ttc" id="aclassxrpl_1_1InfoSub_1_1Source_html"><div class="ttname"><a href="classxrpl_1_1InfoSub_1_1Source.html">xrpl::InfoSub::Source</a></div><div class="ttdoc">Abstracts the source of subscription data.</div><div class="ttdef"><b>Definition</b> <a href="InfoSub_8h_source.html#l00048">InfoSub.h:49</a></div></div>
<div class="ttc" id="aclassxrpl_1_1JobQueue_html"><div class="ttname"><a href="classxrpl_1_1JobQueue.html">xrpl::JobQueue</a></div><div class="ttdoc">A pool of threads to perform work.</div><div class="ttdef"><b>Definition</b> <a href="JobQueue_8h_source.html#l00037">JobQueue.h:38</a></div></div>
<div class="ttc" id="aclassxrpl_1_1LedgerMaster_html"><div class="ttname"><a href="classxrpl_1_1LedgerMaster.html">xrpl::LedgerMaster</a></div><div class="ttdef"><b>Definition</b> <a href="LedgerMaster_8h_source.html#l00032">LedgerMaster.h:33</a></div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html">xrpl::NetworkOPs</a></div><div class="ttdoc">Provides server functionality for clients.</div><div class="ttdef"><b>Definition</b> <a href="NetworkOPs_8h_source.html#l00069">NetworkOPs.h:70</a></div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a07c669b187d3a9070188c43e95811d75"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a07c669b187d3a9070188c43e95811d75">xrpl::NetworkOPs::setAmendmentBlocked</a></div><div class="ttdeci">virtual void setAmendmentBlocked()=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a08518f948361f38916987377a9620778"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a08518f948361f38916987377a9620778">xrpl::NetworkOPs::setMode</a></div><div class="ttdeci">virtual void setMode(OperatingMode om)=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a0c3b34e50289af2b08f041040c8091a9"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a0c3b34e50289af2b08f041040c8091a9">xrpl::NetworkOPs::isBlocked</a></div><div class="ttdeci">virtual bool isBlocked()=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a138f9e2d9853ddfd7c1f50dfbba74dbd"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a138f9e2d9853ddfd7c1f50dfbba74dbd">xrpl::NetworkOPs::isUNLBlocked</a></div><div class="ttdeci">virtual bool isUNLBlocked()=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a33a4cbf4a743cd5874b1d77984b7413c"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a33a4cbf4a743cd5874b1d77984b7413c">xrpl::NetworkOPs::processTransactionSet</a></div><div class="ttdeci">virtual void processTransactionSet(CanonicalTXSet const &amp;set)=0</div><div class="ttdoc">Process a set of transactions synchronously, and ensuring that they are processed in one batch.</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a3700ef97ff35d25e444bf791841fce6c"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a3700ef97ff35d25e444bf791841fce6c">xrpl::NetworkOPs::consensusViewChange</a></div><div class="ttdeci">virtual void consensusViewChange()=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a3d2c79a644fd5583f43e66086e6471be"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a3d2c79a644fd5583f43e66086e6471be">xrpl::NetworkOPs::updateLocalTx</a></div><div class="ttdeci">virtual void updateLocalTx(ReadView const &amp;newValidLedger)=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a4200872891052baddfde7168e6b7b4b7"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a4200872891052baddfde7168e6b7b4b7">xrpl::NetworkOPs::getLocalTxCount</a></div><div class="ttdeci">virtual std::size_t getLocalTxCount()=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a423db4e461e99341f506455f0030d69a"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a423db4e461e99341f506455f0030d69a">xrpl::NetworkOPs::getOwnerInfo</a></div><div class="ttdeci">virtual Json::Value getOwnerInfo(std::shared_ptr&lt; ReadView const &gt; lpLedger, AccountID const &amp;account)=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a42ef60ac2e56c69ef7e429d1032a6f27"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a42ef60ac2e56c69ef7e429d1032a6f27">xrpl::NetworkOPs::clearAmendmentWarned</a></div><div class="ttdeci">virtual void clearAmendmentWarned()=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a44ee193625dd31bbc673066ebadc436a"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a44ee193625dd31bbc673066ebadc436a">xrpl::NetworkOPs::~NetworkOPs</a></div><div class="ttdeci">~NetworkOPs() override=default</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a4918ac0e7f489af5702c2dbe117ace18"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a4918ac0e7f489af5702c2dbe117ace18">xrpl::NetworkOPs::submitTransaction</a></div><div class="ttdeci">virtual void submitTransaction(std::shared_ptr&lt; STTx const &gt; const &amp;)=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a4d2491138632c4f846967fafb106cfeb"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a4d2491138632c4f846967fafb106cfeb">xrpl::NetworkOPs::setNeedNetworkLedger</a></div><div class="ttdeci">virtual void setNeedNetworkLedger()=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a52fd67f56cb0f1d8d3a9c2d2d77850b1"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a52fd67f56cb0f1d8d3a9c2d2d77850b1">xrpl::NetworkOPs::endConsensus</a></div><div class="ttdeci">virtual void endConsensus(std::unique_ptr&lt; std::stringstream &gt; const &amp;clog)=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a538b8561db13c71621426b70d2271bbb"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a538b8561db13c71621426b70d2271bbb">xrpl::NetworkOPs::recvValidation</a></div><div class="ttdeci">virtual bool recvValidation(std::shared_ptr&lt; STValidation &gt; const &amp;val, std::string const &amp;source)=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a53be8819760c307be4dfd9de93c47c3d"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a53be8819760c307be4dfd9de93c47c3d">xrpl::NetworkOPs::pubProposedTransaction</a></div><div class="ttdeci">virtual void pubProposedTransaction(std::shared_ptr&lt; ReadView const &gt; const &amp;ledger, std::shared_ptr&lt; STTx const &gt; const &amp;transaction, TER result)=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a544864c13cdeb9fbf874873318a67249"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a544864c13cdeb9fbf874873318a67249">xrpl::NetworkOPs::strOperatingMode</a></div><div class="ttdeci">virtual std::string strOperatingMode(bool const admin=false) const =0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a55339dd22e709b87a9f0ffa812db8fc5"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a55339dd22e709b87a9f0ffa812db8fc5">xrpl::NetworkOPs::isAmendmentWarned</a></div><div class="ttdeci">virtual bool isAmendmentWarned()=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a57ccd10985b34135a15986d1ed6d7690"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a57ccd10985b34135a15986d1ed6d7690">xrpl::NetworkOPs::reportFeeChange</a></div><div class="ttdeci">virtual void reportFeeChange()=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a59036171f41ab8294ccf7a49c67b74e1"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a59036171f41ab8294ccf7a49c67b74e1">xrpl::NetworkOPs::clearUNLBlocked</a></div><div class="ttdeci">virtual void clearUNLBlocked()=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a5a51dd3e64d803915aff2349c75e755e"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a5a51dd3e64d803915aff2349c75e755e">xrpl::NetworkOPs::beginConsensus</a></div><div class="ttdeci">virtual bool beginConsensus(uint256 const &amp;netLCL, std::unique_ptr&lt; std::stringstream &gt; const &amp;clog)=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a61785bbb860d60cb13776930e5a5cd20"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a61785bbb860d60cb13776930e5a5cd20">xrpl::NetworkOPs::getLedgerFetchInfo</a></div><div class="ttdeci">virtual Json::Value getLedgerFetchInfo()=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a7047e37d21fa8d317688e325bb340916"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a7047e37d21fa8d317688e325bb340916">xrpl::NetworkOPs::setUNLBlocked</a></div><div class="ttdeci">virtual void setUNLBlocked()=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a71b648892cc15f6d50799424770733f2"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a71b648892cc15f6d50799424770733f2">xrpl::NetworkOPs::stop</a></div><div class="ttdeci">virtual void stop()=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a7ae0ce46b14f6fe798fb4281668b308f"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a7ae0ce46b14f6fe798fb4281668b308f">xrpl::NetworkOPs::pubValidation</a></div><div class="ttdeci">virtual void pubValidation(std::shared_ptr&lt; STValidation &gt; const &amp;val)=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a7d91276f6e616a63a4f1bbf80078955c"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a7d91276f6e616a63a4f1bbf80078955c">xrpl::NetworkOPs::pubLedger</a></div><div class="ttdeci">virtual void pubLedger(std::shared_ptr&lt; ReadView const &gt; const &amp;lpAccepted)=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a7e19ffec0a0ad2de83bbaa0af28977b5"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a7e19ffec0a0ad2de83bbaa0af28977b5">xrpl::NetworkOPs::isFull</a></div><div class="ttdeci">virtual bool isFull()=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a871e522deb0d9318495f5b14c200da31"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a871e522deb0d9318495f5b14c200da31">xrpl::NetworkOPs::getOperatingMode</a></div><div class="ttdeci">virtual OperatingMode getOperatingMode() const =0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a8b1c2add6a39aab275d4ebf059b30c87"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a8b1c2add6a39aab275d4ebf059b30c87">xrpl::NetworkOPs::isNeedNetworkLedger</a></div><div class="ttdeci">virtual bool isNeedNetworkLedger()=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a8ffbff400028b810974f96201e217e55"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a8ffbff400028b810974f96201e217e55">xrpl::NetworkOPs::getConsensusInfo</a></div><div class="ttdeci">virtual Json::Value getConsensusInfo()=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a918e125a7c72e26393205de66deef25e"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a918e125a7c72e26393205de66deef25e">xrpl::NetworkOPs::isAmendmentBlocked</a></div><div class="ttdeci">virtual bool isAmendmentBlocked()=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_a9878fdaa1c85d81ff65277097a564596"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#a9878fdaa1c85d81ff65277097a564596">xrpl::NetworkOPs::doFailHard</a></div><div class="ttdeci">static FailHard doFailHard(bool noMeansDont)</div><div class="ttdef"><b>Definition</b> <a href="NetworkOPs_8h_source.html#l00076">NetworkOPs.h:76</a></div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_aa2253c49b97e1b404ab4f4bbe6d1b94c"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#aa2253c49b97e1b404ab4f4bbe6d1b94c">xrpl::NetworkOPs::processTransaction</a></div><div class="ttdeci">virtual void processTransaction(std::shared_ptr&lt; Transaction &gt; &amp;transaction, bool bUnlimited, bool bLocal, FailHard failType)=0</div><div class="ttdoc">Process transactions as they arrive from the network or which are submitted by clients.</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_aa3606063680ca6c1bf2a1c02a32c7999"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#aa3606063680ca6c1bf2a1c02a32c7999">xrpl::NetworkOPs::strOperatingMode</a></div><div class="ttdeci">virtual std::string strOperatingMode(OperatingMode const mode, bool const admin=false) const =0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_aabb60b820c51a69e1e9ba45f233a4e4c"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#aabb60b820c51a69e1e9ba45f233a4e4c">xrpl::NetworkOPs::clearNeedNetworkLedger</a></div><div class="ttdeci">virtual void clearNeedNetworkLedger()=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_aaf5e391fc5001b348a4422aac15b984d"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#aaf5e391fc5001b348a4422aac15b984d">xrpl::NetworkOPs::setStateTimer</a></div><div class="ttdeci">virtual void setStateTimer()=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_ac20619b7b10d0468a70d237461b8682b"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#ac20619b7b10d0468a70d237461b8682b">xrpl::NetworkOPs::stateAccounting</a></div><div class="ttdeci">virtual void stateAccounting(Json::Value &amp;obj)=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_ac2ee8c5c9ce03f36e2cb6a72589304a5"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#ac2ee8c5c9ce03f36e2cb6a72589304a5">xrpl::NetworkOPs::clearLedgerFetch</a></div><div class="ttdeci">virtual void clearLedgerFetch()=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_ac7cab1abcd52b4fd172abf59806c68d2"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#ac7cab1abcd52b4fd172abf59806c68d2">xrpl::NetworkOPs::acceptLedger</a></div><div class="ttdeci">virtual std::uint32_t acceptLedger(std::optional&lt; std::chrono::milliseconds &gt; consensusDelay=std::nullopt)=0</div><div class="ttdoc">Accepts the current transaction tree, return the new ledger's sequence.</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_accf64d932c2b0a3a1a18d20307c0b954"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#accf64d932c2b0a3a1a18d20307c0b954">xrpl::NetworkOPs::getServerInfo</a></div><div class="ttdeci">virtual Json::Value getServerInfo(bool human, bool admin, bool counters)=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_ad08de097dc76f2036ad4c42a1c402bad"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#ad08de097dc76f2036ad4c42a1c402bad">xrpl::NetworkOPs::processTrustedProposal</a></div><div class="ttdeci">virtual bool processTrustedProposal(RCLCxPeerPos peerPos)=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_ad3030f89fb919a4719538f7d5556e2d3"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#ad3030f89fb919a4719538f7d5556e2d3">xrpl::NetworkOPs::setAmendmentWarned</a></div><div class="ttdeci">virtual void setAmendmentWarned()=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_af20b0ec49007e940fac896257d3f1e05"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#af20b0ec49007e940fac896257d3f1e05">xrpl::NetworkOPs::FailHard</a></div><div class="ttdeci">FailHard</div><div class="ttdef"><b>Definition</b> <a href="NetworkOPs_8h_source.html#l00074">NetworkOPs.h:74</a></div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_af20b0ec49007e940fac896257d3f1e05a7fa3b767c460b54a2be4d49030b349c7"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#af20b0ec49007e940fac896257d3f1e05a7fa3b767c460b54a2be4d49030b349c7">xrpl::NetworkOPs::FailHard::no</a></div><div class="ttdeci">@ no</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_af20b0ec49007e940fac896257d3f1e05aa6105c0a611b41b08f1209506350279e"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#af20b0ec49007e940fac896257d3f1e05aa6105c0a611b41b08f1209506350279e">xrpl::NetworkOPs::FailHard::yes</a></div><div class="ttdeci">@ yes</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_af42b412fb5a73fd479404820c966e4b7"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#af42b412fb5a73fd479404820c966e4b7">xrpl::NetworkOPs::setStandAlone</a></div><div class="ttdeci">virtual void setStandAlone()=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_afaaa084905d8e9e095cd2b41f6b8d0e3"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#afaaa084905d8e9e095cd2b41f6b8d0e3">xrpl::NetworkOPs::mapComplete</a></div><div class="ttdeci">virtual void mapComplete(std::shared_ptr&lt; SHAMap &gt; const &amp;map, bool fromAcquire)=0</div></div>
<div class="ttc" id="aclassxrpl_1_1NetworkOPs_html_afd19386473c64d1e2497f11880acc4c9"><div class="ttname"><a href="classxrpl_1_1NetworkOPs.html#afd19386473c64d1e2497f11880acc4c9">xrpl::NetworkOPs::getBookPage</a></div><div class="ttdeci">virtual void getBookPage(std::shared_ptr&lt; ReadView const &gt; &amp;lpLedger, Book const &amp;book, AccountID const &amp;uTakerID, bool const bProof, unsigned int iLimit, Json::Value const &amp;jvMarker, Json::Value &amp;jvResult)=0</div></div>
<div class="ttc" id="aclassxrpl_1_1RCLCxPeerPos_html"><div class="ttname"><a href="classxrpl_1_1RCLCxPeerPos.html">xrpl::RCLCxPeerPos</a></div><div class="ttdoc">A peer's signed, proposed position for use in RCLConsensus.</div><div class="ttdef"><b>Definition</b> <a href="RCLCxPeerPos_8h_source.html#l00024">RCLCxPeerPos.h:25</a></div></div>
<div class="ttc" id="aclassxrpl_1_1ReadView_html"><div class="ttname"><a href="classxrpl_1_1ReadView.html">xrpl::ReadView</a></div><div class="ttdoc">A view into a ledger.</div><div class="ttdef"><b>Definition</b> <a href="ReadView_8h_source.html#l00031">ReadView.h:32</a></div></div>
<div class="ttc" id="aclassxrpl_1_1TERSubset_html"><div class="ttname"><a href="classxrpl_1_1TERSubset.html">xrpl::TERSubset&lt; CanCvtToTER &gt;</a></div></div>
<div class="ttc" id="aclassxrpl_1_1ValidatorKeys_html"><div class="ttname"><a href="classxrpl_1_1ValidatorKeys.html">xrpl::ValidatorKeys</a></div><div class="ttdoc">Validator keys and manifest as set in configuration file.</div><div class="ttdef"><b>Definition</b> <a href="ValidatorKeys_8h_source.html#l00018">ValidatorKeys.h:19</a></div></div>
<div class="ttc" id="aclassxrpl_1_1base__uint_html"><div class="ttname"><a href="classxrpl_1_1base__uint.html">xrpl::base_uint&lt; 160, detail::AccountIDTag &gt;</a></div></div>
<div class="ttc" id="ainteger_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a></div></div>
<div class="ttc" id="ais_same_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/types/is_same.html">std::is_same_v</a></div><div class="ttdeci">T is_same_v</div></div>
<div class="ttc" id="amemory_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/memory.html">memory</a></div></div>
<div class="ttc" id="anamespacexrpl_html"><div class="ttname"><a href="namespacexrpl.html">xrpl</a></div><div class="ttdoc">Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.</div><div class="ttdef"><b>Definition</b> <a href="algorithm_8h_source.html#l00006">algorithm.h:6</a></div></div>
<div class="ttc" id="anamespacexrpl_html_a5c8ff5a74417f483e7421de4073ed6fb"><div class="ttname"><a href="namespacexrpl.html#a5c8ff5a74417f483e7421de4073ed6fb">xrpl::make_NetworkOPs</a></div><div class="ttdeci">std::unique_ptr&lt; NetworkOPs &gt; make_NetworkOPs(Application &amp;app, NetworkOPs::clock_type &amp;clock, bool standalone, std::size_t minPeerCount, bool startvalid, JobQueue &amp;job_queue, LedgerMaster &amp;ledgerMaster, ValidatorKeys const &amp;validatorKeys, boost::asio::io_context &amp;io_svc, beast::Journal journal, beast::insight::Collector::ptr const &amp;collector)</div><div class="ttdef"><b>Definition</b> <a href="NetworkOPs_8cpp_source.html#l04869">NetworkOPs.cpp:4869</a></div></div>
<div class="ttc" id="anamespacexrpl_html_ac599741e6d4066bada11df4c7e8ad30aa7fa2267e9b1bf739a70bb1860ab2a99c"><div class="ttname"><a href="namespacexrpl.html#ac599741e6d4066bada11df4c7e8ad30aa7fa2267e9b1bf739a70bb1860ab2a99c">xrpl::HashPrefix::ledgerMaster</a></div><div class="ttdeci">@ ledgerMaster</div><div class="ttdoc">ledger master data for signing</div></div>
<div class="ttc" id="anamespacexrpl_html_adebbd563d92733955373201c839cf664"><div class="ttname"><a href="namespacexrpl.html#adebbd563d92733955373201c839cf664">xrpl::OperatingMode</a></div><div class="ttdeci">OperatingMode</div><div class="ttdoc">Specifies the mode under which the server believes it's operating.</div><div class="ttdef"><b>Definition</b> <a href="NetworkOPs_8h_source.html#l00049">NetworkOPs.h:49</a></div></div>
<div class="ttc" id="anamespacexrpl_html_adebbd563d92733955373201c839cf664a8728801b2a11ad95c8ecf855bfd484e4"><div class="ttname"><a href="namespacexrpl.html#adebbd563d92733955373201c839cf664a8728801b2a11ad95c8ecf855bfd484e4">xrpl::OperatingMode::TRACKING</a></div><div class="ttdeci">@ TRACKING</div><div class="ttdoc">convinced we agree with the network</div></div>
<div class="ttc" id="anamespacexrpl_html_adebbd563d92733955373201c839cf664a99c8ce56e7ab246445d3b134724428f3"><div class="ttname"><a href="namespacexrpl.html#adebbd563d92733955373201c839cf664a99c8ce56e7ab246445d3b134724428f3">xrpl::OperatingMode::DISCONNECTED</a></div><div class="ttdeci">@ DISCONNECTED</div><div class="ttdoc">not ready to process requests</div></div>
<div class="ttc" id="anamespacexrpl_html_adebbd563d92733955373201c839cf664aa5afd6edd5336d91316964e493936858"><div class="ttname"><a href="namespacexrpl.html#adebbd563d92733955373201c839cf664aa5afd6edd5336d91316964e493936858">xrpl::OperatingMode::CONNECTED</a></div><div class="ttdeci">@ CONNECTED</div><div class="ttdoc">convinced we are talking to the network</div></div>
<div class="ttc" id="anamespacexrpl_html_adebbd563d92733955373201c839cf664aba7de5bc6888294e5884b024a4c894f1"><div class="ttname"><a href="namespacexrpl.html#adebbd563d92733955373201c839cf664aba7de5bc6888294e5884b024a4c894f1">xrpl::OperatingMode::FULL</a></div><div class="ttdeci">@ FULL</div><div class="ttdoc">we have the ledger and can even validate</div></div>
<div class="ttc" id="anamespacexrpl_html_adebbd563d92733955373201c839cf664af0be1f77b2d12fe3d6424fbf9eecc109"><div class="ttname"><a href="namespacexrpl.html#adebbd563d92733955373201c839cf664af0be1f77b2d12fe3d6424fbf9eecc109">xrpl::OperatingMode::SYNCING</a></div><div class="ttdeci">@ SYNCING</div><div class="ttdoc">fallen slightly behind</div></div>
<div class="ttc" id="aoptional_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional</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</a></div></div>
<div class="ttc" id="asize_t_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a></div></div>
<div class="ttc" id="aunique_ptr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>