mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-30 16:05:51 +00:00
543 lines
35 KiB
HTML
543 lines
35 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: ripple::PeerFinder::Livecache< Allocator > Class Template 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.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>
|
|
<!-- 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="namespaceripple_1_1PeerFinder.html">PeerFinder</a></li><li class="navelem"><a class="el" href="classripple_1_1PeerFinder_1_1Livecache.html">Livecache</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-attribs">Public Attributes</a> |
|
|
<a href="#pro-types">Protected Types</a> |
|
|
<a href="#pro-static-methods">Static Protected Member Functions</a> |
|
|
<a href="#pri-types">Private Types</a> |
|
|
<a href="#pri-attribs">Private Attributes</a> |
|
|
<a href="classripple_1_1PeerFinder_1_1Livecache-members.html">List of all members</a> </div>
|
|
<div class="headertitle"><div class="title">ripple::PeerFinder::Livecache< Allocator > Class Template Reference</div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>The <a class="el" href="classripple_1_1PeerFinder_1_1Livecache.html" title="The Livecache holds the short-lived relayed Endpoint messages.">Livecache</a> holds the short-lived relayed <a class="el" href="structripple_1_1PeerFinder_1_1Endpoint.html" title="Describes a connectible peer address along with some metadata.">Endpoint</a> messages.
|
|
<a href="classripple_1_1PeerFinder_1_1Livecache.html#details">More...</a></p>
|
|
|
|
<p><code>#include <<a class="el" href="Livecache_8h_source.html">Livecache.h</a>></code></p>
|
|
<div class="dynheader">
|
|
Inheritance diagram for ripple::PeerFinder::Livecache< Allocator >:</div>
|
|
<div class="dyncontent">
|
|
<div class="center"><img src="classripple_1_1PeerFinder_1_1Livecache__inherit__graph.png" border="0" usemap="#aripple_1_1PeerFinder_1_1Livecache_3_01Allocator_01_4_inherit__map" alt="Inheritance graph"/></div>
|
|
<map name="aripple_1_1PeerFinder_1_1Livecache_3_01Allocator_01_4_inherit__map" id="aripple_1_1PeerFinder_1_1Livecache_3_01Allocator_01_4_inherit__map">
|
|
<area shape="rect" title="The Livecache holds the short-lived relayed Endpoint messages." alt="" coords="5,93,188,133"/>
|
|
<area shape="rect" href="classripple_1_1PeerFinder_1_1detail_1_1LivecacheBase.html" title=" " alt="" coords="11,5,183,45"/>
|
|
<area shape="poly" title=" " alt="" coords="99,59,99,93,94,93,94,59"/>
|
|
</map>
|
|
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
|
|
<div class="dynheader">
|
|
Collaboration diagram for ripple::PeerFinder::Livecache< Allocator >:</div>
|
|
<div class="dyncontent">
|
|
<div class="center"><img src="classripple_1_1PeerFinder_1_1Livecache__coll__graph.png" border="0" usemap="#aripple_1_1PeerFinder_1_1Livecache_3_01Allocator_01_4_coll__map" alt="Collaboration graph"/></div>
|
|
<map name="aripple_1_1PeerFinder_1_1Livecache_3_01Allocator_01_4_coll__map" id="aripple_1_1PeerFinder_1_1Livecache_3_01Allocator_01_4_coll__map">
|
|
<area shape="rect" title="The Livecache holds the short-lived relayed Endpoint messages." alt="" coords="1231,126,1413,166"/>
|
|
<area shape="rect" href="classripple_1_1PeerFinder_1_1detail_1_1LivecacheBase.html" title=" " alt="" coords="935,34,1107,74"/>
|
|
<area shape="poly" title=" " alt="" coords="1112,75,1207,103,1267,123,1265,129,1206,109,1110,80"/>
|
|
<area shape="rect" href="classbeast_1_1Journal.html" title="A generic endpoint for log messages." alt="" coords="966,99,1077,124"/>
|
|
<area shape="poly" title=" " alt="" coords="1091,117,1231,133,1230,138,1090,122"/>
|
|
<area shape="rect" href="classbeast_1_1Journal_1_1Sink.html" title="Abstraction for the underlying message destination." alt="" coords="569,5,715,31"/>
|
|
<area shape="poly" title=" " alt="" coords="729,28,790,39,849,55,906,74,930,83,972,96,970,101,928,89,904,79,847,60,789,45,728,33"/>
|
|
<area shape="rect" href="classbeast_1_1detail_1_1aged__ordered__container.html" title=" " alt="" coords="929,148,1113,261"/>
|
|
<area shape="poly" title=" " alt="" coords="1126,182,1230,161,1231,166,1127,187"/>
|
|
<area shape="rect" href="classbeast_1_1detail_1_1aged__ordered__container_1_1chronological__t.html" title=" " alt="" coords="537,55,747,139"/>
|
|
<area shape="poly" title=" " alt="" coords="761,128,930,176,928,181,760,133"/>
|
|
<area shape="rect" href="classbeast_1_1detail_1_1aged__ordered__container_1_1config__t.html" title=" " alt="" coords="537,163,747,247"/>
|
|
<area shape="poly" title=" " alt="" coords="761,202,929,202,929,207,761,207"/>
|
|
<area shape="rect" href="classbeast_1_1detail_1_1aged__ordered__container_1_1KeyValueCompare.html" title=" " alt="" coords="193,69,404,153"/>
|
|
<area shape="poly" title=" " alt="" coords="418,141,537,174,536,179,416,146"/>
|
|
<area shape="rect" title=" " alt="" coords="32,99,113,124"/>
|
|
<area shape="poly" title=" " alt="" coords="127,109,193,109,193,114,127,114"/>
|
|
<area shape="rect" href="classbeast_1_1detail_1_1empty__base__optimization.html" title=" " alt="" coords="189,177,408,232"/>
|
|
<area shape="poly" title=" " alt="" coords="422,202,536,202,536,207,422,207"/>
|
|
<area shape="rect" title=" " alt="" coords="5,192,140,217"/>
|
|
<area shape="poly" title=" " alt="" coords="154,202,189,202,189,207,154,207"/>
|
|
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/utility/functional/reference_wrapper.html" title=" " alt="" coords="203,257,394,297"/>
|
|
<area shape="poly" title=" " alt="" coords="407,251,536,224,537,229,408,257"/>
|
|
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/types/conditional.html" title=" " alt="" coords="495,271,789,429"/>
|
|
<area shape="poly" title=" " alt="" coords="801,286,928,237,930,242,803,291"/>
|
|
<area shape="rect" href="classripple_1_1PeerFinder_1_1Livecache_1_1hops__t.html" title=" " alt="" coords="937,445,1105,500"/>
|
|
<area shape="poly" title=" " alt="" coords="1055,433,1300,165,1304,168,1059,437"/>
|
|
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/container/array.html" title=" " alt="" coords="547,453,737,493"/>
|
|
<area shape="poly" title=" " alt="" coords="751,470,937,470,937,475,751,475"/>
|
|
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/container/array.html" title=" " alt="" coords="553,517,731,557"/>
|
|
<area shape="poly" title=" " alt="" coords="745,517,905,490,936,485,937,490,906,495,746,522"/>
|
|
</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_1PeerFinder_1_1Livecache_1_1hops__t.html">hops_t</a></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:a9a346b9ddb592deb215b944c2ef244ce" id="r_a9a346b9ddb592deb215b944c2ef244ce"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1PeerFinder_1_1Livecache.html#a9a346b9ddb592deb215b944c2ef244ce">allocator_type</a> = Allocator</td></tr>
|
|
<tr class="separator:a9a346b9ddb592deb215b944c2ef244ce"><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:a2c9e7113c34e6e958cad32220ae711b1" id="r_a2c9e7113c34e6e958cad32220ae711b1"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1PeerFinder_1_1Livecache.html#a2c9e7113c34e6e958cad32220ae711b1">Livecache</a> (<a class="el" href="namespaceripple_1_1PeerFinder.html#af4627ce974986eba7f69f7c89666d3fa">clock_type</a> &clock, <a class="el" href="classbeast_1_1Journal.html">beast::Journal</a> journal, Allocator alloc=Allocator())</td></tr>
|
|
<tr class="memdesc:a2c9e7113c34e6e958cad32220ae711b1"><td class="mdescLeft"> </td><td class="mdescRight">Create the cache. <br /></td></tr>
|
|
<tr class="separator:a2c9e7113c34e6e958cad32220ae711b1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae7ec1f8853bc9500064dda7c8b66bdd9" id="r_ae7ec1f8853bc9500064dda7c8b66bdd9"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1PeerFinder_1_1Livecache.html#ae7ec1f8853bc9500064dda7c8b66bdd9">empty</a> () const</td></tr>
|
|
<tr class="memdesc:ae7ec1f8853bc9500064dda7c8b66bdd9"><td class="mdescLeft"> </td><td class="mdescRight">Returns <code>true</code> if the cache is empty. <br /></td></tr>
|
|
<tr class="separator:ae7ec1f8853bc9500064dda7c8b66bdd9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a07ee4dd2012653fe30803a148d6801f1" id="r_a07ee4dd2012653fe30803a148d6801f1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbeast_1_1detail_1_1aged__ordered__container.html#ac7a6ca21f1e36788c70f4248a1b424a3">cache_type::size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1PeerFinder_1_1Livecache.html#a07ee4dd2012653fe30803a148d6801f1">size</a> () const</td></tr>
|
|
<tr class="memdesc:a07ee4dd2012653fe30803a148d6801f1"><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of entries in the cache. <br /></td></tr>
|
|
<tr class="separator:a07ee4dd2012653fe30803a148d6801f1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a29aef983f39d1a4c8de8ca9a99fb92db" id="r_a29aef983f39d1a4c8de8ca9a99fb92db"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1PeerFinder_1_1Livecache.html#a29aef983f39d1a4c8de8ca9a99fb92db">expire</a> ()</td></tr>
|
|
<tr class="memdesc:a29aef983f39d1a4c8de8ca9a99fb92db"><td class="mdescLeft"> </td><td class="mdescRight">Erase entries whose time has expired. <br /></td></tr>
|
|
<tr class="separator:a29aef983f39d1a4c8de8ca9a99fb92db"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a648ba7ba650efda15e8726dce186da6b" id="r_a648ba7ba650efda15e8726dce186da6b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1PeerFinder_1_1Livecache.html#a648ba7ba650efda15e8726dce186da6b">insert</a> (<a class="el" href="structripple_1_1PeerFinder_1_1Endpoint.html">Endpoint</a> const &ep)</td></tr>
|
|
<tr class="memdesc:a648ba7ba650efda15e8726dce186da6b"><td class="mdescLeft"> </td><td class="mdescRight">Creates or updates an existing Element based on a new message. <br /></td></tr>
|
|
<tr class="separator:a648ba7ba650efda15e8726dce186da6b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a97b2ff6849cd963153b0603e46c2aac6" id="r_a97b2ff6849cd963153b0603e46c2aac6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1PeerFinder_1_1Livecache.html#a97b2ff6849cd963153b0603e46c2aac6">onWrite</a> (<a class="el" href="classbeast_1_1PropertyStream_1_1Map.html">beast::PropertyStream::Map</a> &map)</td></tr>
|
|
<tr class="memdesc:a97b2ff6849cd963153b0603e46c2aac6"><td class="mdescLeft"> </td><td class="mdescRight">Output statistics. <br /></td></tr>
|
|
<tr class="separator:a97b2ff6849cd963153b0603e46c2aac6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
|
|
Public Attributes</h2></td></tr>
|
|
<tr class="memitem:ae238ba5851c3827c92b4f632f976278f" id="r_ae238ba5851c3827c92b4f632f976278f"><td class="memItemLeft" align="right" valign="top">class <a class="el" href="classripple_1_1PeerFinder_1_1Livecache_1_1hops__t.html">ripple::PeerFinder::Livecache::hops_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1PeerFinder_1_1Livecache.html#ae238ba5851c3827c92b4f632f976278f">hops</a></td></tr>
|
|
<tr class="separator:ae238ba5851c3827c92b4f632f976278f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-types" name="pro-types"></a>
|
|
Protected Types</h2></td></tr>
|
|
<tr class="memitem:a6d6ee62b7f23c6acc2231e4d7165b8b5" id="r_a6d6ee62b7f23c6acc2231e4d7165b8b5"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1PeerFinder_1_1detail_1_1LivecacheBase.html#a6d6ee62b7f23c6acc2231e4d7165b8b5">list_type</a> = boost::intrusive::make_list< <a class="el" href="structripple_1_1PeerFinder_1_1detail_1_1LivecacheBase_1_1Element.html">Element</a>, boost::intrusive::constant_time_size< false > >::type</td></tr>
|
|
<tr class="separator:a6d6ee62b7f23c6acc2231e4d7165b8b5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-static-methods" name="pro-static-methods"></a>
|
|
Static Protected Member Functions</h2></td></tr>
|
|
<tr class="memitem:a2e078ae363410137a0609408de608833" id="r_a2e078ae363410137a0609408de608833"><td class="memTemplParams" colspan="2">template<bool IsConst> </td></tr>
|
|
<tr class="memitem:a2e078ae363410137a0609408de608833"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="classripple_1_1PeerFinder_1_1detail_1_1LivecacheBase_1_1Hop.html">Hop</a>< IsConst > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classripple_1_1PeerFinder_1_1detail_1_1LivecacheBase.html#a2e078ae363410137a0609408de608833">make_hop</a> (typename <a class="el" href="structbeast_1_1maybe__const.html">beast::maybe_const</a>< IsConst, <a class="el" href="classripple_1_1PeerFinder_1_1detail_1_1LivecacheBase.html#a6d6ee62b7f23c6acc2231e4d7165b8b5">list_type</a> >::type &list)</td></tr>
|
|
<tr class="separator:a2e078ae363410137a0609408de608833"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-types" name="pri-types"></a>
|
|
Private Types</h2></td></tr>
|
|
<tr class="memitem:acf01bef9529563e945193df8910e6688" id="r_acf01bef9529563e945193df8910e6688"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1PeerFinder_1_1Livecache.html#acf01bef9529563e945193df8910e6688">cache_type</a> = <a class="el" href="namespacebeast.html#ab6230cd766ccadde81d0f94fe032be10">beast::aged_map</a>< <a class="el" href="classbeast_1_1IP_1_1Endpoint.html">beast::IP::Endpoint</a>, <a class="el" href="structripple_1_1PeerFinder_1_1detail_1_1LivecacheBase_1_1Element.html">Element</a>, <a class="elRef" href="http://en.cppreference.com/w/cpp/chrono/steady_clock.html">std::chrono::steady_clock</a>, <a class="elRef" href="http://en.cppreference.com/w/cpp/utility/functional/less.html">std::less</a>< <a class="el" href="classbeast_1_1IP_1_1Endpoint.html">beast::IP::Endpoint</a> >, Allocator ></td></tr>
|
|
<tr class="separator:acf01bef9529563e945193df8910e6688"><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:a39bf6bf1e149e557f81bbe8a52ade2da" id="r_a39bf6bf1e149e557f81bbe8a52ade2da"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbeast_1_1Journal.html">beast::Journal</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1PeerFinder_1_1Livecache.html#a39bf6bf1e149e557f81bbe8a52ade2da">m_journal</a></td></tr>
|
|
<tr class="separator:a39bf6bf1e149e557f81bbe8a52ade2da"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aaf80740eae90745589e45178fbc241b9" id="r_aaf80740eae90745589e45178fbc241b9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1PeerFinder_1_1Livecache.html#acf01bef9529563e945193df8910e6688">cache_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1PeerFinder_1_1Livecache.html#aaf80740eae90745589e45178fbc241b9">m_cache</a></td></tr>
|
|
<tr class="separator:aaf80740eae90745589e45178fbc241b9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><div class="compoundTemplParams">template<class Allocator = std::allocator<char>><br />
|
|
class ripple::PeerFinder::Livecache< Allocator ></div><p>The <a class="el" href="classripple_1_1PeerFinder_1_1Livecache.html" title="The Livecache holds the short-lived relayed Endpoint messages.">Livecache</a> holds the short-lived relayed <a class="el" href="structripple_1_1PeerFinder_1_1Endpoint.html" title="Describes a connectible peer address along with some metadata.">Endpoint</a> messages. </p>
|
|
<p>Since peers only advertise themselves when they have open slots, we want these messags to expire rather quickly after the peer becomes full.</p>
|
|
<p>Addresses added to the cache are not connection-tested to see if they are connectible (with one small exception regarding neighbors). Therefore, these addresses are not suitable for persisting across launches or for bootstrapping, because they do not have verifiable and locally observed uptime and connectibility information. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="Livecache_8h_source.html#l00178">178</a> of file <a class="el" href="Livecache_8h_source.html">Livecache.h</a>.</p>
|
|
</div><h2 class="groupheader">Member Typedef Documentation</h2>
|
|
<a id="acf01bef9529563e945193df8910e6688" name="acf01bef9529563e945193df8910e6688"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#acf01bef9529563e945193df8910e6688">◆ </a></span>cache_type</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class Allocator = std::allocator<char>> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">using <a class="el" href="classripple_1_1PeerFinder_1_1Livecache.html">ripple::PeerFinder::Livecache</a>< Allocator >::cache_type = <a class="el" href="namespacebeast.html#ab6230cd766ccadde81d0f94fe032be10">beast::aged_map</a>< <a class="el" href="classbeast_1_1IP_1_1Endpoint.html">beast::IP::Endpoint</a>, <a class="el" href="structripple_1_1PeerFinder_1_1detail_1_1LivecacheBase_1_1Element.html">Element</a>, <a class="elRef" href="http://en.cppreference.com/w/cpp/chrono/steady_clock.html">std::chrono::steady_clock</a>, <a class="elRef" href="http://en.cppreference.com/w/cpp/utility/functional/less.html">std::less</a><<a class="el" href="classbeast_1_1IP_1_1Endpoint.html">beast::IP::Endpoint</a>>, Allocator></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="Livecache_8h_source.html#l00181">181</a> of file <a class="el" href="Livecache_8h_source.html">Livecache.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a9a346b9ddb592deb215b944c2ef244ce" name="a9a346b9ddb592deb215b944c2ef244ce"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9a346b9ddb592deb215b944c2ef244ce">◆ </a></span>allocator_type</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class Allocator = std::allocator<char>> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">using <a class="el" href="classripple_1_1PeerFinder_1_1Livecache.html">ripple::PeerFinder::Livecache</a>< Allocator >::allocator_type = Allocator</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="Livecache_8h_source.html#l00192">192</a> of file <a class="el" href="Livecache_8h_source.html">Livecache.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a6d6ee62b7f23c6acc2231e4d7165b8b5" name="a6d6ee62b7f23c6acc2231e4d7165b8b5"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6d6ee62b7f23c6acc2231e4d7165b8b5">◆ </a></span>list_type</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">using <a class="el" href="classripple_1_1PeerFinder_1_1detail_1_1LivecacheBase.html#a6d6ee62b7f23c6acc2231e4d7165b8b5">ripple::PeerFinder::detail::LivecacheBase::list_type</a> = boost::intrusive:: make_list<<a class="el" href="structripple_1_1PeerFinder_1_1detail_1_1LivecacheBase_1_1Element.html">Element</a>, boost::intrusive::constant_time_size<false> >::type</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="Livecache_8h_source.html#l00041">41</a> of file <a class="el" href="Livecache_8h_source.html">Livecache.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
<a id="a2c9e7113c34e6e958cad32220ae711b1" name="a2c9e7113c34e6e958cad32220ae711b1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2c9e7113c34e6e958cad32220ae711b1">◆ </a></span>Livecache()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class Allocator > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classripple_1_1PeerFinder_1_1Livecache.html">ripple::PeerFinder::Livecache</a>< Allocator >::Livecache </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="namespaceripple_1_1PeerFinder.html#af4627ce974986eba7f69f7c89666d3fa">clock_type</a> & </td>
|
|
<td class="paramname"><em>clock</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="classbeast_1_1Journal.html">beast::Journal</a> </td>
|
|
<td class="paramname"><em>journal</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">Allocator </td>
|
|
<td class="paramname"><em>alloc</em> = <code>Allocator()</code> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Create the cache. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="Livecache_8h_source.html#l00378">378</a> of file <a class="el" href="Livecache_8h_source.html">Livecache.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
<a id="ae7ec1f8853bc9500064dda7c8b66bdd9" name="ae7ec1f8853bc9500064dda7c8b66bdd9"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae7ec1f8853bc9500064dda7c8b66bdd9">◆ </a></span>empty()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class Allocator = std::allocator<char>> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool <a class="el" href="classripple_1_1PeerFinder_1_1Livecache.html">ripple::PeerFinder::Livecache</a>< Allocator >::empty </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns <code>true</code> if the cache is empty. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="Livecache_8h_source.html#l00350">350</a> of file <a class="el" href="Livecache_8h_source.html">Livecache.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a07ee4dd2012653fe30803a148d6801f1" name="a07ee4dd2012653fe30803a148d6801f1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a07ee4dd2012653fe30803a148d6801f1">◆ </a></span>size()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class Allocator = std::allocator<char>> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classbeast_1_1detail_1_1aged__ordered__container.html#ac7a6ca21f1e36788c70f4248a1b424a3">cache_type::size_type</a> <a class="el" href="classripple_1_1PeerFinder_1_1Livecache.html">ripple::PeerFinder::Livecache</a>< Allocator >::size </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the number of entries in the cache. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="Livecache_8h_source.html#l00357">357</a> of file <a class="el" href="Livecache_8h_source.html">Livecache.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a29aef983f39d1a4c8de8ca9a99fb92db" name="a29aef983f39d1a4c8de8ca9a99fb92db"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a29aef983f39d1a4c8de8ca9a99fb92db">◆ </a></span>expire()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class Allocator > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classripple_1_1PeerFinder_1_1Livecache.html">ripple::PeerFinder::Livecache</a>< Allocator >::expire </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Erase entries whose time has expired. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="Livecache_8h_source.html#l00388">388</a> of file <a class="el" href="Livecache_8h_source.html">Livecache.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a648ba7ba650efda15e8726dce186da6b" name="a648ba7ba650efda15e8726dce186da6b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a648ba7ba650efda15e8726dce186da6b">◆ </a></span>insert()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class Allocator > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classripple_1_1PeerFinder_1_1Livecache.html">ripple::PeerFinder::Livecache</a>< Allocator >::insert </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structripple_1_1PeerFinder_1_1Endpoint.html">Endpoint</a> const & </td>
|
|
<td class="paramname"><em>ep</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Creates or updates an existing Element based on a new message. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="Livecache_8h_source.html#l00410">410</a> of file <a class="el" href="Livecache_8h_source.html">Livecache.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a97b2ff6849cd963153b0603e46c2aac6" name="a97b2ff6849cd963153b0603e46c2aac6"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a97b2ff6849cd963153b0603e46c2aac6">◆ </a></span>onWrite()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class Allocator > </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void <a class="el" href="classripple_1_1PeerFinder_1_1Livecache.html">ripple::PeerFinder::Livecache</a>< Allocator >::onWrite </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classbeast_1_1PropertyStream_1_1Map.html">beast::PropertyStream::Map</a> & </td>
|
|
<td class="paramname"><em>map</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Output statistics. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="Livecache_8h_source.html#l00457">457</a> of file <a class="el" href="Livecache_8h_source.html">Livecache.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a2e078ae363410137a0609408de608833" name="a2e078ae363410137a0609408de608833"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2e078ae363410137a0609408de608833">◆ </a></span>make_hop()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<bool IsConst> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static <a class="el" href="classripple_1_1PeerFinder_1_1detail_1_1LivecacheBase_1_1Hop.html">Hop</a>< IsConst > ripple::PeerFinder::detail::LivecacheBase::make_hop </td>
|
|
<td>(</td>
|
|
<td class="paramtype">typename <a class="el" href="structbeast_1_1maybe__const.html">beast::maybe_const</a>< IsConst, <a class="el" href="classripple_1_1PeerFinder_1_1detail_1_1LivecacheBase.html#a6d6ee62b7f23c6acc2231e4d7165b8b5">list_type</a> >::type & </td>
|
|
<td class="paramname"><em>list</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="Livecache_8h_source.html#l00155">155</a> of file <a class="el" href="Livecache_8h_source.html">Livecache.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Data Documentation</h2>
|
|
<a id="a39bf6bf1e149e557f81bbe8a52ade2da" name="a39bf6bf1e149e557f81bbe8a52ade2da"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a39bf6bf1e149e557f81bbe8a52ade2da">◆ </a></span>m_journal</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class Allocator = std::allocator<char>> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classbeast_1_1Journal.html">beast::Journal</a> <a class="el" href="classripple_1_1PeerFinder_1_1Livecache.html">ripple::PeerFinder::Livecache</a>< Allocator >::m_journal</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="Livecache_8h_source.html#l00188">188</a> of file <a class="el" href="Livecache_8h_source.html">Livecache.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aaf80740eae90745589e45178fbc241b9" name="aaf80740eae90745589e45178fbc241b9"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aaf80740eae90745589e45178fbc241b9">◆ </a></span>m_cache</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class Allocator = std::allocator<char>> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classripple_1_1PeerFinder_1_1Livecache.html#acf01bef9529563e945193df8910e6688">cache_type</a> <a class="el" href="classripple_1_1PeerFinder_1_1Livecache.html">ripple::PeerFinder::Livecache</a>< Allocator >::m_cache</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="Livecache_8h_source.html#l00189">189</a> of file <a class="el" href="Livecache_8h_source.html">Livecache.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae238ba5851c3827c92b4f632f976278f" name="ae238ba5851c3827c92b4f632f976278f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae238ba5851c3827c92b4f632f976278f">◆ </a></span>hops</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class Allocator = std::allocator<char>> </div>
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">class <a class="el" href="classripple_1_1PeerFinder_1_1Livecache_1_1hops__t.html">ripple::PeerFinder::Livecache::hops_t</a> <a class="el" href="classripple_1_1PeerFinder_1_1Livecache.html">ripple::PeerFinder::Livecache</a>< Allocator >::hops</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</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.8
|
|
</small></address>
|
|
</body>
|
|
</html>
|