mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-25 05:25:55 +00:00
647 lines
38 KiB
HTML
647 lines
38 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
<meta name="generator" content="Doxygen 1.8.17"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>rippled: ripple::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 style="height: 56px;">
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">rippled
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.17 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search');
|
|
$(document).ready(function() { init_search(); });
|
|
});
|
|
/* @license-end */</script>
|
|
<div id="main-nav"></div>
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<iframe src="javascript:void(0)" frameborder="0"
|
|
name="MSearchResults" id="MSearchResults">
|
|
</iframe>
|
|
</div>
|
|
|
|
<div id="nav-path" class="navpath">
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="namespaceripple.html">ripple</a></li><li class="navelem"><a class="el" href="classripple_1_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="#pub-static-methods">Static 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>
|
|
<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="#ripple_1_1HashRouter_coll__map" alt="Collaboration graph"/></div>
|
|
<map name="ripple_1_1HashRouter_coll__map" id="ripple_1_1HashRouter_coll__map">
|
|
<area shape="rect" title="Routing table for objects identified by hash." alt="" coords="1435,373,1577,400"/>
|
|
<area shape="rect" href="http://en.cppreference.com/w/cpp/chrono/duration.html" title=" " alt="" coords="1053,285,1207,312"/>
|
|
<area shape="rect" href="classbeast_1_1detail_1_1aged__unordered__container.html" title=" " alt="" coords="991,337,1269,437"/>
|
|
<area shape="rect" href="classbeast_1_1detail_1_1aged__unordered__container_1_1Buckets.html" title=" " alt="" coords="582,60,773,145"/>
|
|
<area shape="rect" href="http://en.cppreference.com/w/cpp/container/vector.html" title=" " alt="" coords="198,5,399,91"/>
|
|
<area shape="rect" href="classbeast_1_1detail_1_1aged__unordered__container_1_1config__t.html" title=" " alt="" coords="582,224,773,309"/>
|
|
<area shape="rect" href="classbeast_1_1detail_1_1aged__unordered__container_1_1ValueHash.html" title=" " alt="" coords="203,115,394,200"/>
|
|
<area shape="rect" title=" " alt="" coords="45,144,100,171"/>
|
|
<area shape="rect" href="classbeast_1_1detail_1_1aged__unordered__container_1_1KeyValueEqual.html" title=" " alt="" coords="197,224,400,309"/>
|
|
<area shape="rect" title=" " alt="" coords="31,253,114,280"/>
|
|
<area shape="rect" href="classbeast_1_1detail_1_1empty__base__optimization.html" title=" " alt="" coords="189,333,408,389"/>
|
|
<area shape="rect" title=" " alt="" coords="5,348,140,375"/>
|
|
<area shape="rect" href="http://en.cppreference.com/w/cpp/utility/functional/reference_wrapper.html" title=" " alt="" coords="203,414,394,455"/>
|
|
<area shape="rect" href="http://en.cppreference.com/w/cpp/types/conditional.html" title=" " alt="" coords="504,334,851,551"/>
|
|
<area shape="rect" href="classbeast_1_1detail_1_1aged__unordered__container_1_1chronological__t.html" title=" " alt="" coords="574,576,781,661"/>
|
|
<area shape="rect" href="http://en.cppreference.com/w/cpp/thread/mutex.html" title="STL class." alt="" coords="1084,461,1176,488"/>
|
|
</map>
|
|
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="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>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a 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 name="pub-methods"></a>
|
|
Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:a248c7fc0f7a0148bc5a94335ae6c514c"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1HashRouter.html#a248c7fc0f7a0148bc5a94335ae6c514c">HashRouter</a> (<a class="el" href="namespaceripple.html#abfbcd3fa60b2ddb83f5b2991900fe153">Stopwatch</a> &clock, <a class="elRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a> entryHoldTimeInSeconds)</td></tr>
|
|
<tr class="separator:a248c7fc0f7a0148bc5a94335ae6c514c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a43261c385aee46083f3e89694767fa2a"><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#a43261c385aee46083f3e89694767fa2a">operator=</a> (<a class="el" href="classripple_1_1HashRouter.html">HashRouter</a> const &)=delete</td></tr>
|
|
<tr class="separator:a43261c385aee46083f3e89694767fa2a"><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 name="pub-static-methods"></a>
|
|
Static Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:a275f700dbd7057c55c7a6818cfe0fa6a"><td class="memItemLeft" align="right" valign="top">static <a class="elRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1HashRouter.html#a275f700dbd7057c55c7a6818cfe0fa6a">getDefaultHoldTime</a> ()</td></tr>
|
|
<tr class="separator:a275f700dbd7057c55c7a6818cfe0fa6a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
|
|
Private Member Functions</h2></td></tr>
|
|
<tr class="memitem: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 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: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>
|
|
<tr class="memitem:a19e9d80278950aa81c843fb216d2362a"><td class="memItemLeft" align="right" valign="top">const <a class="elRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1HashRouter.html#a19e9d80278950aa81c843fb216d2362a">holdTime_</a></td></tr>
|
|
<tr class="separator:a19e9d80278950aa81c843fb216d2362a"><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#l00053">53</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"></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#l00057">57</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="a248c7fc0f7a0148bc5a94335ae6c514c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a248c7fc0f7a0148bc5a94335ae6c514c">◆ </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="namespaceripple.html#abfbcd3fa60b2ddb83f5b2991900fe153">Stopwatch</a> & </td>
|
|
<td class="paramname"><em>clock</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>entryHoldTimeInSeconds</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#l00146">146</a> of file <a class="el" href="HashRouter_8h_source.html">HashRouter.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="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="a275f700dbd7057c55c7a6818cfe0fa6a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a275f700dbd7057c55c7a6818cfe0fa6a">◆ </a></span>getDefaultHoldTime()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static <a class="elRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a> ripple::HashRouter::getDefaultHoldTime </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="HashRouter_8h_source.html#l00139">139</a> of file <a class="el" href="HashRouter_8h_source.html">HashRouter.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a43261c385aee46083f3e89694767fa2a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a43261c385aee46083f3e89694767fa2a">◆ </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"></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#l00043">43</a> of file <a class="el" href="HashRouter_8cpp_source.html">HashRouter.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="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#l00051">51</a> of file <a class="el" href="HashRouter_8cpp_source.html">HashRouter.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="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#l00057">57</a> of file <a class="el" href="HashRouter_8cpp_source.html">HashRouter.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="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#l00067">67</a> of file <a class="el" href="HashRouter_8cpp_source.html">HashRouter.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="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#l00078">78</a> of file <a class="el" href="HashRouter_8cpp_source.html">HashRouter.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="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#l00102">102</a> of file <a class="el" href="HashRouter_8cpp_source.html">HashRouter.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="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#l00094">94</a> of file <a class="el" href="HashRouter_8cpp_source.html">HashRouter.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="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 `true` again until the hold 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 uninitialized, the item should <em>not</em> be relayed. </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="HashRouter_8cpp_source.html#l00118">118</a> of file <a class="el" href="HashRouter_8cpp_source.html">HashRouter.cpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="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#l00025">25</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"></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#l00213">213</a> of file <a class="el" href="HashRouter_8h_source.html">HashRouter.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="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#l00221">221</a> of file <a class="el" href="HashRouter_8h_source.html">HashRouter.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a19e9d80278950aa81c843fb216d2362a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a19e9d80278950aa81c843fb216d2362a">◆ </a></span>holdTime_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const <a class="elRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a> ripple::HashRouter::holdTime_</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#l00223">223</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="http://www.doxygen.org/index.html">
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
</a> 1.8.17
|
|
</small></address>
|
|
</body>
|
|
</html>
|