mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-24 13:05:53 +00:00
625 lines
37 KiB
HTML
625 lines
37 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.5"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>rippled: ripple::HashRouter Class Reference</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr id="projectrow">
|
|
<td id="projectalign">
|
|
<div id="projectname">rippled
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.9.5 -->
|
|
<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>
|
|
<!-- 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="namespaceripple.html">ripple</a></li><li class="navelem"><a class="el" href="classripple_1_1HashRouter.html">HashRouter</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#nested-classes">Classes</a> |
|
|
<a href="#pub-types">Public Types</a> |
|
|
<a href="#pub-methods">Public Member Functions</a> |
|
|
<a href="#pri-methods">Private Member Functions</a> |
|
|
<a href="#pri-attribs">Private Attributes</a> |
|
|
<a href="classripple_1_1HashRouter-members.html">List of all members</a> </div>
|
|
<div class="headertitle"><div class="title">ripple::HashRouter Class Reference</div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>Routing table for objects identified by hash.
|
|
<a href="classripple_1_1HashRouter.html#details">More...</a></p>
|
|
|
|
<p><code>#include <<a class="el" href="HashRouter_8h_source.html">HashRouter.h</a>></code></p>
|
|
<div class="dynheader">
|
|
Collaboration diagram for ripple::HashRouter:</div>
|
|
<div class="dyncontent">
|
|
<div class="center"><img src="classripple_1_1HashRouter__coll__graph.png" border="0" usemap="#aripple_1_1HashRouter_coll__map" alt="Collaboration graph"/></div>
|
|
<map name="aripple_1_1HashRouter_coll__map" id="aripple_1_1HashRouter_coll__map">
|
|
<area shape="rect" title="Routing table for objects identified by hash." alt="" coords="1435,96,1577,121"/>
|
|
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/thread/mutex.html" title=" " alt="" coords="1084,39,1176,64"/>
|
|
<area shape="rect" href="structripple_1_1HashRouter_1_1Setup.html" title="Structure used to customize HashRouter behavior." alt="" coords="1059,89,1201,129"/>
|
|
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/chrono/duration.html" title=" " alt="" coords="600,49,755,75"/>
|
|
<area shape="rect" href="classbeast_1_1detail_1_1aged__unordered__container.html" title=" " alt="" coords="991,199,1269,298"/>
|
|
<area shape="rect" href="classbeast_1_1detail_1_1aged__unordered__container_1_1chronological__t.html" title=" " alt="" coords="574,99,781,183"/>
|
|
<area shape="rect" href="classbeast_1_1detail_1_1aged__unordered__container_1_1config__t.html" title=" " alt="" coords="582,207,773,291"/>
|
|
<area shape="rect" href="classbeast_1_1detail_1_1aged__unordered__container_1_1ValueHash.html" title=" " alt="" coords="203,5,394,89"/>
|
|
<area shape="rect" title=" " alt="" coords="45,35,100,60"/>
|
|
<area shape="rect" href="classbeast_1_1detail_1_1aged__unordered__container_1_1KeyValueEqual.html" title=" " alt="" coords="197,113,400,197"/>
|
|
<area shape="rect" title=" " alt="" coords="31,143,114,168"/>
|
|
<area shape="rect" href="classbeast_1_1detail_1_1empty__base__optimization.html" title=" " alt="" coords="189,221,408,276"/>
|
|
<area shape="rect" title=" " alt="" coords="5,236,140,261"/>
|
|
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/utility/functional/reference_wrapper.html" title=" " alt="" coords="203,301,394,341"/>
|
|
<area shape="rect" href="classbeast_1_1detail_1_1aged__unordered__container_1_1Buckets.html" title=" " alt="" coords="582,315,773,399"/>
|
|
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/container/vector.html" title=" " alt="" coords="198,365,399,449"/>
|
|
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/types/conditional.html" title=" " alt="" coords="504,423,851,639"/>
|
|
</map>
|
|
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
Classes</h2></td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1HashRouter_1_1Entry.html">Entry</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">An entry in the routing table. <a href="classripple_1_1HashRouter_1_1Entry.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structripple_1_1HashRouter_1_1Setup.html">Setup</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Structure used to customize <a class="el" href="classripple_1_1HashRouter.html">HashRouter</a> behavior. <a href="structripple_1_1HashRouter_1_1Setup.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
|
|
Public Types</h2></td></tr>
|
|
<tr class="memitem:ae1bb71697fff314fed4cdffde40d581e"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1HashRouter.html#ae1bb71697fff314fed4cdffde40d581e">PeerShortID</a> = <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a></td></tr>
|
|
<tr class="separator:ae1bb71697fff314fed4cdffde40d581e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
|
|
Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:ab92a77a3cef7ecb5a22992141db1e87a"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1HashRouter.html#ab92a77a3cef7ecb5a22992141db1e87a">HashRouter</a> (<a class="el" href="structripple_1_1HashRouter_1_1Setup.html">Setup</a> const &setup, <a class="el" href="namespaceripple.html#abfbcd3fa60b2ddb83f5b2991900fe153">Stopwatch</a> &clock)</td></tr>
|
|
<tr class="separator:ab92a77a3cef7ecb5a22992141db1e87a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aae7731ba4560541aaedde24f06290551"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1HashRouter.html">HashRouter</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1HashRouter.html#aae7731ba4560541aaedde24f06290551">operator=</a> (<a class="el" href="classripple_1_1HashRouter.html">HashRouter</a> const &)=delete</td></tr>
|
|
<tr class="separator:aae7731ba4560541aaedde24f06290551"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7d75b6afc4fb2aa4b1f7e6b9f3f497e2"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1HashRouter.html#a7d75b6afc4fb2aa4b1f7e6b9f3f497e2">~HashRouter</a> ()=default</td></tr>
|
|
<tr class="separator:a7d75b6afc4fb2aa4b1f7e6b9f3f497e2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af21ce5a3efbbd0d4e7eca2685b6af1c6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1HashRouter.html#af21ce5a3efbbd0d4e7eca2685b6af1c6">addSuppression</a> (<a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const &key)</td></tr>
|
|
<tr class="separator:af21ce5a3efbbd0d4e7eca2685b6af1c6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a86c862f1b0722d061b3724ff34a53572"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1HashRouter.html#a86c862f1b0722d061b3724ff34a53572">addSuppressionPeer</a> (<a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const &key, <a class="el" href="classripple_1_1HashRouter.html#ae1bb71697fff314fed4cdffde40d581e">PeerShortID</a> peer)</td></tr>
|
|
<tr class="separator:a86c862f1b0722d061b3724ff34a53572"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa7ef4afb150d0fda3aa3e97e3d23fe2a"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>< bool, <a class="elRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional</a>< <a class="el" href="classbeast_1_1abstract__clock.html#a4e16832b0bdf9392c5138bbbde024d8e">Stopwatch::time_point</a> > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1HashRouter.html#aa7ef4afb150d0fda3aa3e97e3d23fe2a">addSuppressionPeerWithStatus</a> (<a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const &key, <a class="el" href="classripple_1_1HashRouter.html#ae1bb71697fff314fed4cdffde40d581e">PeerShortID</a> peer)</td></tr>
|
|
<tr class="memdesc:aa7ef4afb150d0fda3aa3e97e3d23fe2a"><td class="mdescLeft"> </td><td class="mdescRight">Add a suppression peer and get message's relay status. <a href="classripple_1_1HashRouter.html#aa7ef4afb150d0fda3aa3e97e3d23fe2a">More...</a><br /></td></tr>
|
|
<tr class="separator:aa7ef4afb150d0fda3aa3e97e3d23fe2a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aac29c2160c4d24ff6536c5a562b627a4"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1HashRouter.html#aac29c2160c4d24ff6536c5a562b627a4">addSuppressionPeer</a> (<a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const &key, <a class="el" href="classripple_1_1HashRouter.html#ae1bb71697fff314fed4cdffde40d581e">PeerShortID</a> peer, int &flags)</td></tr>
|
|
<tr class="separator:aac29c2160c4d24ff6536c5a562b627a4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2a2ef462b7dc7e845d7c0fa55cdb3665"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1HashRouter.html#a2a2ef462b7dc7e845d7c0fa55cdb3665">shouldProcess</a> (<a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const &key, <a class="el" href="classripple_1_1HashRouter.html#ae1bb71697fff314fed4cdffde40d581e">PeerShortID</a> peer, int &flags, <a class="elRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a> tx_interval)</td></tr>
|
|
<tr class="separator:a2a2ef462b7dc7e845d7c0fa55cdb3665"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac43309b8c10713823bdc233f39931472"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1HashRouter.html#ac43309b8c10713823bdc233f39931472">setFlags</a> (<a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const &key, int flags)</td></tr>
|
|
<tr class="memdesc:ac43309b8c10713823bdc233f39931472"><td class="mdescLeft"> </td><td class="mdescRight">Set the flags on a hash. <a href="classripple_1_1HashRouter.html#ac43309b8c10713823bdc233f39931472">More...</a><br /></td></tr>
|
|
<tr class="separator:ac43309b8c10713823bdc233f39931472"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a34019a21932ce1a1c6850da761d8bbb6"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1HashRouter.html#a34019a21932ce1a1c6850da761d8bbb6">getFlags</a> (<a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const &key)</td></tr>
|
|
<tr class="separator:a34019a21932ce1a1c6850da761d8bbb6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a29980c0f77dcc002ef322c23080f3266"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional</a>< <a class="elRef" href="http://en.cppreference.com/w/cpp/container/set.html">std::set</a>< <a class="el" href="classripple_1_1HashRouter.html#ae1bb71697fff314fed4cdffde40d581e">PeerShortID</a> > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1HashRouter.html#a29980c0f77dcc002ef322c23080f3266">shouldRelay</a> (<a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const &key)</td></tr>
|
|
<tr class="memdesc:a29980c0f77dcc002ef322c23080f3266"><td class="mdescLeft"> </td><td class="mdescRight">Determines whether the hashed item should be relayed. <a href="classripple_1_1HashRouter.html#a29980c0f77dcc002ef322c23080f3266">More...</a><br /></td></tr>
|
|
<tr class="separator:a29980c0f77dcc002ef322c23080f3266"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-methods" name="pri-methods"></a>
|
|
Private Member Functions</h2></td></tr>
|
|
<tr class="memitem:ad292b17376920b23d1ee3748f2b76d76"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>< <a class="el" href="classripple_1_1HashRouter_1_1Entry.html">Entry</a> &, bool > </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1HashRouter.html#ad292b17376920b23d1ee3748f2b76d76">emplace</a> (<a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const &)</td></tr>
|
|
<tr class="separator:ad292b17376920b23d1ee3748f2b76d76"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
|
|
Private Attributes</h2></td></tr>
|
|
<tr class="memitem:a311812f9ac5539ce4d2f500283d67c96"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/thread/mutex.html">std::mutex</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1HashRouter.html#a311812f9ac5539ce4d2f500283d67c96">mutex_</a></td></tr>
|
|
<tr class="separator:a311812f9ac5539ce4d2f500283d67c96"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8763061841ab69068e159b458bf07a43"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structripple_1_1HashRouter_1_1Setup.html">Setup</a> const </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1HashRouter.html#a8763061841ab69068e159b458bf07a43">setup_</a></td></tr>
|
|
<tr class="separator:a8763061841ab69068e159b458bf07a43"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1b438816ee148190c798135febda93eb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacebeast.html#af6181fa93ab6095c2364cc166ad6eca3">beast::aged_unordered_map</a>< <a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a>, <a class="el" href="classripple_1_1HashRouter_1_1Entry.html">Entry</a>, <a class="el" href="classbeast_1_1abstract__clock.html#ab2db1e4273a58b6431b330e3c5ebd07f">Stopwatch::clock_type</a>, <a class="el" href="classripple_1_1hardened__hash.html">hardened_hash</a>< <a class="el" href="namespaceripple.html#ac9b07f23404494644c7cfe94facbdd4b">strong_hash</a> > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1HashRouter.html#a1b438816ee148190c798135febda93eb">suppressionMap_</a></td></tr>
|
|
<tr class="separator:a1b438816ee148190c798135febda93eb"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p >Routing table for objects identified by hash. </p>
|
|
<p >This table keeps track of which hashes have been received by which peers. It is used to manage the routing and broadcasting of messages in the peer to peer overlay. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="HashRouter_8h_source.html#l00056">56</a> of file <a class="el" href="HashRouter_8h_source.html">HashRouter.h</a>.</p>
|
|
</div><h2 class="groupheader">Member Typedef Documentation</h2>
|
|
<a id="ae1bb71697fff314fed4cdffde40d581e" name="ae1bb71697fff314fed4cdffde40d581e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae1bb71697fff314fed4cdffde40d581e">◆ </a></span>PeerShortID</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">using <a class="el" href="classripple_1_1HashRouter.html#ae1bb71697fff314fed4cdffde40d581e">ripple::HashRouter::PeerShortID</a> = <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="HashRouter_8h_source.html#l00060">60</a> of file <a class="el" href="HashRouter_8h_source.html">HashRouter.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
<a id="ab92a77a3cef7ecb5a22992141db1e87a" name="ab92a77a3cef7ecb5a22992141db1e87a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab92a77a3cef7ecb5a22992141db1e87a">◆ </a></span>HashRouter()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ripple::HashRouter::HashRouter </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structripple_1_1HashRouter_1_1Setup.html">Setup</a> const & </td>
|
|
<td class="paramname"><em>setup</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="namespaceripple.html#abfbcd3fa60b2ddb83f5b2991900fe153">Stopwatch</a> & </td>
|
|
<td class="paramname"><em>clock</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="HashRouter_8h_source.html#l00165">165</a> of file <a class="el" href="HashRouter_8h_source.html">HashRouter.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7d75b6afc4fb2aa4b1f7e6b9f3f497e2" name="a7d75b6afc4fb2aa4b1f7e6b9f3f497e2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7d75b6afc4fb2aa4b1f7e6b9f3f497e2">◆ </a></span>~HashRouter()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual ripple::HashRouter::~HashRouter </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">default</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
<a id="aae7731ba4560541aaedde24f06290551" name="aae7731ba4560541aaedde24f06290551"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aae7731ba4560541aaedde24f06290551">◆ </a></span>operator=()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classripple_1_1HashRouter.html">HashRouter</a> & ripple::HashRouter::operator= </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classripple_1_1HashRouter.html">HashRouter</a> const & </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">delete</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="af21ce5a3efbbd0d4e7eca2685b6af1c6" name="af21ce5a3efbbd0d4e7eca2685b6af1c6"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af21ce5a3efbbd0d4e7eca2685b6af1c6">◆ </a></span>addSuppression()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ripple::HashRouter::addSuppression </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const & </td>
|
|
<td class="paramname"><em>key</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="HashRouter_8cpp_source.html#l00044">44</a> of file <a class="el" href="HashRouter_8cpp_source.html">HashRouter.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a86c862f1b0722d061b3724ff34a53572" name="a86c862f1b0722d061b3724ff34a53572"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a86c862f1b0722d061b3724ff34a53572">◆ </a></span>addSuppressionPeer() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool ripple::HashRouter::addSuppressionPeer </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const & </td>
|
|
<td class="paramname"><em>key</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="classripple_1_1HashRouter.html#ae1bb71697fff314fed4cdffde40d581e">PeerShortID</a> </td>
|
|
<td class="paramname"><em>peer</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="HashRouter_8cpp_source.html#l00052">52</a> of file <a class="el" href="HashRouter_8cpp_source.html">HashRouter.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa7ef4afb150d0fda3aa3e97e3d23fe2a" name="aa7ef4afb150d0fda3aa3e97e3d23fe2a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa7ef4afb150d0fda3aa3e97e3d23fe2a">◆ </a></span>addSuppressionPeerWithStatus()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>< bool, <a class="elRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional</a>< <a class="el" href="classbeast_1_1abstract__clock.html#a4e16832b0bdf9392c5138bbbde024d8e">Stopwatch::time_point</a> > > ripple::HashRouter::addSuppressionPeerWithStatus </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const & </td>
|
|
<td class="paramname"><em>key</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="classripple_1_1HashRouter.html#ae1bb71697fff314fed4cdffde40d581e">PeerShortID</a> </td>
|
|
<td class="paramname"><em>peer</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Add a suppression peer and get message's relay status. </p>
|
|
<p >Return pair: element 1: true if the peer is added. element 2: optional is seated to the relay time point or is unseated if has not relayed yet. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="HashRouter_8cpp_source.html#l00058">58</a> of file <a class="el" href="HashRouter_8cpp_source.html">HashRouter.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aac29c2160c4d24ff6536c5a562b627a4" name="aac29c2160c4d24ff6536c5a562b627a4"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aac29c2160c4d24ff6536c5a562b627a4">◆ </a></span>addSuppressionPeer() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool ripple::HashRouter::addSuppressionPeer </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const & </td>
|
|
<td class="paramname"><em>key</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="classripple_1_1HashRouter.html#ae1bb71697fff314fed4cdffde40d581e">PeerShortID</a> </td>
|
|
<td class="paramname"><em>peer</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int & </td>
|
|
<td class="paramname"><em>flags</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="HashRouter_8cpp_source.html#l00068">68</a> of file <a class="el" href="HashRouter_8cpp_source.html">HashRouter.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a2a2ef462b7dc7e845d7c0fa55cdb3665" name="a2a2ef462b7dc7e845d7c0fa55cdb3665"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2a2ef462b7dc7e845d7c0fa55cdb3665">◆ </a></span>shouldProcess()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool ripple::HashRouter::shouldProcess </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const & </td>
|
|
<td class="paramname"><em>key</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="classripple_1_1HashRouter.html#ae1bb71697fff314fed4cdffde40d581e">PeerShortID</a> </td>
|
|
<td class="paramname"><em>peer</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int & </td>
|
|
<td class="paramname"><em>flags</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a> </td>
|
|
<td class="paramname"><em>tx_interval</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="HashRouter_8cpp_source.html#l00079">79</a> of file <a class="el" href="HashRouter_8cpp_source.html">HashRouter.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac43309b8c10713823bdc233f39931472" name="ac43309b8c10713823bdc233f39931472"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac43309b8c10713823bdc233f39931472">◆ </a></span>setFlags()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool ripple::HashRouter::setFlags </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const & </td>
|
|
<td class="paramname"><em>key</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>flags</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Set the flags on a hash. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if the flags were changed. <code>false</code> if unchanged. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="HashRouter_8cpp_source.html#l00103">103</a> of file <a class="el" href="HashRouter_8cpp_source.html">HashRouter.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a34019a21932ce1a1c6850da761d8bbb6" name="a34019a21932ce1a1c6850da761d8bbb6"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a34019a21932ce1a1c6850da761d8bbb6">◆ </a></span>getFlags()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int ripple::HashRouter::getFlags </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const & </td>
|
|
<td class="paramname"><em>key</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="HashRouter_8cpp_source.html#l00095">95</a> of file <a class="el" href="HashRouter_8cpp_source.html">HashRouter.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a29980c0f77dcc002ef322c23080f3266" name="a29980c0f77dcc002ef322c23080f3266"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a29980c0f77dcc002ef322c23080f3266">◆ </a></span>shouldRelay()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">auto ripple::HashRouter::shouldRelay </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const & </td>
|
|
<td class="paramname"><em>key</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Determines whether the hashed item should be relayed. </p>
|
|
<p >Effects: </p><pre class="fragment">If the item should be relayed, this function will not
|
|
return a seated optional again until the relay time has expired.
|
|
The internal set of peers will also be reset.
|
|
</pre> <dl class="section return"><dt>Returns</dt><dd>A <code><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional</a></code> set of peers which do not need to be relayed to. If the result is unseated, the item should <em>not</em> be relayed. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="HashRouter_8cpp_source.html#l00119">119</a> of file <a class="el" href="HashRouter_8cpp_source.html">HashRouter.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad292b17376920b23d1ee3748f2b76d76" name="ad292b17376920b23d1ee3748f2b76d76"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad292b17376920b23d1ee3748f2b76d76">◆ </a></span>emplace()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">auto ripple::HashRouter::emplace </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const & </td>
|
|
<td class="paramname"><em>key</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="HashRouter_8cpp_source.html#l00026">26</a> of file <a class="el" href="HashRouter_8cpp_source.html">HashRouter.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Data Documentation</h2>
|
|
<a id="a311812f9ac5539ce4d2f500283d67c96" name="a311812f9ac5539ce4d2f500283d67c96"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a311812f9ac5539ce4d2f500283d67c96">◆ </a></span>mutex_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/thread/mutex.html">std::mutex</a> ripple::HashRouter::mutex_</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">mutable</span><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="HashRouter_8h_source.html#l00232">232</a> of file <a class="el" href="HashRouter_8h_source.html">HashRouter.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a8763061841ab69068e159b458bf07a43" name="a8763061841ab69068e159b458bf07a43"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8763061841ab69068e159b458bf07a43">◆ </a></span>setup_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="structripple_1_1HashRouter_1_1Setup.html">Setup</a> const ripple::HashRouter::setup_</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="HashRouter_8h_source.html#l00235">235</a> of file <a class="el" href="HashRouter_8h_source.html">HashRouter.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a1b438816ee148190c798135febda93eb" name="a1b438816ee148190c798135febda93eb"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a1b438816ee148190c798135febda93eb">◆ </a></span>suppressionMap_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="namespacebeast.html#af6181fa93ab6095c2364cc166ad6eca3">beast::aged_unordered_map</a>< <a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a>, <a class="el" href="classripple_1_1HashRouter_1_1Entry.html">Entry</a>, <a class="el" href="classbeast_1_1abstract__clock.html#ab2db1e4273a58b6431b330e3c5ebd07f">Stopwatch::clock_type</a>, <a class="el" href="classripple_1_1hardened__hash.html">hardened_hash</a><<a class="el" href="namespaceripple.html#ac9b07f23404494644c7cfe94facbdd4b">strong_hash</a>> > ripple::HashRouter::suppressionMap_</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="HashRouter_8h_source.html#l00243">243</a> of file <a class="el" href="HashRouter_8h_source.html">HashRouter.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
</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.5
|
|
</small></address>
|
|
</body>
|
|
</html>
|