Files
rippled/NetworkOPs_8h_source.html
2025-11-17 06:05:07 -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/core/JobQueue.h&gt;</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#include &lt;xrpld/rpc/InfoSub.h&gt;</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</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="namespaceripple.html">ripple</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="namespaceripple.html#a597325d7385ff9c19686e14e5bead510"> 49</a></span><span class="keyword">enum class</span> <a class="code hl_enumeration" href="namespaceripple.html#a597325d7385ff9c19686e14e5bead510">OperatingMode</a> {</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <a class="code hl_enumvalue" href="namespaceripple.html#a597325d7385ff9c19686e14e5bead510a99c8ce56e7ab246445d3b134724428f3">DISCONNECTED</a> = 0, </div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <a class="code hl_enumvalue" href="namespaceripple.html#a597325d7385ff9c19686e14e5bead510aa5afd6edd5336d91316964e493936858">CONNECTED</a> = 1, </div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <a class="code hl_enumvalue" href="namespaceripple.html#a597325d7385ff9c19686e14e5bead510af0be1f77b2d12fe3d6424fbf9eecc109">SYNCING</a> = 2, </div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <a class="code hl_enumvalue" href="namespaceripple.html#a597325d7385ff9c19686e14e5bead510a8728801b2a11ad95c8ecf855bfd484e4">TRACKING</a> = 3, </div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <a class="code hl_enumvalue" href="namespaceripple.html#a597325d7385ff9c19686e14e5bead510aba7de5bc6888294e5884b024a4c894f1">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="classripple_1_1NetworkOPs.html"> 69</a></span><span class="keyword">class </span><a class="code hl_class" href="classripple_1_1NetworkOPs.html">NetworkOPs</a> : <span class="keyword">public</span> <a class="code hl_class" href="classripple_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="classripple_1_1NetworkOPs.html#a52b5e5b8e68aa4430d35deb844418ddb"> 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="classripple_1_1NetworkOPs.html#ada325f492d3aa1aa62d4b159e106c37a"> 74</a></span> <span class="keyword">enum class</span> <a class="code hl_enumeration" href="classripple_1_1NetworkOPs.html#ada325f492d3aa1aa62d4b159e106c37a">FailHard</a> : <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> { <a class="code hl_enumvalue" href="classripple_1_1NetworkOPs.html#ada325f492d3aa1aa62d4b159e106c37aa7fa3b767c460b54a2be4d49030b349c7">no</a>, <a class="code hl_enumvalue" href="classripple_1_1NetworkOPs.html#ada325f492d3aa1aa62d4b159e106c37aaa6105c0a611b41b08f1209506350279e">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="classripple_1_1NetworkOPs.html#ada325f492d3aa1aa62d4b159e106c37a">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="classripple_1_1NetworkOPs.html#a315d515a3143ecb7a40d682aa350324d"> 76</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#a315d515a3143ecb7a40d682aa350324d">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="classripple_1_1NetworkOPs.html#ada325f492d3aa1aa62d4b159e106c37aaa6105c0a611b41b08f1209506350279e">FailHard::yes</a> : <a class="code hl_enumvalue" href="classripple_1_1NetworkOPs.html#ada325f492d3aa1aa62d4b159e106c37aa7fa3b767c460b54a2be4d49030b349c7">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="classripple_1_1NetworkOPs.html#aaa77545cf954c43f15ddac6729d0ac3e"> 82</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#aaa77545cf954c43f15ddac6729d0ac3e">~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="classripple_1_1NetworkOPs.html#a5c5a5ed24a2a27be156d553907fba86a"> 85</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#a5c5a5ed24a2a27be156d553907fba86a">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="namespaceripple.html#a597325d7385ff9c19686e14e5bead510">OperatingMode</a></div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"><a class="line" href="classripple_1_1NetworkOPs.html#a41818990c5329f7e3d025d52bcf569b5"> 93</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#a41818990c5329f7e3d025d52bcf569b5">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="classripple_1_1NetworkOPs.html#ad4c27eb535691555917e3b1ae5ab2637"> 95</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#ad4c27eb535691555917e3b1ae5ab2637">strOperatingMode</a>(<a class="code hl_enumeration" href="namespaceripple.html#a597325d7385ff9c19686e14e5bead510">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="classripple_1_1NetworkOPs.html#aa4cb3740e2b48d825adba931934e8109"> 98</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#aa4cb3740e2b48d825adba931934e8109">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="classripple_1_1NetworkOPs.html#a3f4830e6c223790a1691ec36bbf415a6"> 107</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#a3f4830e6c223790a1691ec36bbf415a6">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="classripple_1_1NetworkOPs.html#a96598c02fccf5bce018154a99c2adacd"> 119</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#a96598c02fccf5bce018154a99c2adacd">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="classripple_1_1NetworkOPs.html#ada325f492d3aa1aa62d4b159e106c37a">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="classripple_1_1NetworkOPs.html#afb9a470a702d072d2c9b75ca065e23b9"> 132</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#afb9a470a702d072d2c9b75ca065e23b9">processTransactionSet</a>(<a class="code hl_class" href="classripple_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="classripple_1_1NetworkOPs.html#a2eacb63fdf26723bfd4cb7505f3ea0d8"> 140</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#a2eacb63fdf26723bfd4cb7505f3ea0d8">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="classripple_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="classripple_1_1NetworkOPs.html#aef72d5d8b2687f3fdbdfba3fa87b2e8f"> 150</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#aef72d5d8b2687f3fdbdfba3fa87b2e8f">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="classripple_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="classripple_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="classripple_1_1NetworkOPs.html#aa137da1002861227d3e7b346de52020d"> 163</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#aa137da1002861227d3e7b346de52020d">processTrustedProposal</a>(<a class="code hl_class" href="classripple_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="classripple_1_1NetworkOPs.html#aa0f61ec21b1c950dc46892cea846faf4"> 166</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#aa0f61ec21b1c950dc46892cea846faf4">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="classripple_1_1NetworkOPs.html#a554532c5230a96a9a76b157144a37eb8"> 171</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#a554532c5230a96a9a76b157144a37eb8">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="classripple_1_1NetworkOPs.html#aac75570cf880ab43c7fb1972952e5796"> 175</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#aac75570cf880ab43c7fb1972952e5796">beginConsensus</a>(</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> <a class="code hl_class" href="classripple_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="classripple_1_1NetworkOPs.html#a3833d17761a224b2a8c144a3a51c4f67"> 179</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#a3833d17761a224b2a8c144a3a51c4f67">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="classripple_1_1NetworkOPs.html#a6fe4993dc5d3b89ff38090790d83bfd4"> 181</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#a6fe4993dc5d3b89ff38090790d83bfd4">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="classripple_1_1NetworkOPs.html#afa309faddae30361165a1e79ae888bf1"> 183</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#afa309faddae30361165a1e79ae888bf1">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="classripple_1_1NetworkOPs.html#a954378c3ec506a306e43038ded881840"> 186</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#a954378c3ec506a306e43038ded881840">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="classripple_1_1NetworkOPs.html#a7ebeb2a8f947b729b0a8a1aba97d3b54"> 188</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#a7ebeb2a8f947b729b0a8a1aba97d3b54">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="classripple_1_1NetworkOPs.html#ad501185ed756e643261f7079e5ea2eb8"> 190</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#ad501185ed756e643261f7079e5ea2eb8">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="classripple_1_1NetworkOPs.html#ab7b43a2b50805198d0cf84b7790b0ba0"> 192</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#ab7b43a2b50805198d0cf84b7790b0ba0">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="classripple_1_1NetworkOPs.html#ac8babe44f84fdd9e56b3f157a1abb007"> 194</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#ac8babe44f84fdd9e56b3f157a1abb007">setMode</a>(<a class="code hl_enumeration" href="namespaceripple.html#a597325d7385ff9c19686e14e5bead510">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="classripple_1_1NetworkOPs.html#a39a17f676dfe886070778e666ca2d18c"> 196</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#a39a17f676dfe886070778e666ca2d18c">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="classripple_1_1NetworkOPs.html#ad7b5b97b90da41f318a685276e798d32"> 198</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#ad7b5b97b90da41f318a685276e798d32">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="classripple_1_1NetworkOPs.html#a591349c566e53de85c2b97fd5dbba0df"> 200</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#a591349c566e53de85c2b97fd5dbba0df">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="classripple_1_1NetworkOPs.html#abbf355fec0f0da558c3231223ea660a8"> 202</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#abbf355fec0f0da558c3231223ea660a8">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="classripple_1_1NetworkOPs.html#a3a1b507c5ec60a6dc64ed8e7fa9cfdcd"> 204</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#a3a1b507c5ec60a6dc64ed8e7fa9cfdcd">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="classripple_1_1NetworkOPs.html#aed88fd077392ff34912bc591065c07ee"> 206</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#aed88fd077392ff34912bc591065c07ee">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="classripple_1_1NetworkOPs.html#aff6ba9f57c2439361a7f83eef3e24443"> 208</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#aff6ba9f57c2439361a7f83eef3e24443">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="classripple_1_1NetworkOPs.html#a3b837bd8b8633d45d7e5f26961fab856"> 210</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#a3b837bd8b8633d45d7e5f26961fab856">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="classripple_1_1NetworkOPs.html#ace637a61664a15f70bc362f2ad1101e9"> 212</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#ace637a61664a15f70bc362f2ad1101e9">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="classripple_1_1NetworkOPs.html#a7223446b10496bd50e12272588996ab0"> 214</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#a7223446b10496bd50e12272588996ab0">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="classripple_1_1NetworkOPs.html#a55b390329b7958248e50ad56c192281a"> 217</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#a55b390329b7958248e50ad56c192281a">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="classripple_1_1NetworkOPs.html#af4863a74bd582bd66f43b2e0e82feedd"> 219</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#af4863a74bd582bd66f43b2e0e82feedd">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="classripple_1_1NetworkOPs.html#a7258b6ea09ba8e972747b57c0aab914c"> 221</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#a7258b6ea09ba8e972747b57c0aab914c">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="classripple_1_1NetworkOPs.html#ae690f8253f39e7377a94e50ae259d05f"> 223</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#ae690f8253f39e7377a94e50ae259d05f">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="classripple_1_1NetworkOPs.html#adc30e2f12890d9cd5687139edf56b1f9"> 232</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#adc30e2f12890d9cd5687139edf56b1f9">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="classripple_1_1NetworkOPs.html#aac7969fc51e8e561bbd59e94662300ee"> 237</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#aac7969fc51e8e561bbd59e94662300ee">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="classripple_1_1NetworkOPs.html#ae818648c14f68b1e31afe0164b850130"> 240</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#ae818648c14f68b1e31afe0164b850130">updateLocalTx</a>(<a class="code hl_class" href="classripple_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="classripple_1_1NetworkOPs.html#aa9220ccf8382acf85ccd1043f68b9c37"> 242</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#aa9220ccf8382acf85ccd1043f68b9c37">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="classripple_1_1NetworkOPs.html#afdcc25285fc9cb83eab4ed36d95be527"> 249</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#afdcc25285fc9cb83eab4ed36d95be527">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="classripple_1_1NetworkOPs.html#a522a02f40a2c93b1a951ff4217478777"> 251</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#a522a02f40a2c93b1a951ff4217478777">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="classripple_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="classripple_1_1NetworkOPs.html#a5228b52adce7276a83d4d0cf14991589"> 256</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#a5228b52adce7276a83d4d0cf14991589">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="classripple_1_1NetworkOPs.html#a51bff8f9e909c4983b14ba2682ac118c"> 259</a></span> <a class="code hl_function" href="classripple_1_1NetworkOPs.html#a51bff8f9e909c4983b14ba2682ac118c">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="namespaceripple.html#a0670fcda0c06219fdaa3ffd67338e8cb">make_NetworkOPs</a>(</div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> <a class="code hl_class" href="classripple_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="classripple_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="classripple_1_1LedgerMaster.html">LedgerMaster</a>&amp; <a class="code hl_enumvalue" href="namespaceripple.html#ad5143ceada01141772ae4aab984f94bda7fa2267e9b1bf739a70bb1860ab2a99c">ledgerMaster</a>,</div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> <a class="code hl_class" href="classripple_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 ripple</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="aclassripple_1_1Application_html"><div class="ttname"><a href="classripple_1_1Application.html">ripple::Application</a></div><div class="ttdef"><b>Definition</b> <a href="Application_8h_source.html#l00094">Application.h:95</a></div></div>
<div class="ttc" id="aclassripple_1_1Book_html"><div class="ttname"><a href="classripple_1_1Book.html">ripple::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="aclassripple_1_1CanonicalTXSet_html"><div class="ttname"><a href="classripple_1_1CanonicalTXSet.html">ripple::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="aclassripple_1_1InfoSub_1_1Source_html"><div class="ttname"><a href="classripple_1_1InfoSub_1_1Source.html">ripple::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="aclassripple_1_1JobQueue_html"><div class="ttname"><a href="classripple_1_1JobQueue.html">ripple::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#l00038">JobQueue.h:39</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html"><div class="ttname"><a href="classripple_1_1LedgerMaster.html">ripple::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="aclassripple_1_1NetworkOPs_html"><div class="ttname"><a href="classripple_1_1NetworkOPs.html">ripple::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="aclassripple_1_1NetworkOPs_html_a2eacb63fdf26723bfd4cb7505f3ea0d8"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#a2eacb63fdf26723bfd4cb7505f3ea0d8">ripple::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="aclassripple_1_1NetworkOPs_html_a315d515a3143ecb7a40d682aa350324d"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#a315d515a3143ecb7a40d682aa350324d">ripple::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="aclassripple_1_1NetworkOPs_html_a3833d17761a224b2a8c144a3a51c4f67"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#a3833d17761a224b2a8c144a3a51c4f67">ripple::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="aclassripple_1_1NetworkOPs_html_a39a17f676dfe886070778e666ca2d18c"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#a39a17f676dfe886070778e666ca2d18c">ripple::NetworkOPs::isBlocked</a></div><div class="ttdeci">virtual bool isBlocked()=0</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_a3a1b507c5ec60a6dc64ed8e7fa9cfdcd"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#a3a1b507c5ec60a6dc64ed8e7fa9cfdcd">ripple::NetworkOPs::setAmendmentWarned</a></div><div class="ttdeci">virtual void setAmendmentWarned()=0</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_a3b837bd8b8633d45d7e5f26961fab856"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#a3b837bd8b8633d45d7e5f26961fab856">ripple::NetworkOPs::setUNLBlocked</a></div><div class="ttdeci">virtual void setUNLBlocked()=0</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_a3f4830e6c223790a1691ec36bbf415a6"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#a3f4830e6c223790a1691ec36bbf415a6">ripple::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="aclassripple_1_1NetworkOPs_html_a41818990c5329f7e3d025d52bcf569b5"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#a41818990c5329f7e3d025d52bcf569b5">ripple::NetworkOPs::getOperatingMode</a></div><div class="ttdeci">virtual OperatingMode getOperatingMode() const =0</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_a51bff8f9e909c4983b14ba2682ac118c"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#a51bff8f9e909c4983b14ba2682ac118c">ripple::NetworkOPs::stateAccounting</a></div><div class="ttdeci">virtual void stateAccounting(Json::Value &amp;obj)=0</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_a5228b52adce7276a83d4d0cf14991589"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#a5228b52adce7276a83d4d0cf14991589">ripple::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="aclassripple_1_1NetworkOPs_html_a522a02f40a2c93b1a951ff4217478777"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#a522a02f40a2c93b1a951ff4217478777">ripple::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="aclassripple_1_1NetworkOPs_html_a554532c5230a96a9a76b157144a37eb8"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#a554532c5230a96a9a76b157144a37eb8">ripple::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="aclassripple_1_1NetworkOPs_html_a55b390329b7958248e50ad56c192281a"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#a55b390329b7958248e50ad56c192281a">ripple::NetworkOPs::getConsensusInfo</a></div><div class="ttdeci">virtual Json::Value getConsensusInfo()=0</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_a591349c566e53de85c2b97fd5dbba0df"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#a591349c566e53de85c2b97fd5dbba0df">ripple::NetworkOPs::setAmendmentBlocked</a></div><div class="ttdeci">virtual void setAmendmentBlocked()=0</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_a5c5a5ed24a2a27be156d553907fba86a"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#a5c5a5ed24a2a27be156d553907fba86a">ripple::NetworkOPs::stop</a></div><div class="ttdeci">virtual void stop()=0</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_a6fe4993dc5d3b89ff38090790d83bfd4"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#a6fe4993dc5d3b89ff38090790d83bfd4">ripple::NetworkOPs::setStandAlone</a></div><div class="ttdeci">virtual void setStandAlone()=0</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_a7223446b10496bd50e12272588996ab0"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#a7223446b10496bd50e12272588996ab0">ripple::NetworkOPs::consensusViewChange</a></div><div class="ttdeci">virtual void consensusViewChange()=0</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_a7258b6ea09ba8e972747b57c0aab914c"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#a7258b6ea09ba8e972747b57c0aab914c">ripple::NetworkOPs::clearLedgerFetch</a></div><div class="ttdeci">virtual void clearLedgerFetch()=0</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_a7ebeb2a8f947b729b0a8a1aba97d3b54"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#a7ebeb2a8f947b729b0a8a1aba97d3b54">ripple::NetworkOPs::clearNeedNetworkLedger</a></div><div class="ttdeci">virtual void clearNeedNetworkLedger()=0</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_a954378c3ec506a306e43038ded881840"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#a954378c3ec506a306e43038ded881840">ripple::NetworkOPs::setNeedNetworkLedger</a></div><div class="ttdeci">virtual void setNeedNetworkLedger()=0</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_a96598c02fccf5bce018154a99c2adacd"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#a96598c02fccf5bce018154a99c2adacd">ripple::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="aclassripple_1_1NetworkOPs_html_aa0f61ec21b1c950dc46892cea846faf4"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#aa0f61ec21b1c950dc46892cea846faf4">ripple::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="aclassripple_1_1NetworkOPs_html_aa137da1002861227d3e7b346de52020d"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#aa137da1002861227d3e7b346de52020d">ripple::NetworkOPs::processTrustedProposal</a></div><div class="ttdeci">virtual bool processTrustedProposal(RCLCxPeerPos peerPos)=0</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_aa4cb3740e2b48d825adba931934e8109"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#aa4cb3740e2b48d825adba931934e8109">ripple::NetworkOPs::strOperatingMode</a></div><div class="ttdeci">virtual std::string strOperatingMode(bool const admin=false) const =0</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_aa9220ccf8382acf85ccd1043f68b9c37"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#aa9220ccf8382acf85ccd1043f68b9c37">ripple::NetworkOPs::getLocalTxCount</a></div><div class="ttdeci">virtual std::size_t getLocalTxCount()=0</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_aaa77545cf954c43f15ddac6729d0ac3e"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#aaa77545cf954c43f15ddac6729d0ac3e">ripple::NetworkOPs::~NetworkOPs</a></div><div class="ttdeci">~NetworkOPs() override=default</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_aac75570cf880ab43c7fb1972952e5796"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#aac75570cf880ab43c7fb1972952e5796">ripple::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="aclassripple_1_1NetworkOPs_html_aac7969fc51e8e561bbd59e94662300ee"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#aac7969fc51e8e561bbd59e94662300ee">ripple::NetworkOPs::reportFeeChange</a></div><div class="ttdeci">virtual void reportFeeChange()=0</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_ab7b43a2b50805198d0cf84b7790b0ba0"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#ab7b43a2b50805198d0cf84b7790b0ba0">ripple::NetworkOPs::isFull</a></div><div class="ttdeci">virtual bool isFull()=0</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_abbf355fec0f0da558c3231223ea660a8"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#abbf355fec0f0da558c3231223ea660a8">ripple::NetworkOPs::isAmendmentWarned</a></div><div class="ttdeci">virtual bool isAmendmentWarned()=0</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_ac8babe44f84fdd9e56b3f157a1abb007"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#ac8babe44f84fdd9e56b3f157a1abb007">ripple::NetworkOPs::setMode</a></div><div class="ttdeci">virtual void setMode(OperatingMode om)=0</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_ace637a61664a15f70bc362f2ad1101e9"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#ace637a61664a15f70bc362f2ad1101e9">ripple::NetworkOPs::clearUNLBlocked</a></div><div class="ttdeci">virtual void clearUNLBlocked()=0</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_ad4c27eb535691555917e3b1ae5ab2637"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#ad4c27eb535691555917e3b1ae5ab2637">ripple::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="aclassripple_1_1NetworkOPs_html_ad501185ed756e643261f7079e5ea2eb8"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#ad501185ed756e643261f7079e5ea2eb8">ripple::NetworkOPs::isNeedNetworkLedger</a></div><div class="ttdeci">virtual bool isNeedNetworkLedger()=0</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_ad7b5b97b90da41f318a685276e798d32"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#ad7b5b97b90da41f318a685276e798d32">ripple::NetworkOPs::isAmendmentBlocked</a></div><div class="ttdeci">virtual bool isAmendmentBlocked()=0</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_ada325f492d3aa1aa62d4b159e106c37a"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#ada325f492d3aa1aa62d4b159e106c37a">ripple::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="aclassripple_1_1NetworkOPs_html_ada325f492d3aa1aa62d4b159e106c37aa7fa3b767c460b54a2be4d49030b349c7"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#ada325f492d3aa1aa62d4b159e106c37aa7fa3b767c460b54a2be4d49030b349c7">ripple::NetworkOPs::FailHard::no</a></div><div class="ttdeci">@ no</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_ada325f492d3aa1aa62d4b159e106c37aaa6105c0a611b41b08f1209506350279e"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#ada325f492d3aa1aa62d4b159e106c37aaa6105c0a611b41b08f1209506350279e">ripple::NetworkOPs::FailHard::yes</a></div><div class="ttdeci">@ yes</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_adc30e2f12890d9cd5687139edf56b1f9"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#adc30e2f12890d9cd5687139edf56b1f9">ripple::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="aclassripple_1_1NetworkOPs_html_ae690f8253f39e7377a94e50ae259d05f"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#ae690f8253f39e7377a94e50ae259d05f">ripple::NetworkOPs::getLedgerFetchInfo</a></div><div class="ttdeci">virtual Json::Value getLedgerFetchInfo()=0</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_ae818648c14f68b1e31afe0164b850130"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#ae818648c14f68b1e31afe0164b850130">ripple::NetworkOPs::updateLocalTx</a></div><div class="ttdeci">virtual void updateLocalTx(ReadView const &amp;newValidLedger)=0</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_aed88fd077392ff34912bc591065c07ee"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#aed88fd077392ff34912bc591065c07ee">ripple::NetworkOPs::clearAmendmentWarned</a></div><div class="ttdeci">virtual void clearAmendmentWarned()=0</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_aef72d5d8b2687f3fdbdfba3fa87b2e8f"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#aef72d5d8b2687f3fdbdfba3fa87b2e8f">ripple::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="aclassripple_1_1NetworkOPs_html_af4863a74bd582bd66f43b2e0e82feedd"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#af4863a74bd582bd66f43b2e0e82feedd">ripple::NetworkOPs::getServerInfo</a></div><div class="ttdeci">virtual Json::Value getServerInfo(bool human, bool admin, bool counters)=0</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_afa309faddae30361165a1e79ae888bf1"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#afa309faddae30361165a1e79ae888bf1">ripple::NetworkOPs::setStateTimer</a></div><div class="ttdeci">virtual void setStateTimer()=0</div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_afb9a470a702d072d2c9b75ca065e23b9"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#afb9a470a702d072d2c9b75ca065e23b9">ripple::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="aclassripple_1_1NetworkOPs_html_afdcc25285fc9cb83eab4ed36d95be527"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#afdcc25285fc9cb83eab4ed36d95be527">ripple::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="aclassripple_1_1NetworkOPs_html_aff6ba9f57c2439361a7f83eef3e24443"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#aff6ba9f57c2439361a7f83eef3e24443">ripple::NetworkOPs::isUNLBlocked</a></div><div class="ttdeci">virtual bool isUNLBlocked()=0</div></div>
<div class="ttc" id="aclassripple_1_1RCLCxPeerPos_html"><div class="ttname"><a href="classripple_1_1RCLCxPeerPos.html">ripple::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="aclassripple_1_1ReadView_html"><div class="ttname"><a href="classripple_1_1ReadView.html">ripple::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="aclassripple_1_1TERSubset_html"><div class="ttname"><a href="classripple_1_1TERSubset.html">ripple::TERSubset&lt; CanCvtToTER &gt;</a></div></div>
<div class="ttc" id="aclassripple_1_1ValidatorKeys_html"><div class="ttname"><a href="classripple_1_1ValidatorKeys.html">ripple::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="aclassripple_1_1base__uint_html"><div class="ttname"><a href="classripple_1_1base__uint.html">ripple::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="anamespaceripple_html"><div class="ttname"><a href="namespaceripple.html">ripple</a></div><div class="ttdoc">Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.</div><div class="ttdef"><b>Definition</b> <a href="algorithm_8h_source.html#l00006">algorithm.h:6</a></div></div>
<div class="ttc" id="anamespaceripple_html_a0670fcda0c06219fdaa3ffd67338e8cb"><div class="ttname"><a href="namespaceripple.html#a0670fcda0c06219fdaa3ffd67338e8cb">ripple::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#l04863">NetworkOPs.cpp:4863</a></div></div>
<div class="ttc" id="anamespaceripple_html_a597325d7385ff9c19686e14e5bead510"><div class="ttname"><a href="namespaceripple.html#a597325d7385ff9c19686e14e5bead510">ripple::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="anamespaceripple_html_a597325d7385ff9c19686e14e5bead510a8728801b2a11ad95c8ecf855bfd484e4"><div class="ttname"><a href="namespaceripple.html#a597325d7385ff9c19686e14e5bead510a8728801b2a11ad95c8ecf855bfd484e4">ripple::OperatingMode::TRACKING</a></div><div class="ttdeci">@ TRACKING</div><div class="ttdoc">convinced we agree with the network</div></div>
<div class="ttc" id="anamespaceripple_html_a597325d7385ff9c19686e14e5bead510a99c8ce56e7ab246445d3b134724428f3"><div class="ttname"><a href="namespaceripple.html#a597325d7385ff9c19686e14e5bead510a99c8ce56e7ab246445d3b134724428f3">ripple::OperatingMode::DISCONNECTED</a></div><div class="ttdeci">@ DISCONNECTED</div><div class="ttdoc">not ready to process requests</div></div>
<div class="ttc" id="anamespaceripple_html_a597325d7385ff9c19686e14e5bead510aa5afd6edd5336d91316964e493936858"><div class="ttname"><a href="namespaceripple.html#a597325d7385ff9c19686e14e5bead510aa5afd6edd5336d91316964e493936858">ripple::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="anamespaceripple_html_a597325d7385ff9c19686e14e5bead510aba7de5bc6888294e5884b024a4c894f1"><div class="ttname"><a href="namespaceripple.html#a597325d7385ff9c19686e14e5bead510aba7de5bc6888294e5884b024a4c894f1">ripple::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="anamespaceripple_html_a597325d7385ff9c19686e14e5bead510af0be1f77b2d12fe3d6424fbf9eecc109"><div class="ttname"><a href="namespaceripple.html#a597325d7385ff9c19686e14e5bead510af0be1f77b2d12fe3d6424fbf9eecc109">ripple::OperatingMode::SYNCING</a></div><div class="ttdeci">@ SYNCING</div><div class="ttdoc">fallen slightly behind</div></div>
<div class="ttc" id="anamespaceripple_html_ad5143ceada01141772ae4aab984f94bda7fa2267e9b1bf739a70bb1860ab2a99c"><div class="ttname"><a href="namespaceripple.html#ad5143ceada01141772ae4aab984f94bda7fa2267e9b1bf739a70bb1860ab2a99c">ripple::HashPrefix::ledgerMaster</a></div><div class="ttdeci">@ ledgerMaster</div><div class="ttdoc">ledger master data for signing</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>