mirror of
https://github.com/XRPLF/rippled.git
synced 2026-02-04 14:05:26 +00:00
320 lines
54 KiB
HTML
320 lines
54 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: Overlay.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&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&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&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_c4f38cd849aa2a8e7280b7c5f705957a.html">overlay</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="headertitle"><div class="title">Overlay.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_OVERLAY_OVERLAY_H_INCLUDED</span></div>
|
|
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define XRPL_OVERLAY_OVERLAY_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 <xrpld/overlay/Peer.h></span></div>
|
|
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span> </div>
|
|
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include <xrpl/beast/utility/PropertyStream.h></span></div>
|
|
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#include <xrpl/json/json_value.h></span></div>
|
|
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#include <xrpl/server/Handoff.h></span></div>
|
|
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> </div>
|
|
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#include <boost/asio/ip/tcp.hpp></span></div>
|
|
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#include <boost/asio/ssl/context.hpp></span></div>
|
|
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include <boost/beast/core/tcp_stream.hpp></span></div>
|
|
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#include <boost/beast/ssl/ssl_stream.hpp></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 <<a class="codeRef" href="http://en.cppreference.com/w/cpp/header/functional.html">functional</a>></span></div>
|
|
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#include <<a class="codeRef" href="http://en.cppreference.com/w/cpp/header/optional.html">optional</a>></span></div>
|
|
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> </div>
|
|
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespaceboost.html">boost</a> {</div>
|
|
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="keyword">namespace </span>asio {</div>
|
|
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="keyword">namespace </span>ssl {</div>
|
|
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="keyword">class </span>context;</div>
|
|
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span>}</div>
|
|
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span>} <span class="comment">// namespace asio</span></div>
|
|
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span>} <span class="comment">// namespace boost</span></div>
|
|
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
|
|
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacexrpl.html">xrpl</a> {</div>
|
|
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
|
|
<div class="foldopen" id="foldopen00029" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html"> 29</a></span><span class="keyword">class </span><a class="code hl_class" href="classxrpl_1_1Overlay.html">Overlay</a> : <span class="keyword">public</span> <a class="code hl_class" href="classbeast_1_1PropertyStream_1_1Source.html">beast::PropertyStream::Source</a></div>
|
|
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span>{</div>
|
|
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="keyword">protected</span>:</div>
|
|
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html#a5573b69c17b74b6099c2337d925b15ec"> 32</a></span> <span class="keyword">using </span><a class="code hl_typedef" href="classxrpl_1_1Overlay.html#a5573b69c17b74b6099c2337d925b15ec">socket_type</a> = boost::beast::tcp_stream;</div>
|
|
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html#a483638a60598412a9029aea7b7fcde67"> 33</a></span> <span class="keyword">using </span><a class="code hl_typedef" href="classxrpl_1_1Overlay.html#a483638a60598412a9029aea7b7fcde67">stream_type</a> = boost::beast::ssl_stream<socket_type>;</div>
|
|
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
|
|
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="comment">// VFALCO NOTE The requirement of this constructor is an</span></div>
|
|
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="comment">// unfortunate problem with the API for</span></div>
|
|
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="comment">// PropertyStream</span></div>
|
|
<div class="foldopen" id="foldopen00038" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html#a04110b5fec904ce15399c387180fe283"> 38</a></span> <a class="code hl_function" href="classxrpl_1_1Overlay.html#a04110b5fec904ce15399c387180fe283">Overlay</a>() : <a class="code hl_namespace" href="namespacebeast.html">beast</a>::PropertyStream::<a class="code hl_function" href="classbeast_1_1PropertyStream_1_1Source.html#a1dd058a9799aec943c4f52aa263f6242">Source</a>(<span class="stringliteral">"peers"</span>)</div>
|
|
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> {</div>
|
|
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> }</div>
|
|
</div>
|
|
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> </div>
|
|
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span><span class="keyword">public</span>:</div>
|
|
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html#a613af4cd38baaaaa525eaea8dfbff50c"> 43</a></span> <span class="keyword">enum class</span> <a class="code hl_enumeration" href="classxrpl_1_1Overlay.html#a613af4cd38baaaaa525eaea8dfbff50c">Promote</a> { <a class="code hl_enumvalue" href="classxrpl_1_1Overlay.html#a613af4cd38baaaaa525eaea8dfbff50ca2bd9c0ed00116be1258e0cc66617d7c8">automatic</a>, <a class="code hl_enumvalue" href="classxrpl_1_1Overlay.html#a613af4cd38baaaaa525eaea8dfbff50cac7561db7a418dd39b2201dfe110ab4a4">never</a>, <a class="code hl_enumvalue" href="classxrpl_1_1Overlay.html#a613af4cd38baaaaa525eaea8dfbff50caf9f90eeaf400d228facde6bc48da5cfb">always</a> };</div>
|
|
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> </div>
|
|
<div class="foldopen" id="foldopen00045" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"><a class="line" href="structxrpl_1_1Overlay_1_1Setup.html"> 45</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="structxrpl_1_1Overlay_1_1Setup.html">Setup</a></div>
|
|
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> {</div>
|
|
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"><a class="line" href="structxrpl_1_1Overlay_1_1Setup.html#a49548218770820d359b28f2849440d30"> 47</a></span> <span class="keyword">explicit</span> <a class="code hl_function" href="structxrpl_1_1Overlay_1_1Setup.html#a49548218770820d359b28f2849440d30">Setup</a>() = <span class="keywordflow">default</span>;</div>
|
|
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> </div>
|
|
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="structxrpl_1_1Overlay_1_1Setup.html#ae2b3b41f4965976cb1bd4d029a580b41"> 49</a></span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<boost::asio::ssl::context></a> <a class="code hl_variable" href="structxrpl_1_1Overlay_1_1Setup.html#ae2b3b41f4965976cb1bd4d029a580b41">context</a>;</div>
|
|
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="structxrpl_1_1Overlay_1_1Setup.html#af766e1bfed5aef9b7737e5166da49b24"> 50</a></span> <a class="code hl_typedef" href="namespacebeast_1_1IP.html#adbe597760cb20a7aa3f2ff92f7bed2cc">beast::IP::Address</a> <a class="code hl_variable" href="structxrpl_1_1Overlay_1_1Setup.html#af766e1bfed5aef9b7737e5166da49b24">public_ip</a>;</div>
|
|
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="structxrpl_1_1Overlay_1_1Setup.html#ae1e3bfe36809e0323d9ff52864679883"> 51</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structxrpl_1_1Overlay_1_1Setup.html#ae1e3bfe36809e0323d9ff52864679883">ipLimit</a> = 0;</div>
|
|
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"><a class="line" href="structxrpl_1_1Overlay_1_1Setup.html#a66a8824c1c5f6b113b3f616d6b98396c"> 52</a></span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> <a class="code hl_variable" href="structxrpl_1_1Overlay_1_1Setup.html#a66a8824c1c5f6b113b3f616d6b98396c">crawlOptions</a> = 0;</div>
|
|
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"><a class="line" href="structxrpl_1_1Overlay_1_1Setup.html#a993a084972628e12e733fd236998a778"> 53</a></span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional<std::uint32_t></a> <a class="code hl_variable" href="structxrpl_1_1Overlay_1_1Setup.html#a993a084972628e12e733fd236998a778">networkID</a>;</div>
|
|
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"><a class="line" href="structxrpl_1_1Overlay_1_1Setup.html#ab47afadc1fb5366ae6aed9b6d88828c9"> 54</a></span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="structxrpl_1_1Overlay_1_1Setup.html#ab47afadc1fb5366ae6aed9b6d88828c9">vlEnabled</a> = <span class="keyword">true</span>;</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="line"><a id="l00057" name="l00057"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html#a7836e58bbda970c493d00060b0b1fbca"> 57</a></span> <span class="keyword">using </span><a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">PeerSequence</a> = <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::shared_ptr<Peer></a>>;</div>
|
|
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> </div>
|
|
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html#a005a64b51809d3e5b429eae35ddd0819"> 59</a></span> <span class="keyword">virtual</span> <a class="code hl_function" href="classxrpl_1_1Overlay.html#a005a64b51809d3e5b429eae35ddd0819">~Overlay</a>() = <span class="keywordflow">default</span>;</div>
|
|
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> </div>
|
|
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
|
|
<div class="foldopen" id="foldopen00062" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html#a0266edfcc43c8db6905381ed57000df2"> 62</a></span> <a class="code hl_function" href="classxrpl_1_1Overlay.html#a0266edfcc43c8db6905381ed57000df2">start</a>()</div>
|
|
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> {</div>
|
|
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> }</div>
|
|
</div>
|
|
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> </div>
|
|
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
|
|
<div class="foldopen" id="foldopen00067" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html#a5ac4021786aa50fe7cd3c5400bfb2327"> 67</a></span> <a class="code hl_function" href="classxrpl_1_1Overlay.html#a5ac4021786aa50fe7cd3c5400bfb2327">stop</a>()</div>
|
|
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> {</div>
|
|
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> }</div>
|
|
</div>
|
|
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> </div>
|
|
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">virtual</span> <a class="code hl_struct" href="structxrpl_1_1Handoff.html">Handoff</a></div>
|
|
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html#a8848ca3a8fd6a64bbb2894c63d3cd757"> 73</a></span> <a class="code hl_function" href="classxrpl_1_1Overlay.html#a8848ca3a8fd6a64bbb2894c63d3cd757">onHandoff</a>(</div>
|
|
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr<stream_type></a>&& bundle,</div>
|
|
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <a class="code hl_typedef" href="namespacexrpl.html#a3a4ac74e54fc39e5c6f7f61f93db19c1">http_request_type</a>&& request,</div>
|
|
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> boost::asio::ip::tcp::endpoint remote_address) = 0;</div>
|
|
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> </div>
|
|
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
|
|
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html#ac446158a2e5b6050746d6c23f252925f"> 83</a></span> <a class="code hl_function" href="classxrpl_1_1Overlay.html#ac446158a2e5b6050746d6c23f252925f">connect</a>(<a class="code hl_class" href="classbeast_1_1IP_1_1Endpoint.html">beast::IP::Endpoint</a> <span class="keyword">const</span>& address) = 0;</div>
|
|
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> </div>
|
|
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="keyword">virtual</span> <span class="keywordtype">int</span></div>
|
|
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html#a7038191c4235f16ea9bcfd4b70fb6239"> 87</a></span> <a class="code hl_function" href="classxrpl_1_1Overlay.html#a7038191c4235f16ea9bcfd4b70fb6239">limit</a>() = 0;</div>
|
|
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> </div>
|
|
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</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="l00094" name="l00094"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html#af83123980cb4d4bb1dc42035df986b23"> 94</a></span> <a class="code hl_function" href="classxrpl_1_1Overlay.html#af83123980cb4d4bb1dc42035df986b23">size</a>() <span class="keyword">const</span> = 0;</div>
|
|
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> </div>
|
|
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</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="l00100" name="l00100"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html#aacd3785eaabf91928cc91c64ce9fb607"> 100</a></span> <a class="code hl_function" href="classxrpl_1_1Overlay.html#aacd3785eaabf91928cc91c64ce9fb607">json</a>() = 0;</div>
|
|
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> </div>
|
|
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <span class="keyword">virtual</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">PeerSequence</a></div>
|
|
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html#a7313024d68cc1dc2a4f0b5c5c07f940e"> 106</a></span> <a class="code hl_function" href="classxrpl_1_1Overlay.html#a7313024d68cc1dc2a4f0b5c5c07f940e">getActivePeers</a>() <span class="keyword">const</span> = 0;</div>
|
|
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> </div>
|
|
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
|
|
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html#a5c064cfe3c33fab0274c7a648c05673b"> 112</a></span> <a class="code hl_function" href="classxrpl_1_1Overlay.html#a5c064cfe3c33fab0274c7a648c05673b">checkTracking</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> index) = 0;</div>
|
|
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> </div>
|
|
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <span class="keyword">virtual</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<Peer></a></div>
|
|
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html#a37f6bc6e58920b433fe548034a1e2d8d"> 116</a></span> <a class="code hl_function" href="classxrpl_1_1Overlay.html#a37f6bc6e58920b433fe548034a1e2d8d">findPeerByShortID</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">Peer::id_t</a> <span class="keyword">const</span>& <span class="keywordtype">id</span>) <span class="keyword">const</span> = 0;</div>
|
|
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> </div>
|
|
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <span class="keyword">virtual</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<Peer></a></div>
|
|
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html#acdcd7d6c1d314f36fae3f1ca5ee50611"> 120</a></span> <a class="code hl_function" href="classxrpl_1_1Overlay.html#acdcd7d6c1d314f36fae3f1ca5ee50611">findPeerByPublicKey</a>(<a class="code hl_class" href="classxrpl_1_1PublicKey.html">PublicKey</a> <span class="keyword">const</span>& pubKey) = 0;</div>
|
|
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> </div>
|
|
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
|
|
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html#a47d733c10d9f7c5a3bb5835ebe91a3de"> 124</a></span> <a class="code hl_function" href="classxrpl_1_1Overlay.html#a47d733c10d9f7c5a3bb5835ebe91a3de">broadcast</a>(protocol::TMProposeSet& m) = 0;</div>
|
|
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> </div>
|
|
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
|
|
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html#a873a92e46ca282bdf4eaf23449b6c1fb"> 128</a></span> <a class="code hl_function" href="classxrpl_1_1Overlay.html#a873a92e46ca282bdf4eaf23449b6c1fb">broadcast</a>(protocol::TMValidation& m) = 0;</div>
|
|
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> </div>
|
|
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <span class="keyword">virtual</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/set.html">std::set<Peer::id_t></a></div>
|
|
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html#a31e6362cd1ffbe6b0b6e9d6fa196b993"> 137</a></span> <a class="code hl_function" href="classxrpl_1_1Overlay.html#a31e6362cd1ffbe6b0b6e9d6fa196b993">relay</a>(</div>
|
|
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> protocol::TMProposeSet& m,</div>
|
|
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> <a class="code hl_class" href="classxrpl_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& uid,</div>
|
|
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <a class="code hl_class" href="classxrpl_1_1PublicKey.html">PublicKey</a> <span class="keyword">const</span>& validator) = 0;</div>
|
|
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> </div>
|
|
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <span class="keyword">virtual</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/set.html">std::set<Peer::id_t></a></div>
|
|
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html#adda0208457f4697fc38a39dbeabe0493"> 149</a></span> <a class="code hl_function" href="classxrpl_1_1Overlay.html#adda0208457f4697fc38a39dbeabe0493">relay</a>(</div>
|
|
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> protocol::TMValidation& m,</div>
|
|
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <a class="code hl_class" href="classxrpl_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& uid,</div>
|
|
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <a class="code hl_class" href="classxrpl_1_1PublicKey.html">PublicKey</a> <span class="keyword">const</span>& validator) = 0;</div>
|
|
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> </div>
|
|
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
|
|
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html#acb1d0d1c0efa996b2c8ec6e08bb09ab7"> 162</a></span> <a class="code hl_function" href="classxrpl_1_1Overlay.html#acb1d0d1c0efa996b2c8ec6e08bb09ab7">relay</a>(</div>
|
|
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> <a class="code hl_class" href="classxrpl_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& hash,</div>
|
|
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional</a><<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/functional/reference_wrapper.html">std::reference_wrapper<protocol::TMTransaction></a>> m,</div>
|
|
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/set.html">std::set<Peer::id_t></a> <span class="keyword">const</span>& toSkip) = 0;</div>
|
|
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> </div>
|
|
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> <span class="keyword">template</span> <<span class="keyword">class</span> Function></div>
|
|
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> <span class="keywordtype">void</span></div>
|
|
<div class="foldopen" id="foldopen00176" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html#aef82c02d6b7c660ed6eedfc91af8f718"> 176</a></span> <span class="keywordflow">foreach</span>(Function f) <span class="keyword">const</span></div>
|
|
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> {</div>
|
|
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> <span class="keyword">const</span>& p : <a class="code hl_function" href="classxrpl_1_1Overlay.html#a7313024d68cc1dc2a4f0b5c5c07f940e">getActivePeers</a>())</div>
|
|
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> f(p);</div>
|
|
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> }</div>
|
|
</div>
|
|
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> </div>
|
|
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
|
|
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html#a60e4a7e0d804f4357137569f2b89244d"> 184</a></span> <a class="code hl_function" href="classxrpl_1_1Overlay.html#a60e4a7e0d804f4357137569f2b89244d">incJqTransOverflow</a>() = 0;</div>
|
|
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> <span class="keyword">virtual</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint64_t</a></div>
|
|
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html#a8fb0a56b50829c158e8150ba88d968f8"> 186</a></span> <a class="code hl_function" href="classxrpl_1_1Overlay.html#a8fb0a56b50829c158e8150ba88d968f8">getJqTransOverflow</a>() <span class="keyword">const</span> = 0;</div>
|
|
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> </div>
|
|
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
|
|
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html#a3ba76bb8ecd6c14c217c9b7975d5f412"> 192</a></span> <a class="code hl_function" href="classxrpl_1_1Overlay.html#a3ba76bb8ecd6c14c217c9b7975d5f412">incPeerDisconnect</a>() = 0;</div>
|
|
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> <span class="keyword">virtual</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint64_t</a></div>
|
|
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html#a0349952414f4d6f10bb88cec0a0dbd95"> 194</a></span> <a class="code hl_function" href="classxrpl_1_1Overlay.html#a0349952414f4d6f10bb88cec0a0dbd95">getPeerDisconnect</a>() <span class="keyword">const</span> = 0;</div>
|
|
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
|
|
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html#a994f9857670c362bbcea383c4aebbdd8"> 196</a></span> <a class="code hl_function" href="classxrpl_1_1Overlay.html#a994f9857670c362bbcea383c4aebbdd8">incPeerDisconnectCharges</a>() = 0;</div>
|
|
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> <span class="keyword">virtual</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint64_t</a></div>
|
|
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html#a5e382c5407699104dca1c9cf3b4d0e11"> 198</a></span> <a class="code hl_function" href="classxrpl_1_1Overlay.html#a5e382c5407699104dca1c9cf3b4d0e11">getPeerDisconnectCharges</a>() <span class="keyword">const</span> = 0;</div>
|
|
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> </div>
|
|
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> <span class="keyword">virtual</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional<std::uint32_t></a></div>
|
|
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html#a1824c8aa510ecff80b9538768d675791"> 209</a></span> <a class="code hl_function" href="classxrpl_1_1Overlay.html#a1824c8aa510ecff80b9538768d675791">networkID</a>() <span class="keyword">const</span> = 0;</div>
|
|
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> </div>
|
|
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</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="l00215" name="l00215"></a><span class="lineno"><a class="line" href="classxrpl_1_1Overlay.html#a9f0ee0a7d08ed142a4c83c056565a9a4"> 215</a></span> <a class="code hl_function" href="classxrpl_1_1Overlay.html#a9f0ee0a7d08ed142a4c83c056565a9a4">txMetrics</a>() <span class="keyword">const</span> = 0;</div>
|
|
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span>};</div>
|
|
</div>
|
|
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> </div>
|
|
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span>} <span class="comment">// namespace xrpl</span></div>
|
|
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> </div>
|
|
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span><span class="preprocessor">#endif</span></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_1IP_1_1Endpoint_html"><div class="ttname"><a href="classbeast_1_1IP_1_1Endpoint.html">beast::IP::Endpoint</a></div><div class="ttdoc">A version-independent IP address and port combination.</div><div class="ttdef"><b>Definition</b> <a href="IPEndpoint_8h_source.html#l00018">IPEndpoint.h:19</a></div></div>
|
|
<div class="ttc" id="aclassbeast_1_1PropertyStream_1_1Source_html"><div class="ttname"><a href="classbeast_1_1PropertyStream_1_1Source.html">beast::PropertyStream::Source</a></div><div class="ttdoc">Subclasses can be called to write to a stream and have children.</div><div class="ttdef"><b>Definition</b> <a href="PropertyStream_8h_source.html#l00309">PropertyStream.h:310</a></div></div>
|
|
<div class="ttc" id="aclassbeast_1_1PropertyStream_1_1Source_html_a1dd058a9799aec943c4f52aa263f6242"><div class="ttname"><a href="classbeast_1_1PropertyStream_1_1Source.html#a1dd058a9799aec943c4f52aa263f6242">beast::PropertyStream::Source::Source</a></div><div class="ttdeci">Source(std::string const &name)</div><div class="ttdef"><b>Definition</b> <a href="beast__PropertyStream_8cpp_source.html#l00160">beast_PropertyStream.cpp:160</a></div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html"><div class="ttname"><a href="classxrpl_1_1Overlay.html">xrpl::Overlay</a></div><div class="ttdoc">Manages the set of connected peers.</div><div class="ttdef"><b>Definition</b> <a href="Overlay_8h_source.html#l00029">Overlay.h:30</a></div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_a005a64b51809d3e5b429eae35ddd0819"><div class="ttname"><a href="classxrpl_1_1Overlay.html#a005a64b51809d3e5b429eae35ddd0819">xrpl::Overlay::~Overlay</a></div><div class="ttdeci">virtual ~Overlay()=default</div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_a0266edfcc43c8db6905381ed57000df2"><div class="ttname"><a href="classxrpl_1_1Overlay.html#a0266edfcc43c8db6905381ed57000df2">xrpl::Overlay::start</a></div><div class="ttdeci">virtual void start()</div><div class="ttdef"><b>Definition</b> <a href="Overlay_8h_source.html#l00062">Overlay.h:62</a></div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_a0349952414f4d6f10bb88cec0a0dbd95"><div class="ttname"><a href="classxrpl_1_1Overlay.html#a0349952414f4d6f10bb88cec0a0dbd95">xrpl::Overlay::getPeerDisconnect</a></div><div class="ttdeci">virtual std::uint64_t getPeerDisconnect() const =0</div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_a04110b5fec904ce15399c387180fe283"><div class="ttname"><a href="classxrpl_1_1Overlay.html#a04110b5fec904ce15399c387180fe283">xrpl::Overlay::Overlay</a></div><div class="ttdeci">Overlay()</div><div class="ttdef"><b>Definition</b> <a href="Overlay_8h_source.html#l00038">Overlay.h:38</a></div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_a1824c8aa510ecff80b9538768d675791"><div class="ttname"><a href="classxrpl_1_1Overlay.html#a1824c8aa510ecff80b9538768d675791">xrpl::Overlay::networkID</a></div><div class="ttdeci">virtual std::optional< std::uint32_t > networkID() const =0</div><div class="ttdoc">Returns the ID of the network this server is configured for, if any.</div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_a31e6362cd1ffbe6b0b6e9d6fa196b993"><div class="ttname"><a href="classxrpl_1_1Overlay.html#a31e6362cd1ffbe6b0b6e9d6fa196b993">xrpl::Overlay::relay</a></div><div class="ttdeci">virtual std::set< Peer::id_t > relay(protocol::TMProposeSet &m, uint256 const &uid, PublicKey const &validator)=0</div><div class="ttdoc">Relay a proposal.</div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_a37f6bc6e58920b433fe548034a1e2d8d"><div class="ttname"><a href="classxrpl_1_1Overlay.html#a37f6bc6e58920b433fe548034a1e2d8d">xrpl::Overlay::findPeerByShortID</a></div><div class="ttdeci">virtual std::shared_ptr< Peer > findPeerByShortID(Peer::id_t const &id) const =0</div><div class="ttdoc">Returns the peer with the matching short id, or null.</div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_a3ba76bb8ecd6c14c217c9b7975d5f412"><div class="ttname"><a href="classxrpl_1_1Overlay.html#a3ba76bb8ecd6c14c217c9b7975d5f412">xrpl::Overlay::incPeerDisconnect</a></div><div class="ttdeci">virtual void incPeerDisconnect()=0</div><div class="ttdoc">Increment and retrieve counters for total peer disconnects, and disconnects we initiate for excessive...</div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_a47d733c10d9f7c5a3bb5835ebe91a3de"><div class="ttname"><a href="classxrpl_1_1Overlay.html#a47d733c10d9f7c5a3bb5835ebe91a3de">xrpl::Overlay::broadcast</a></div><div class="ttdeci">virtual void broadcast(protocol::TMProposeSet &m)=0</div><div class="ttdoc">Broadcast a proposal.</div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_a483638a60598412a9029aea7b7fcde67"><div class="ttname"><a href="classxrpl_1_1Overlay.html#a483638a60598412a9029aea7b7fcde67">xrpl::Overlay::stream_type</a></div><div class="ttdeci">boost::beast::ssl_stream< socket_type > stream_type</div><div class="ttdef"><b>Definition</b> <a href="Overlay_8h_source.html#l00033">Overlay.h:33</a></div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_a5573b69c17b74b6099c2337d925b15ec"><div class="ttname"><a href="classxrpl_1_1Overlay.html#a5573b69c17b74b6099c2337d925b15ec">xrpl::Overlay::socket_type</a></div><div class="ttdeci">boost::beast::tcp_stream socket_type</div><div class="ttdef"><b>Definition</b> <a href="Overlay_8h_source.html#l00032">Overlay.h:32</a></div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_a5ac4021786aa50fe7cd3c5400bfb2327"><div class="ttname"><a href="classxrpl_1_1Overlay.html#a5ac4021786aa50fe7cd3c5400bfb2327">xrpl::Overlay::stop</a></div><div class="ttdeci">virtual void stop()</div><div class="ttdef"><b>Definition</b> <a href="Overlay_8h_source.html#l00067">Overlay.h:67</a></div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_a5c064cfe3c33fab0274c7a648c05673b"><div class="ttname"><a href="classxrpl_1_1Overlay.html#a5c064cfe3c33fab0274c7a648c05673b">xrpl::Overlay::checkTracking</a></div><div class="ttdeci">virtual void checkTracking(std::uint32_t index)=0</div><div class="ttdoc">Calls the checkTracking function on each peer.</div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_a5e382c5407699104dca1c9cf3b4d0e11"><div class="ttname"><a href="classxrpl_1_1Overlay.html#a5e382c5407699104dca1c9cf3b4d0e11">xrpl::Overlay::getPeerDisconnectCharges</a></div><div class="ttdeci">virtual std::uint64_t getPeerDisconnectCharges() const =0</div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_a60e4a7e0d804f4357137569f2b89244d"><div class="ttname"><a href="classxrpl_1_1Overlay.html#a60e4a7e0d804f4357137569f2b89244d">xrpl::Overlay::incJqTransOverflow</a></div><div class="ttdeci">virtual void incJqTransOverflow()=0</div><div class="ttdoc">Increment and retrieve counter for transaction job queue overflows.</div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_a613af4cd38baaaaa525eaea8dfbff50c"><div class="ttname"><a href="classxrpl_1_1Overlay.html#a613af4cd38baaaaa525eaea8dfbff50c">xrpl::Overlay::Promote</a></div><div class="ttdeci">Promote</div><div class="ttdef"><b>Definition</b> <a href="Overlay_8h_source.html#l00043">Overlay.h:43</a></div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_a613af4cd38baaaaa525eaea8dfbff50ca2bd9c0ed00116be1258e0cc66617d7c8"><div class="ttname"><a href="classxrpl_1_1Overlay.html#a613af4cd38baaaaa525eaea8dfbff50ca2bd9c0ed00116be1258e0cc66617d7c8">xrpl::Overlay::Promote::automatic</a></div><div class="ttdeci">@ automatic</div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_a613af4cd38baaaaa525eaea8dfbff50cac7561db7a418dd39b2201dfe110ab4a4"><div class="ttname"><a href="classxrpl_1_1Overlay.html#a613af4cd38baaaaa525eaea8dfbff50cac7561db7a418dd39b2201dfe110ab4a4">xrpl::Overlay::Promote::never</a></div><div class="ttdeci">@ never</div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_a613af4cd38baaaaa525eaea8dfbff50caf9f90eeaf400d228facde6bc48da5cfb"><div class="ttname"><a href="classxrpl_1_1Overlay.html#a613af4cd38baaaaa525eaea8dfbff50caf9f90eeaf400d228facde6bc48da5cfb">xrpl::Overlay::Promote::always</a></div><div class="ttdeci">@ always</div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_a7038191c4235f16ea9bcfd4b70fb6239"><div class="ttname"><a href="classxrpl_1_1Overlay.html#a7038191c4235f16ea9bcfd4b70fb6239">xrpl::Overlay::limit</a></div><div class="ttdeci">virtual int limit()=0</div><div class="ttdoc">Returns the maximum number of peers we are configured to allow.</div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_a7313024d68cc1dc2a4f0b5c5c07f940e"><div class="ttname"><a href="classxrpl_1_1Overlay.html#a7313024d68cc1dc2a4f0b5c5c07f940e">xrpl::Overlay::getActivePeers</a></div><div class="ttdeci">virtual PeerSequence getActivePeers() const =0</div><div class="ttdoc">Returns a sequence representing the current list of peers.</div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_a873a92e46ca282bdf4eaf23449b6c1fb"><div class="ttname"><a href="classxrpl_1_1Overlay.html#a873a92e46ca282bdf4eaf23449b6c1fb">xrpl::Overlay::broadcast</a></div><div class="ttdeci">virtual void broadcast(protocol::TMValidation &m)=0</div><div class="ttdoc">Broadcast a validation.</div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_a8848ca3a8fd6a64bbb2894c63d3cd757"><div class="ttname"><a href="classxrpl_1_1Overlay.html#a8848ca3a8fd6a64bbb2894c63d3cd757">xrpl::Overlay::onHandoff</a></div><div class="ttdeci">virtual Handoff onHandoff(std::unique_ptr< stream_type > &&bundle, http_request_type &&request, boost::asio::ip::tcp::endpoint remote_address)=0</div><div class="ttdoc">Conditionally accept an incoming HTTP request.</div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_a8fb0a56b50829c158e8150ba88d968f8"><div class="ttname"><a href="classxrpl_1_1Overlay.html#a8fb0a56b50829c158e8150ba88d968f8">xrpl::Overlay::getJqTransOverflow</a></div><div class="ttdeci">virtual std::uint64_t getJqTransOverflow() const =0</div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_a994f9857670c362bbcea383c4aebbdd8"><div class="ttname"><a href="classxrpl_1_1Overlay.html#a994f9857670c362bbcea383c4aebbdd8">xrpl::Overlay::incPeerDisconnectCharges</a></div><div class="ttdeci">virtual void incPeerDisconnectCharges()=0</div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_a9f0ee0a7d08ed142a4c83c056565a9a4"><div class="ttname"><a href="classxrpl_1_1Overlay.html#a9f0ee0a7d08ed142a4c83c056565a9a4">xrpl::Overlay::txMetrics</a></div><div class="ttdeci">virtual Json::Value txMetrics() const =0</div><div class="ttdoc">Returns tx reduce-relay metrics.</div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_aacd3785eaabf91928cc91c64ce9fb607"><div class="ttname"><a href="classxrpl_1_1Overlay.html#aacd3785eaabf91928cc91c64ce9fb607">xrpl::Overlay::json</a></div><div class="ttdeci">virtual Json::Value json()=0</div><div class="ttdoc">Return diagnostics on the status of all peers.</div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_ac446158a2e5b6050746d6c23f252925f"><div class="ttname"><a href="classxrpl_1_1Overlay.html#ac446158a2e5b6050746d6c23f252925f">xrpl::Overlay::connect</a></div><div class="ttdeci">virtual void connect(beast::IP::Endpoint const &address)=0</div><div class="ttdoc">Establish a peer connection to the specified endpoint.</div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_acb1d0d1c0efa996b2c8ec6e08bb09ab7"><div class="ttname"><a href="classxrpl_1_1Overlay.html#acb1d0d1c0efa996b2c8ec6e08bb09ab7">xrpl::Overlay::relay</a></div><div class="ttdeci">virtual void relay(uint256 const &hash, std::optional< std::reference_wrapper< protocol::TMTransaction > > m, std::set< Peer::id_t > const &toSkip)=0</div><div class="ttdoc">Relay a transaction.</div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_acdcd7d6c1d314f36fae3f1ca5ee50611"><div class="ttname"><a href="classxrpl_1_1Overlay.html#acdcd7d6c1d314f36fae3f1ca5ee50611">xrpl::Overlay::findPeerByPublicKey</a></div><div class="ttdeci">virtual std::shared_ptr< Peer > findPeerByPublicKey(PublicKey const &pubKey)=0</div><div class="ttdoc">Returns the peer with the matching public key, or null.</div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_adda0208457f4697fc38a39dbeabe0493"><div class="ttname"><a href="classxrpl_1_1Overlay.html#adda0208457f4697fc38a39dbeabe0493">xrpl::Overlay::relay</a></div><div class="ttdeci">virtual std::set< Peer::id_t > relay(protocol::TMValidation &m, uint256 const &uid, PublicKey const &validator)=0</div><div class="ttdoc">Relay a validation.</div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1Overlay_html_af83123980cb4d4bb1dc42035df986b23"><div class="ttname"><a href="classxrpl_1_1Overlay.html#af83123980cb4d4bb1dc42035df986b23">xrpl::Overlay::size</a></div><div class="ttdeci">virtual std::size_t size() const =0</div><div class="ttdoc">Returns the number of active peers.</div></div>
|
|
<div class="ttc" id="aclassxrpl_1_1PublicKey_html"><div class="ttname"><a href="classxrpl_1_1PublicKey.html">xrpl::PublicKey</a></div><div class="ttdoc">A public key.</div><div class="ttdef"><b>Definition</b> <a href="PublicKey_8h_source.html#l00042">PublicKey.h:43</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< 256 ></a></div></div>
|
|
<div class="ttc" id="afunctional_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/functional.html">functional</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="anamespacebeast_1_1IP_html_adbe597760cb20a7aa3f2ff92f7bed2cc"><div class="ttname"><a href="namespacebeast_1_1IP.html#adbe597760cb20a7aa3f2ff92f7bed2cc">beast::IP::Address</a></div><div class="ttdeci">boost::asio::ip::address Address</div><div class="ttdef"><b>Definition</b> <a href="IPAddress_8h_source.html#l00020">IPAddress.h:20</a></div></div>
|
|
<div class="ttc" id="anamespacebeast_html"><div class="ttname"><a href="namespacebeast.html">beast</a></div><div class="ttdef"><b>Definition</b> <a href="base__uint_8h_source.html#l00653">base_uint.h:653</a></div></div>
|
|
<div class="ttc" id="anamespaceboost_html"><div class="ttname"><a href="namespaceboost.html">boost</a></div><div class="ttdef"><b>Definition</b> <a href="IPAddress_8h_source.html#l00086">IPAddress.h:86</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_a3a4ac74e54fc39e5c6f7f61f93db19c1"><div class="ttname"><a href="namespacexrpl.html#a3a4ac74e54fc39e5c6f7f61f93db19c1">xrpl::http_request_type</a></div><div class="ttdeci">boost::beast::http::request< boost::beast::http::dynamic_body > http_request_type</div><div class="ttdef"><b>Definition</b> <a href="Handoff_8h_source.html#l00013">Handoff.h:14</a></div></div>
|
|
<div class="ttc" id="aoptional_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/optional.html">optional</a></div></div>
|
|
<div class="ttc" id="areference_wrapper_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/functional/reference_wrapper.html">std::reference_wrapper</a></div></div>
|
|
<div class="ttc" id="aset_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/set.html">std::set</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="astructxrpl_1_1Handoff_html"><div class="ttname"><a href="structxrpl_1_1Handoff.html">xrpl::Handoff</a></div><div class="ttdoc">Used to indicate the result of a server connection handoff.</div><div class="ttdef"><b>Definition</b> <a href="Handoff_8h_source.html#l00020">Handoff.h:21</a></div></div>
|
|
<div class="ttc" id="astructxrpl_1_1Overlay_1_1Setup_html"><div class="ttname"><a href="structxrpl_1_1Overlay_1_1Setup.html">xrpl::Overlay::Setup</a></div><div class="ttdef"><b>Definition</b> <a href="Overlay_8h_source.html#l00045">Overlay.h:46</a></div></div>
|
|
<div class="ttc" id="astructxrpl_1_1Overlay_1_1Setup_html_a49548218770820d359b28f2849440d30"><div class="ttname"><a href="structxrpl_1_1Overlay_1_1Setup.html#a49548218770820d359b28f2849440d30">xrpl::Overlay::Setup::Setup</a></div><div class="ttdeci">Setup()=default</div></div>
|
|
<div class="ttc" id="astructxrpl_1_1Overlay_1_1Setup_html_a66a8824c1c5f6b113b3f616d6b98396c"><div class="ttname"><a href="structxrpl_1_1Overlay_1_1Setup.html#a66a8824c1c5f6b113b3f616d6b98396c">xrpl::Overlay::Setup::crawlOptions</a></div><div class="ttdeci">std::uint32_t crawlOptions</div><div class="ttdef"><b>Definition</b> <a href="Overlay_8h_source.html#l00052">Overlay.h:52</a></div></div>
|
|
<div class="ttc" id="astructxrpl_1_1Overlay_1_1Setup_html_a993a084972628e12e733fd236998a778"><div class="ttname"><a href="structxrpl_1_1Overlay_1_1Setup.html#a993a084972628e12e733fd236998a778">xrpl::Overlay::Setup::networkID</a></div><div class="ttdeci">std::optional< std::uint32_t > networkID</div><div class="ttdef"><b>Definition</b> <a href="Overlay_8h_source.html#l00053">Overlay.h:53</a></div></div>
|
|
<div class="ttc" id="astructxrpl_1_1Overlay_1_1Setup_html_ab47afadc1fb5366ae6aed9b6d88828c9"><div class="ttname"><a href="structxrpl_1_1Overlay_1_1Setup.html#ab47afadc1fb5366ae6aed9b6d88828c9">xrpl::Overlay::Setup::vlEnabled</a></div><div class="ttdeci">bool vlEnabled</div><div class="ttdef"><b>Definition</b> <a href="Overlay_8h_source.html#l00054">Overlay.h:54</a></div></div>
|
|
<div class="ttc" id="astructxrpl_1_1Overlay_1_1Setup_html_ae1e3bfe36809e0323d9ff52864679883"><div class="ttname"><a href="structxrpl_1_1Overlay_1_1Setup.html#ae1e3bfe36809e0323d9ff52864679883">xrpl::Overlay::Setup::ipLimit</a></div><div class="ttdeci">int ipLimit</div><div class="ttdef"><b>Definition</b> <a href="Overlay_8h_source.html#l00051">Overlay.h:51</a></div></div>
|
|
<div class="ttc" id="astructxrpl_1_1Overlay_1_1Setup_html_ae2b3b41f4965976cb1bd4d029a580b41"><div class="ttname"><a href="structxrpl_1_1Overlay_1_1Setup.html#ae2b3b41f4965976cb1bd4d029a580b41">xrpl::Overlay::Setup::context</a></div><div class="ttdeci">std::shared_ptr< boost::asio::ssl::context > context</div><div class="ttdef"><b>Definition</b> <a href="Overlay_8h_source.html#l00049">Overlay.h:49</a></div></div>
|
|
<div class="ttc" id="astructxrpl_1_1Overlay_1_1Setup_html_af766e1bfed5aef9b7737e5166da49b24"><div class="ttname"><a href="structxrpl_1_1Overlay_1_1Setup.html#af766e1bfed5aef9b7737e5166da49b24">xrpl::Overlay::Setup::public_ip</a></div><div class="ttdeci">beast::IP::Address public_ip</div><div class="ttdef"><b>Definition</b> <a href="Overlay_8h_source.html#l00050">Overlay.h:50</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 class="ttc" id="avector_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a></div></div>
|
|
</div><!-- fragment --></div><!-- contents -->
|
|
<!-- start footer part -->
|
|
<hr class="footer"/><address class="footer"><small>
|
|
Generated by <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>
|