mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-27 22:45:52 +00:00
deploy: a948203dae
This commit is contained in:
@@ -3970,7 +3970,7 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1Application_html_a9b3f2eb30c34c4c8a516bce076be513e"><div class="ttname"><a href="classripple_1_1Application.html#a9b3f2eb30c34c4c8a516bce076be513e">ripple::Application::nodeIdentity</a></div><div class="ttdeci">virtual std::pair< PublicKey, SecretKey > const & nodeIdentity()=0</div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1Tuning_html_a728589bd52b8426227390d5640782a10a57fbf7bb7fb66538d27bb5e802adda33"><div class="ttname"><a href="namespaceripple_1_1Tuning.html#a728589bd52b8426227390d5640782a10a57fbf7bb7fb66538d27bb5e802adda33">ripple::Tuning::hardMaxReplyNodes</a></div><div class="ttdeci">@ hardMaxReplyNodes</div><div class="ttdoc">The hard cap on the number of ledger entries in a single reply.</div><div class="ttdef"><b>Definition:</b> <a href="overlay_2impl_2Tuning_8h_source.html#l00042">overlay/impl/Tuning.h:42</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ae0f54f8ce649d639bf3e2b295347e17aaa551148824f891d2938519c9a355d15f"><div class="ttname"><a href="namespaceripple.html#ae0f54f8ce649d639bf3e2b295347e17aaa551148824f891d2938519c9a355d15f">ripple::jtVALIDATION_t</a></div><div class="ttdeci">@ jtVALIDATION_t</div><div class="ttdef"><b>Definition:</b> <a href="Job_8h_source.html#l00072">Job.h:72</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_ac372ea9dc11d2f21e2856a5f640ace39"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#ac372ea9dc11d2f21e2856a5f640ace39">ripple::reduce_relay::IDLED</a></div><div class="ttdeci">static constexpr auto IDLED</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00039">ReduceRelayCommon.h:39</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_ac372ea9dc11d2f21e2856a5f640ace39"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#ac372ea9dc11d2f21e2856a5f640ace39">ripple::reduce_relay::IDLED</a></div><div class="ttdeci">static constexpr auto IDLED</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00043">ReduceRelayCommon.h:43</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1PeerImp_html_a455a78c4770f677bb7d47ecf397538d3"><div class="ttname"><a href="classripple_1_1PeerImp.html#a455a78c4770f677bb7d47ecf397538d3">ripple::PeerImp::hasRange</a></div><div class="ttdeci">bool hasRange(std::uint32_t uMin, std::uint32_t uMax) override</div><div class="ttdef"><b>Definition:</b> <a href="PeerImp_8cpp_source.html#l00571">PeerImp.cpp:571</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1Resource_html_ae7e4c5bca8d571cc88e6e63636d9559d"><div class="ttname"><a href="namespaceripple_1_1Resource.html#ae7e4c5bca8d571cc88e6e63636d9559d">ripple::Resource::feeUnwantedData</a></div><div class="ttdeci">const Charge feeUnwantedData</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Serializer_html_a8d8774ca938809be8323d3957a62af90"><div class="ttname"><a href="classripple_1_1Serializer.html#a8d8774ca938809be8323d3957a62af90">ripple::Serializer::addRaw</a></div><div class="ttdeci">int addRaw(Blob const &vector)</div><div class="ttdef"><b>Definition:</b> <a href="Serializer_8cpp_source.html#l00100">Serializer.cpp:100</a></div></div>
|
||||
@@ -4047,7 +4047,7 @@ $(function() {
|
||||
<div class="ttc" id="anamespaceprotocol_html"><div class="ttname"><a href="namespaceprotocol.html">protocol</a></div><div class="ttdef"><b>Definition:</b> <a href="ValidatorList_8h_source.html#l00038">ValidatorList.h:38</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ae0f54f8ce649d639bf3e2b295347e17aaefed1b8b28b929c0faac87349e759506"><div class="ttname"><a href="namespaceripple.html#ae0f54f8ce649d639bf3e2b295347e17aaefed1b8b28b929c0faac87349e759506">ripple::jtVALIDATION_ut</a></div><div class="ttdeci">@ jtVALIDATION_ut</div><div class="ttdef"><b>Definition:</b> <a href="Job_8h_source.html#l00055">Job.h:55</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a2e97c395a5e1ef4ed1052299e0e60843af8c5e3e10d98fcbda2c4d43d50d712a2"><div class="ttname"><a href="namespaceripple.html#a2e97c395a5e1ef4ed1052299e0e60843af8c5e3e10d98fcbda2c4d43d50d712a2">ripple::INVALID</a></div><div class="ttdeci">@ INVALID</div><div class="ttdef"><b>Definition:</b> <a href="Transaction_8h_source.html#l00047">Transaction.h:47</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_a11bb8a504cf51dc460cd910629ff3d2f"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#a11bb8a504cf51dc460cd910629ff3d2f">ripple::reduce_relay::MAX_TX_QUEUE_SIZE</a></div><div class="ttdeci">static constexpr std::size_t MAX_TX_QUEUE_SIZE</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00055">ReduceRelayCommon.h:55</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_a11bb8a504cf51dc460cd910629ff3d2f"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#a11bb8a504cf51dc460cd910629ff3d2f">ripple::reduce_relay::MAX_TX_QUEUE_SIZE</a></div><div class="ttdeci">static constexpr std::size_t MAX_TX_QUEUE_SIZE</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00059">ReduceRelayCommon.h:59</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a3b423ad1ba6341f945c08c13fe141150abbd68b30711cfd4adc8abd9b5519abe1"><div class="ttname"><a href="namespaceripple.html#a3b423ad1ba6341f945c08c13fe141150abbd68b30711cfd4adc8abd9b5519abe1">ripple::ProtocolFeature::ValidatorList2Propagation</a></div><div class="ttdeci">@ ValidatorList2Propagation</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1OverlayImpl_html_a8314d9411ae5be655929354317b4693b"><div class="ttname"><a href="classripple_1_1OverlayImpl.html#a8314d9411ae5be655929354317b4693b">ripple::OverlayImpl::remove</a></div><div class="ttdeci">void remove(std::shared_ptr< PeerFinder::Slot > const &slot)</div><div class="ttdef"><b>Definition:</b> <a href="OverlayImpl_8cpp_source.html#l00462">OverlayImpl.cpp:462</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1PeerImp_html_a92bfc40054cd1c222f06494e74593fc6"><div class="ttname"><a href="classripple_1_1PeerImp.html#a92bfc40054cd1c222f06494e74593fc6">ripple::PeerImp::squelch_</a></div><div class="ttdeci">reduce_relay::Squelch< UptimeClock > squelch_</div><div class="ttdef"><b>Definition:</b> <a href="PeerImp_8h_source.html#l00119">PeerImp.h:119</a></div></div>
|
||||
|
||||
@@ -95,56 +95,60 @@ $(function() {
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  </div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="keyword">namespace </span><a class="code" href="namespaceripple.html">ripple</a> {</div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  </div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="namespaceripple_1_1reduce__relay.html"> 27</a></span> <span class="keyword">namespace </span>reduce_relay {</div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  </div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">// Peer's squelch is limited in time to</span></div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">// rand{MIN_UNSQUELCH_EXPIRE, max_squelch},</span></div>
|
||||
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">// where max_squelch is</span></div>
|
||||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">// min(max(MAX_UNSQUELCH_EXPIRE_DEFAULT, SQUELCH_PER_PEER * number_of_peers),</span></div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">// MAX_UNSQUELCH_EXPIRE_PEERS)</span></div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="namespaceripple_1_1reduce__relay.html#a97d9582e500aeeec2dc554a14bcf9af0"> 34</a></span> <span class="keyword">static</span> constexpr <span class="keyword">auto</span> <a class="code" href="namespaceripple_1_1reduce__relay.html#a97d9582e500aeeec2dc554a14bcf9af0">MIN_UNSQUELCH_EXPIRE</a> = <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a>{300};</div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="namespaceripple_1_1reduce__relay.html#ae55773d17ba2b400229a941b2f66af3f"> 35</a></span> <span class="keyword">static</span> constexpr <span class="keyword">auto</span> <a class="code" href="namespaceripple_1_1reduce__relay.html#ae55773d17ba2b400229a941b2f66af3f">MAX_UNSQUELCH_EXPIRE_DEFAULT</a> = <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a>{600};</div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="namespaceripple_1_1reduce__relay.html#a029bd156aabe031ec0528518bd69f4ca"> 36</a></span> <span class="keyword">static</span> constexpr <span class="keyword">auto</span> <a class="code" href="namespaceripple_1_1reduce__relay.html#a029bd156aabe031ec0528518bd69f4ca">SQUELCH_PER_PEER</a> = <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a>(10);</div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="namespaceripple_1_1reduce__relay.html#af6a298ebd3177be1776cf9be3e15db14"> 37</a></span> <span class="keyword">static</span> constexpr <span class="keyword">auto</span> <a class="code" href="namespaceripple_1_1reduce__relay.html#af6a298ebd3177be1776cf9be3e15db14">MAX_UNSQUELCH_EXPIRE_PEERS</a> = <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a>{3600};</div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">// No message received threshold before identifying a peer as idled</span></div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="namespaceripple_1_1reduce__relay.html#ac372ea9dc11d2f21e2856a5f640ace39"> 39</a></span> <span class="keyword">static</span> constexpr <span class="keyword">auto</span> <a class="code" href="namespaceripple_1_1reduce__relay.html#ac372ea9dc11d2f21e2856a5f640ace39">IDLED</a> = <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a>{8};</div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">// Message count threshold to start selecting peers as the source</span></div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">// of messages from the validator. We add peers who reach</span></div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">// MIN_MESSAGE_THRESHOLD to considered pool once MAX_SELECTED_PEERS</span></div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">// reach MAX_MESSAGE_THRESHOLD.</span></div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="namespaceripple_1_1reduce__relay.html#aecb3f2e034e2b318c120f931f9ac911f"> 44</a></span> <span class="keyword">static</span> constexpr uint16_t <a class="code" href="namespaceripple_1_1reduce__relay.html#aecb3f2e034e2b318c120f931f9ac911f">MIN_MESSAGE_THRESHOLD</a> = 9;</div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="namespaceripple_1_1reduce__relay.html#ac9690ca598a3ad3f77670ce8f14b582f"> 45</a></span> <span class="keyword">static</span> constexpr uint16_t <a class="code" href="namespaceripple_1_1reduce__relay.html#ac9690ca598a3ad3f77670ce8f14b582f">MAX_MESSAGE_THRESHOLD</a> = 10;</div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">// Max selected peers to choose as the source of messages from validator</span></div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="namespaceripple_1_1reduce__relay.html#a70abeffc314ff9ccea086d5e5692b13f"> 47</a></span> <span class="keyword">static</span> constexpr uint16_t <a class="code" href="namespaceripple_1_1reduce__relay.html#a70abeffc314ff9ccea086d5e5692b13f">MAX_SELECTED_PEERS</a> = 5;</div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">// Wait before reduce-relay feature is enabled on boot up to let</span></div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">// the server establish peer connections</span></div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="namespaceripple_1_1reduce__relay.html#adbdcc4999104abf99199a3420a21a62d"> 50</a></span> <span class="keyword">static</span> constexpr <span class="keyword">auto</span> <a class="code" href="namespaceripple_1_1reduce__relay.html#adbdcc4999104abf99199a3420a21a62d">WAIT_ON_BOOTUP</a> = <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::minutes</a>{10};</div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">// Maximum size of the aggregated transaction hashes per peer.</span></div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">// Once we get to high tps throughput, this cap will prevent</span></div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">// TMTransactions from exceeding the current protocol message</span></div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">// size limit of 64MB.</span></div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="namespaceripple_1_1reduce__relay.html#a11bb8a504cf51dc460cd910629ff3d2f"> 55</a></span> <span class="keyword">static</span> constexpr <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> <a class="code" href="namespaceripple_1_1reduce__relay.html#a11bb8a504cf51dc460cd910629ff3d2f">MAX_TX_QUEUE_SIZE</a> = 10000;</div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  </div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> } <span class="comment">// namespace reduce_relay</span></div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  </div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> } <span class="comment">// namespace ripple</span></div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">// Blog post explaining the rationale behind reduction of flooding gossip</span></div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">// protocol:</span></div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">// https://xrpl.org/blog/2021/message-routing-optimizations-pt-1-proposal-validation-relaying.html</span></div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  </div>
|
||||
<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="namespaceripple_1_1reduce__relay.html"> 31</a></span> <span class="keyword">namespace </span>reduce_relay {</div>
|
||||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  </div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">// Peer's squelch is limited in time to</span></div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">// rand{MIN_UNSQUELCH_EXPIRE, max_squelch},</span></div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">// where max_squelch is</span></div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">// min(max(MAX_UNSQUELCH_EXPIRE_DEFAULT, SQUELCH_PER_PEER * number_of_peers),</span></div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">// MAX_UNSQUELCH_EXPIRE_PEERS)</span></div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="namespaceripple_1_1reduce__relay.html#a97d9582e500aeeec2dc554a14bcf9af0"> 38</a></span> <span class="keyword">static</span> constexpr <span class="keyword">auto</span> <a class="code" href="namespaceripple_1_1reduce__relay.html#a97d9582e500aeeec2dc554a14bcf9af0">MIN_UNSQUELCH_EXPIRE</a> = <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a>{300};</div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="namespaceripple_1_1reduce__relay.html#ae55773d17ba2b400229a941b2f66af3f"> 39</a></span> <span class="keyword">static</span> constexpr <span class="keyword">auto</span> <a class="code" href="namespaceripple_1_1reduce__relay.html#ae55773d17ba2b400229a941b2f66af3f">MAX_UNSQUELCH_EXPIRE_DEFAULT</a> = <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a>{600};</div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="namespaceripple_1_1reduce__relay.html#a029bd156aabe031ec0528518bd69f4ca"> 40</a></span> <span class="keyword">static</span> constexpr <span class="keyword">auto</span> <a class="code" href="namespaceripple_1_1reduce__relay.html#a029bd156aabe031ec0528518bd69f4ca">SQUELCH_PER_PEER</a> = <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a>(10);</div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="namespaceripple_1_1reduce__relay.html#af6a298ebd3177be1776cf9be3e15db14"> 41</a></span> <span class="keyword">static</span> constexpr <span class="keyword">auto</span> <a class="code" href="namespaceripple_1_1reduce__relay.html#af6a298ebd3177be1776cf9be3e15db14">MAX_UNSQUELCH_EXPIRE_PEERS</a> = <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a>{3600};</div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">// No message received threshold before identifying a peer as idled</span></div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="namespaceripple_1_1reduce__relay.html#ac372ea9dc11d2f21e2856a5f640ace39"> 43</a></span> <span class="keyword">static</span> constexpr <span class="keyword">auto</span> <a class="code" href="namespaceripple_1_1reduce__relay.html#ac372ea9dc11d2f21e2856a5f640ace39">IDLED</a> = <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a>{8};</div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">// Message count threshold to start selecting peers as the source</span></div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">// of messages from the validator. We add peers who reach</span></div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">// MIN_MESSAGE_THRESHOLD to considered pool once MAX_SELECTED_PEERS</span></div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">// reach MAX_MESSAGE_THRESHOLD.</span></div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="namespaceripple_1_1reduce__relay.html#aecb3f2e034e2b318c120f931f9ac911f"> 48</a></span> <span class="keyword">static</span> constexpr uint16_t <a class="code" href="namespaceripple_1_1reduce__relay.html#aecb3f2e034e2b318c120f931f9ac911f">MIN_MESSAGE_THRESHOLD</a> = 9;</div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="namespaceripple_1_1reduce__relay.html#ac9690ca598a3ad3f77670ce8f14b582f"> 49</a></span> <span class="keyword">static</span> constexpr uint16_t <a class="code" href="namespaceripple_1_1reduce__relay.html#ac9690ca598a3ad3f77670ce8f14b582f">MAX_MESSAGE_THRESHOLD</a> = 10;</div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">// Max selected peers to choose as the source of messages from validator</span></div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="namespaceripple_1_1reduce__relay.html#a70abeffc314ff9ccea086d5e5692b13f"> 51</a></span> <span class="keyword">static</span> constexpr uint16_t <a class="code" href="namespaceripple_1_1reduce__relay.html#a70abeffc314ff9ccea086d5e5692b13f">MAX_SELECTED_PEERS</a> = 5;</div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">// Wait before reduce-relay feature is enabled on boot up to let</span></div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">// the server establish peer connections</span></div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="namespaceripple_1_1reduce__relay.html#adbdcc4999104abf99199a3420a21a62d"> 54</a></span> <span class="keyword">static</span> constexpr <span class="keyword">auto</span> <a class="code" href="namespaceripple_1_1reduce__relay.html#adbdcc4999104abf99199a3420a21a62d">WAIT_ON_BOOTUP</a> = <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::minutes</a>{10};</div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">// Maximum size of the aggregated transaction hashes per peer.</span></div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">// Once we get to high tps throughput, this cap will prevent</span></div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">// TMTransactions from exceeding the current protocol message</span></div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">// size limit of 64MB.</span></div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="namespaceripple_1_1reduce__relay.html#a11bb8a504cf51dc460cd910629ff3d2f"> 59</a></span> <span class="keyword">static</span> constexpr <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> <a class="code" href="namespaceripple_1_1reduce__relay.html#a11bb8a504cf51dc460cd910629ff3d2f">MAX_TX_QUEUE_SIZE</a> = 10000;</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  </div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#endif // RIPPLED_REDUCERELAYCOMMON_H_INCLUDED</span></div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> } <span class="comment">// namespace reduce_relay</span></div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  </div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> } <span class="comment">// namespace ripple</span></div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  </div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#endif // RIPPLED_REDUCERELAYCOMMON_H_INCLUDED</span></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_a029bd156aabe031ec0528518bd69f4ca"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#a029bd156aabe031ec0528518bd69f4ca">ripple::reduce_relay::SQUELCH_PER_PEER</a></div><div class="ttdeci">static constexpr auto SQUELCH_PER_PEER</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00036">ReduceRelayCommon.h:36</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_a029bd156aabe031ec0528518bd69f4ca"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#a029bd156aabe031ec0528518bd69f4ca">ripple::reduce_relay::SQUELCH_PER_PEER</a></div><div class="ttdeci">static constexpr auto SQUELCH_PER_PEER</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00040">ReduceRelayCommon.h:40</a></div></div>
|
||||
<div class="ttc" id="aduration_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_ae55773d17ba2b400229a941b2f66af3f"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#ae55773d17ba2b400229a941b2f66af3f">ripple::reduce_relay::MAX_UNSQUELCH_EXPIRE_DEFAULT</a></div><div class="ttdeci">static constexpr auto MAX_UNSQUELCH_EXPIRE_DEFAULT</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00035">ReduceRelayCommon.h:35</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_ac9690ca598a3ad3f77670ce8f14b582f"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#ac9690ca598a3ad3f77670ce8f14b582f">ripple::reduce_relay::MAX_MESSAGE_THRESHOLD</a></div><div class="ttdeci">static constexpr uint16_t MAX_MESSAGE_THRESHOLD</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00045">ReduceRelayCommon.h:45</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_ae55773d17ba2b400229a941b2f66af3f"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#ae55773d17ba2b400229a941b2f66af3f">ripple::reduce_relay::MAX_UNSQUELCH_EXPIRE_DEFAULT</a></div><div class="ttdeci">static constexpr auto MAX_UNSQUELCH_EXPIRE_DEFAULT</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00039">ReduceRelayCommon.h:39</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_ac9690ca598a3ad3f77670ce8f14b582f"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#ac9690ca598a3ad3f77670ce8f14b582f">ripple::reduce_relay::MAX_MESSAGE_THRESHOLD</a></div><div class="ttdeci">static constexpr uint16_t MAX_MESSAGE_THRESHOLD</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00049">ReduceRelayCommon.h:49</a></div></div>
|
||||
<div class="ttc" id="achrono_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/chrono.html">chrono</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_ac372ea9dc11d2f21e2856a5f640ace39"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#ac372ea9dc11d2f21e2856a5f640ace39">ripple::reduce_relay::IDLED</a></div><div class="ttdeci">static constexpr auto IDLED</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00039">ReduceRelayCommon.h:39</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_aecb3f2e034e2b318c120f931f9ac911f"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#aecb3f2e034e2b318c120f931f9ac911f">ripple::reduce_relay::MIN_MESSAGE_THRESHOLD</a></div><div class="ttdeci">static constexpr uint16_t MIN_MESSAGE_THRESHOLD</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00044">ReduceRelayCommon.h:44</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_a97d9582e500aeeec2dc554a14bcf9af0"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#a97d9582e500aeeec2dc554a14bcf9af0">ripple::reduce_relay::MIN_UNSQUELCH_EXPIRE</a></div><div class="ttdeci">static constexpr auto MIN_UNSQUELCH_EXPIRE</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00034">ReduceRelayCommon.h:34</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_ac372ea9dc11d2f21e2856a5f640ace39"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#ac372ea9dc11d2f21e2856a5f640ace39">ripple::reduce_relay::IDLED</a></div><div class="ttdeci">static constexpr auto IDLED</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00043">ReduceRelayCommon.h:43</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_aecb3f2e034e2b318c120f931f9ac911f"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#aecb3f2e034e2b318c120f931f9ac911f">ripple::reduce_relay::MIN_MESSAGE_THRESHOLD</a></div><div class="ttdeci">static constexpr uint16_t MIN_MESSAGE_THRESHOLD</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00048">ReduceRelayCommon.h:48</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_a97d9582e500aeeec2dc554a14bcf9af0"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#a97d9582e500aeeec2dc554a14bcf9af0">ripple::reduce_relay::MIN_UNSQUELCH_EXPIRE</a></div><div class="ttdeci">static constexpr auto MIN_UNSQUELCH_EXPIRE</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00038">ReduceRelayCommon.h:38</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html"><div class="ttname"><a href="namespaceripple.html">ripple</a></div><div class="ttdoc">Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.</div><div class="ttdef"><b>Definition:</b> <a href="RCLCensorshipDetector_8h_source.html#l00029">RCLCensorshipDetector.h:29</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_a11bb8a504cf51dc460cd910629ff3d2f"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#a11bb8a504cf51dc460cd910629ff3d2f">ripple::reduce_relay::MAX_TX_QUEUE_SIZE</a></div><div class="ttdeci">static constexpr std::size_t MAX_TX_QUEUE_SIZE</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00055">ReduceRelayCommon.h:55</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_a11bb8a504cf51dc460cd910629ff3d2f"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#a11bb8a504cf51dc460cd910629ff3d2f">ripple::reduce_relay::MAX_TX_QUEUE_SIZE</a></div><div class="ttdeci">static constexpr std::size_t MAX_TX_QUEUE_SIZE</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00059">ReduceRelayCommon.h:59</a></div></div>
|
||||
<div class="ttc" id="asize_t_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_af6a298ebd3177be1776cf9be3e15db14"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#af6a298ebd3177be1776cf9be3e15db14">ripple::reduce_relay::MAX_UNSQUELCH_EXPIRE_PEERS</a></div><div class="ttdeci">static constexpr auto MAX_UNSQUELCH_EXPIRE_PEERS</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00037">ReduceRelayCommon.h:37</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_adbdcc4999104abf99199a3420a21a62d"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#adbdcc4999104abf99199a3420a21a62d">ripple::reduce_relay::WAIT_ON_BOOTUP</a></div><div class="ttdeci">static constexpr auto WAIT_ON_BOOTUP</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00050">ReduceRelayCommon.h:50</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_a70abeffc314ff9ccea086d5e5692b13f"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#a70abeffc314ff9ccea086d5e5692b13f">ripple::reduce_relay::MAX_SELECTED_PEERS</a></div><div class="ttdeci">static constexpr uint16_t MAX_SELECTED_PEERS</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00047">ReduceRelayCommon.h:47</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_af6a298ebd3177be1776cf9be3e15db14"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#af6a298ebd3177be1776cf9be3e15db14">ripple::reduce_relay::MAX_UNSQUELCH_EXPIRE_PEERS</a></div><div class="ttdeci">static constexpr auto MAX_UNSQUELCH_EXPIRE_PEERS</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00041">ReduceRelayCommon.h:41</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_adbdcc4999104abf99199a3420a21a62d"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#adbdcc4999104abf99199a3420a21a62d">ripple::reduce_relay::WAIT_ON_BOOTUP</a></div><div class="ttdeci">static constexpr auto WAIT_ON_BOOTUP</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00054">ReduceRelayCommon.h:54</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_a70abeffc314ff9ccea086d5e5692b13f"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#a70abeffc314ff9ccea086d5e5692b13f">ripple::reduce_relay::MAX_SELECTED_PEERS</a></div><div class="ttdeci">static constexpr uint16_t MAX_SELECTED_PEERS</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00051">ReduceRelayCommon.h:51</a></div></div>
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
|
||||
@@ -196,11 +196,11 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1PublicKey_html"><div class="ttname"><a href="classripple_1_1PublicKey.html">ripple::PublicKey</a></div><div class="ttdoc">A public key.</div><div class="ttdef"><b>Definition:</b> <a href="PublicKey_8h_source.html#l00061">PublicKey.h:61</a></div></div>
|
||||
<div class="ttc" id="achrono_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/chrono.html">chrono</a></div></div>
|
||||
<div class="ttc" id="aclassbeast_1_1Journal_html"><div class="ttname"><a href="classbeast_1_1Journal.html">beast::Journal</a></div><div class="ttdoc">A generic endpoint for log messages.</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00058">Journal.h:58</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_a97d9582e500aeeec2dc554a14bcf9af0"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#a97d9582e500aeeec2dc554a14bcf9af0">ripple::reduce_relay::MIN_UNSQUELCH_EXPIRE</a></div><div class="ttdeci">static constexpr auto MIN_UNSQUELCH_EXPIRE</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00034">ReduceRelayCommon.h:34</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_a97d9582e500aeeec2dc554a14bcf9af0"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#a97d9582e500aeeec2dc554a14bcf9af0">ripple::reduce_relay::MIN_UNSQUELCH_EXPIRE</a></div><div class="ttdeci">static constexpr auto MIN_UNSQUELCH_EXPIRE</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00038">ReduceRelayCommon.h:38</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html"><div class="ttname"><a href="namespaceripple.html">ripple</a></div><div class="ttdoc">Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.</div><div class="ttdef"><b>Definition:</b> <a href="RCLCensorshipDetector_8h_source.html#l00029">RCLCensorshipDetector.h:29</a></div></div>
|
||||
<div class="ttc" id="acount_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/chrono/duration/count.html">std::chrono::seconds::count</a></div><div class="ttdeci">T count(T... args)</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1reduce__relay_1_1Squelch_html_a02c3476f4872ff534932cff60ae8a5e2"><div class="ttname"><a href="classripple_1_1reduce__relay_1_1Squelch.html#a02c3476f4872ff534932cff60ae8a5e2">ripple::reduce_relay::Squelch::journal_</a></div><div class="ttdeci">const beast::Journal journal_</div><div class="ttdef"><b>Definition:</b> <a href="Squelch_8h_source.html#l00075">Squelch.h:75</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_af6a298ebd3177be1776cf9be3e15db14"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#af6a298ebd3177be1776cf9be3e15db14">ripple::reduce_relay::MAX_UNSQUELCH_EXPIRE_PEERS</a></div><div class="ttdeci">static constexpr auto MAX_UNSQUELCH_EXPIRE_PEERS</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00037">ReduceRelayCommon.h:37</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_af6a298ebd3177be1776cf9be3e15db14"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#af6a298ebd3177be1776cf9be3e15db14">ripple::reduce_relay::MAX_UNSQUELCH_EXPIRE_PEERS</a></div><div class="ttdeci">static constexpr auto MAX_UNSQUELCH_EXPIRE_PEERS</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00041">ReduceRelayCommon.h:41</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1reduce__relay_1_1Squelch_html_a5324a3cf61df6c46a7c6fd978aa517cc"><div class="ttname"><a href="classripple_1_1reduce__relay_1_1Squelch.html#a5324a3cf61df6c46a7c6fd978aa517cc">ripple::reduce_relay::Squelch::squelched_</a></div><div class="ttdeci">hash_map< PublicKey, time_point > squelched_</div><div class="ttdoc">Maintains the list of squelched relaying to downstream peers.</div><div class="ttdef"><b>Definition:</b> <a href="Squelch_8h_source.html#l00074">Squelch.h:74</a></div></div>
|
||||
<div class="ttc" id="aunordered_map_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/unordered_map.html">std::unordered_map</a></div><div class="ttdoc">STL class.</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1reduce__relay_1_1Squelch_html_af3ed37ca1b22b743b8aa41589a5123aa"><div class="ttname"><a href="classripple_1_1reduce__relay_1_1Squelch.html#af3ed37ca1b22b743b8aa41589a5123aa">ripple::reduce_relay::Squelch::Squelch</a></div><div class="ttdeci">Squelch(beast::Journal journal)</div><div class="ttdef"><b>Definition:</b> <a href="Squelch_8h_source.html#l00043">Squelch.h:43</a></div></div>
|
||||
|
||||
@@ -87,45 +87,47 @@ Action Required</h2>
|
||||
<h2><a class="anchor" id="autotoc_md324"></a>
|
||||
Install / Upgrade</h2>
|
||||
<p>On supported platforms, see the <a href="https://xrpl.org/install-rippled.html">instructions on installing or updating <code>rippled</code></a>.</p>
|
||||
<p>The XRPL Foundation publishes portable binaries, which are drop-in replacements for the <code>rippled</code> daemon. <a href="https://github.com/XRPLF/rippled-portable-builds#portable-builds-of-the-rippled-server">See information and downloads for the portable binaries</a>. This will work on most distributions, including Ubuntu 16.04, 18.04, 20.04, and 22.04; CentOS; and others. Please test and open issues on GitHub if there are problems.</p>
|
||||
<h2><a class="anchor" id="autotoc_md325"></a>
|
||||
Changelog</h2>
|
||||
<h3><a class="anchor" id="autotoc_md326"></a>
|
||||
New Features and Amendments</h3>
|
||||
Amendments, New Features, and Changes</h3>
|
||||
<p>(These are changes which may impact or be useful to end users. For example, you may be able to update your code/workflow to take advantage of these changes.)</p>
|
||||
<ul>
|
||||
<li>**<code>AMM</code>**: Introduces an automated market maker (AMM) protocol to the XRP Ledger's decentralized exchange, enabling you to trade assets without a counterparty. For more information about AMMs, see: <a href="https://opensource.ripple.com/docs/xls-30d-amm/amm-uc/">Automated Market Maker</a>. <a href="https://github.com/XRPLF/rippled/pull/4294">#4294</a></li>
|
||||
<li>**<code>Clawback</code>**: Allows issuers to add the <code>lsfAllowTrustLineClawback</code> flag to an issuing account. This enables the account to recover, or <em>claw back</em>, issued tokens after they're distributed to accounts. For additional documentation on this feature, see: <a href="https://github.com/XRPLF/rippled/pull/4553">#4553</a>.</li>
|
||||
<li>**<code>Clawback</code>**: Adds a setting, <em>Allow Clawback</em>, which lets an issuer recover, or <em>claw back</em>, tokens that they previously issued. Issuers cannot enable this setting if they have issued tokens already. For additional documentation on this feature, see: <a href="https://github.com/XRPLF/rippled/pull/4553">#4553</a>.</li>
|
||||
<li>**<code>fixReducedOffersV1</code>**: Reduces the occurrence of order books that are blocked by reduced offers. <a href="https://github.com/XRPLF/rippled/pull/4512">#4512</a></li>
|
||||
<li>Added binary hardening and linker flags to enhance security during the build process. <a href="https://github.com/XRPLF/rippled/pull/4603">#4603</a></li>
|
||||
<li>Updated build dependencies to the most recent versions in Conan Center. <a href="https://github.com/XRPLF/rippled/pull/4595">#4595</a></li>
|
||||
<li>Updated Conan recipe for NuDB. <a href="https://github.com/XRPLF/rippled/pull/4615">#4615</a></li>
|
||||
<li>Added a pre-commit hook that runs the clang-format linter locally before committing changes. To install this feature, see: <a href="https://github.com/XRPLF/xrpl-dev-portal/blob/master/CONTRIBUTING.md">CONTRIBUTING</a>. <a href="https://github.com/XRPLF/rippled/pull/4599">#4599</a></li>
|
||||
<li>Added quality-of-life improvements to workflows, using new <a href="https://docs.github.com/en/actions/using-jobs/using-concurrency">concurrency control</a> features. <a href="https://github.com/XRPLF/rippled/pull/4597">#4597</a></li>
|
||||
<li>Added an Artifactory to the <code>nix</code> workflow to improve build times. <a href="https://github.com/XRPLF/rippled/pull/4556">#4556</a></li>
|
||||
<li>Added WebSocket and RPC port info to <code>server_info</code> responses. <a href="https://github.com/XRPLF/rippled/pull/4427">#4427</a></li>
|
||||
<li>Removed the deprecated <code>accepted</code>, <code>seqNum</code>, <code>hash</code>, and <code>totalCoins</code> fields from the <code>ledger</code> method. <a href="https://github.com/XRPLF/rippled/pull/4244">#4244</a></li>
|
||||
</ul>
|
||||
<h3><a class="anchor" id="autotoc_md327"></a>
|
||||
Bug Fixes and Performance Improvements</h3>
|
||||
<p>(These are behind-the-scenes improvements, such as internal changes to the code, which are not expected to impact end users.)</p>
|
||||
<ul>
|
||||
<li>Fixed an incorrect error response when there are missing fields in the API v2 <code>ledger_entry</code> method. <a href="https://github.com/XRPLF/rippled/pull/4552">#4552</a></li>
|
||||
<li>Updated checkout versions to resolve warnings during Github jobs. <a href="https://github.com/XRPLF/rippled/pull/4598">#4598</a></li>
|
||||
<li>Added an error response to the API v2 <code>account_info</code> method when you include an invalid <code>signer_lists</code> value. <a href="https://github.com/XRPLF/rippled/pull/4585">#4585</a></li>
|
||||
<li>Fixed an issue with the debug package build. <a href="https://github.com/XRPLF/rippled/pull/4591">#4591</a></li>
|
||||
<li>Added additional error responses to the API v2 <code>AccountTx</code> method. <a href="https://github.com/XRPLF/rippled/pull/4571">#4571</a></li>
|
||||
<li>Fixed build references to deleted <code>ServerHandlerImp</code>. <a href="https://github.com/XRPLF/rippled/pull/4592">#4592</a></li>
|
||||
<li>Fixed package definitions for Conan. <a href="https://github.com/XRPLF/rippled/pull/4485">#4485</a></li>
|
||||
<li>Changed the output type of the <code>mulDiv()</code> function from <code><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a><bool, uint64_t></code> to <code><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional</a></code>. <a href="https://github.com/XRPLF/rippled/pull/4243">#4243</a></li>
|
||||
<li>Added a pre-commit hook that runs the clang-format linter locally before committing changes. To install this feature, see: <a href="https://github.com/XRPLF/xrpl-dev-portal/blob/master/CONTRIBUTING.md">CONTRIBUTING</a>. <a href="https://github.com/XRPLF/rippled/pull/4599">#4599</a></li>
|
||||
<li>In order to make it more straightforward to catch and handle overflows: changed the output type of the <code>mulDiv()</code> function from <code><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a><bool, uint64_t></code> to <code><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional</a></code>. <a href="https://github.com/XRPLF/rippled/pull/4243">#4243</a></li>
|
||||
<li>Updated <code>Handler::Condition</code> enum values to make the code less brittle. <a href="https://github.com/XRPLF/rippled/pull/4239">#4239</a></li>
|
||||
<li>Renamed <code>ServerHandlerImp</code> to <code>ServerHandler</code>. <a href="https://github.com/XRPLF/rippled/pull/4516">#4516</a></li>
|
||||
<li>Removed the deprecated <code>accepted</code>, <code>seq</code>, <code>hash</code>, and <code>totalCoins</code> fields from the <code>ledger</code> method. <a href="https://github.com/XRPLF/rippled/pull/4244">#4244</a></li>
|
||||
<li>Renamed <code>ServerHandlerImp</code> to <code>ServerHandler</code>. <a href="https://github.com/XRPLF/rippled/pull/4516">#4516</a>, <a href="https://github.com/XRPLF/rippled/pull/4592">#4592</a></li>
|
||||
<li>Replaced hand-rolled code with <code><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/from_chars.html">std::from_chars</a></code> for better maintainability. <a href="https://github.com/XRPLF/rippled/pull/4473">#4473</a></li>
|
||||
<li>Removed an unused <code>TypedField</code> move constructor. <a href="https://github.com/XRPLF/rippled/pull/4567">#4567</a></li>
|
||||
<li>Enabled the <code>BETA_RPC_API</code> flag in the default unit tests config, making the API v2 available to all unit tests. <a href="https://github.com/XRPLF/rippled/pull/4573">#4573</a></li>
|
||||
</ul>
|
||||
<h3><a class="anchor" id="autotoc_md328"></a>
|
||||
Docs</h3>
|
||||
Docs and Build System</h3>
|
||||
<ul>
|
||||
<li>Updated checkout versions to resolve warnings during GitHub jobs. <a href="https://github.com/XRPLF/rippled/pull/4598">#4598</a></li>
|
||||
<li>Fixed an issue with the Debian package build. <a href="https://github.com/XRPLF/rippled/pull/4591">#4591</a></li>
|
||||
<li>Updated build instructions with additional steps to take after updating dependencies. <a href="https://github.com/XRPLF/rippled/pull/4623">#4623</a></li>
|
||||
<li>Updated contributing doc to clarify that beta releases should also be pushed to the <code>release</code> branch. <a href="https://github.com/XRPLF/rippled/pull/4589">#4589</a></li>
|
||||
<li>Enabled the <code>BETA_RPC_API</code> flag in the default unit tests config, making the API v2 (beta) available to unit tests. <a href="https://github.com/XRPLF/rippled/pull/4573">#4573</a></li>
|
||||
<li>Conan dependency management.<ul>
|
||||
<li>Fixed package definitions for Conan. <a href="https://github.com/XRPLF/rippled/pull/4485">#4485</a></li>
|
||||
<li>Updated build dependencies to the most recent versions in Conan Center. <a href="https://github.com/XRPLF/rippled/pull/4595">#4595</a></li>
|
||||
<li>Updated Conan recipe for NuDB. <a href="https://github.com/XRPLF/rippled/pull/4615">#4615</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Added binary hardening and linker flags to enhance security during the build process. <a href="https://github.com/XRPLF/rippled/pull/4603">#4603</a></li>
|
||||
<li>Added an Artifactory to the <code>nix</code> workflow to improve build times. <a href="https://github.com/XRPLF/rippled/pull/4556">#4556</a></li>
|
||||
<li>Added quality-of-life improvements to workflows, using new <a href="https://docs.github.com/en/actions/using-jobs/using-concurrency">concurrency control</a> features. <a href="https://github.com/XRPLF/rippled/pull/4597">#4597</a></li>
|
||||
</ul>
|
||||
<p><a href="https://github.com/XRPLF/rippled/compare/1.11.0...1.12.0">Full Commit Log</a></p>
|
||||
<h3><a class="anchor" id="autotoc_md329"></a>
|
||||
|
||||
@@ -276,7 +276,7 @@ Session Signature</h2>
|
||||
<p>Ultimately, the goal is to ensure that two endpoints A and B know that they are talking directly to each other over a single end-to-end SSL/TLS session instead of two separate SSL/TLS sessions, with an attacker acting as a proxy.</p>
|
||||
<p>The XRP Ledger protocol prevents this attack by leveraging the fact that the two servers each have a node identity, in the form of **<code>secp256k1</code>** keypairs, and use that to strongly bind the SSL/TLS session to the node identities of each of the two servers at the end of the SSL/TLS session.</p>
|
||||
<p>To do this we "reach into" the SSL/TLS session, and extract the **<code>finished</code>** messages for the local and remote endpoints, and combine them to generate a unique "fingerprint". By design, this fingerprint should be the same for both SSL/TLS endpoints.</p>
|
||||
<p>That fingerprint, which is never shared over the wire (since each endpoint will calculate it independently), is then signed by each server using its public **<code>secp256k1</code>** node identity and the signature is transferred over the SSL/TLS encrypted link during the protocol handshake phase.</p>
|
||||
<p>That fingerprint is calculated by each endpoint independently, so the fingerprint is never transmitted over the network. Each server then utilizes its private key to sign the fingerprint. This is the same keypair that determines the server's public <code>secp256k1</code> node identity. The signature is transferred over the secure SSL/TLS encrypted link during the protocol's initial handshake phase.</p>
|
||||
<p>Each side of the link will verify that the provided signature is from the claimed public key against the session's unique fingerprint. If this signature check fails then the link <b>MUST</b> be dropped.</p>
|
||||
<p>If an attacker, Eve, establishes two separate SSL sessions with Alice and Bob, the fingerprints of the two sessions will be different, and Eve will not be able to sign the fingerprint of her session with Bob with Alice's private key, or the fingerprint of her session with Alice with Bob's private key, and so both A and B will know that an active MITM attack is in progress and will close their connections.</p>
|
||||
<p>If Eve simply proxies the raw bytes, she will be unable to decrypt the data being transferred between A and B and will not be able to intelligently tamper with the message stream between Alice and Bob, although she may be still be able to inject delays or terminate the link.</p>
|
||||
|
||||
@@ -239,7 +239,7 @@ template<typename Unit , typename TP > </div>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="ReduceRelayCommon_8h_source.html#l00034">34</a> of file <a class="el" href="ReduceRelayCommon_8h_source.html">ReduceRelayCommon.h</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="ReduceRelayCommon_8h_source.html#l00038">38</a> of file <a class="el" href="ReduceRelayCommon_8h_source.html">ReduceRelayCommon.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -263,7 +263,7 @@ template<typename Unit , typename TP > </div>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="ReduceRelayCommon_8h_source.html#l00035">35</a> of file <a class="el" href="ReduceRelayCommon_8h_source.html">ReduceRelayCommon.h</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="ReduceRelayCommon_8h_source.html#l00039">39</a> of file <a class="el" href="ReduceRelayCommon_8h_source.html">ReduceRelayCommon.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -287,7 +287,7 @@ template<typename Unit , typename TP > </div>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="ReduceRelayCommon_8h_source.html#l00036">36</a> of file <a class="el" href="ReduceRelayCommon_8h_source.html">ReduceRelayCommon.h</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="ReduceRelayCommon_8h_source.html#l00040">40</a> of file <a class="el" href="ReduceRelayCommon_8h_source.html">ReduceRelayCommon.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -311,7 +311,7 @@ template<typename Unit , typename TP > </div>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="ReduceRelayCommon_8h_source.html#l00037">37</a> of file <a class="el" href="ReduceRelayCommon_8h_source.html">ReduceRelayCommon.h</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="ReduceRelayCommon_8h_source.html#l00041">41</a> of file <a class="el" href="ReduceRelayCommon_8h_source.html">ReduceRelayCommon.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -335,7 +335,7 @@ template<typename Unit , typename TP > </div>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="ReduceRelayCommon_8h_source.html#l00039">39</a> of file <a class="el" href="ReduceRelayCommon_8h_source.html">ReduceRelayCommon.h</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="ReduceRelayCommon_8h_source.html#l00043">43</a> of file <a class="el" href="ReduceRelayCommon_8h_source.html">ReduceRelayCommon.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -359,7 +359,7 @@ template<typename Unit , typename TP > </div>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="ReduceRelayCommon_8h_source.html#l00044">44</a> of file <a class="el" href="ReduceRelayCommon_8h_source.html">ReduceRelayCommon.h</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="ReduceRelayCommon_8h_source.html#l00048">48</a> of file <a class="el" href="ReduceRelayCommon_8h_source.html">ReduceRelayCommon.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -383,7 +383,7 @@ template<typename Unit , typename TP > </div>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="ReduceRelayCommon_8h_source.html#l00045">45</a> of file <a class="el" href="ReduceRelayCommon_8h_source.html">ReduceRelayCommon.h</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="ReduceRelayCommon_8h_source.html#l00049">49</a> of file <a class="el" href="ReduceRelayCommon_8h_source.html">ReduceRelayCommon.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -407,7 +407,7 @@ template<typename Unit , typename TP > </div>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="ReduceRelayCommon_8h_source.html#l00047">47</a> of file <a class="el" href="ReduceRelayCommon_8h_source.html">ReduceRelayCommon.h</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="ReduceRelayCommon_8h_source.html#l00051">51</a> of file <a class="el" href="ReduceRelayCommon_8h_source.html">ReduceRelayCommon.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -431,7 +431,7 @@ template<typename Unit , typename TP > </div>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="ReduceRelayCommon_8h_source.html#l00050">50</a> of file <a class="el" href="ReduceRelayCommon_8h_source.html">ReduceRelayCommon.h</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="ReduceRelayCommon_8h_source.html#l00054">54</a> of file <a class="el" href="ReduceRelayCommon_8h_source.html">ReduceRelayCommon.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -455,7 +455,7 @@ template<typename Unit , typename TP > </div>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="ReduceRelayCommon_8h_source.html#l00055">55</a> of file <a class="el" href="ReduceRelayCommon_8h_source.html">ReduceRelayCommon.h</a>.</p>
|
||||
<p class="definition">Definition at line <a class="el" href="ReduceRelayCommon_8h_source.html#l00059">59</a> of file <a class="el" href="ReduceRelayCommon_8h_source.html">ReduceRelayCommon.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -730,15 +730,15 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1reduce__relay_1_1Slots_html_ae6103d07aef85097b639d9b4437d59b5"><div class="ttname"><a href="classripple_1_1reduce__relay_1_1Slots.html#ae6103d07aef85097b639d9b4437d59b5">ripple::reduce_relay::Slots::logs_</a></div><div class="ttdeci">Logs & logs_</div><div class="ttdef"><b>Definition:</b> <a href="overlay_2Slot_8h_source.html#l00653">overlay/Slot.h:653</a></div></div>
|
||||
<div class="ttc" id="afind_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/unordered_set/find.html">std::unordered_set::find</a></div><div class="ttdeci">T find(T... args)</div></div>
|
||||
<div class="ttc" id="asize_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/unordered_set/size.html">std::unordered_set::size</a></div><div class="ttdeci">T size(T... args)</div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_a029bd156aabe031ec0528518bd69f4ca"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#a029bd156aabe031ec0528518bd69f4ca">ripple::reduce_relay::SQUELCH_PER_PEER</a></div><div class="ttdeci">static constexpr auto SQUELCH_PER_PEER</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00036">ReduceRelayCommon.h:36</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_a029bd156aabe031ec0528518bd69f4ca"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#a029bd156aabe031ec0528518bd69f4ca">ripple::reduce_relay::SQUELCH_PER_PEER</a></div><div class="ttdeci">static constexpr auto SQUELCH_PER_PEER</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00040">ReduceRelayCommon.h:40</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1reduce__relay_1_1Slot_html_a52bf534e6af227e1e76495d3d6d484a7"><div class="ttname"><a href="classripple_1_1reduce__relay_1_1Slot.html#a52bf534e6af227e1e76495d3d6d484a7">ripple::reduce_relay::Slot::initCounting</a></div><div class="ttdeci">void initCounting()</div><div class="ttdoc">Initialize slot to Counting state.</div><div class="ttdef"><b>Definition:</b> <a href="overlay_2Slot_8h_source.html#l00467">overlay/Slot.h:467</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_ac8510a72575fb51be1db4944073f8b22af03e4762825aa90394e1b5b7ebee2430"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#ac8510a72575fb51be1db4944073f8b22af03e4762825aa90394e1b5b7ebee2430">ripple::reduce_relay::PeerState::Squelched</a></div><div class="ttdeci">@ Squelched</div></div>
|
||||
<div class="ttc" id="aduration_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_ae55773d17ba2b400229a941b2f66af3f"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#ae55773d17ba2b400229a941b2f66af3f">ripple::reduce_relay::MAX_UNSQUELCH_EXPIRE_DEFAULT</a></div><div class="ttdeci">static constexpr auto MAX_UNSQUELCH_EXPIRE_DEFAULT</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00035">ReduceRelayCommon.h:35</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_ae55773d17ba2b400229a941b2f66af3f"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#ae55773d17ba2b400229a941b2f66af3f">ripple::reduce_relay::MAX_UNSQUELCH_EXPIRE_DEFAULT</a></div><div class="ttdeci">static constexpr auto MAX_UNSQUELCH_EXPIRE_DEFAULT</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00039">ReduceRelayCommon.h:39</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1reduce__relay_1_1Slot_html_a0217c917d840cc6c8e95931238877285"><div class="ttname"><a href="classripple_1_1reduce__relay_1_1Slot.html#a0217c917d840cc6c8e95931238877285">ripple::reduce_relay::Slot::Slot</a></div><div class="ttdeci">Slot(SquelchHandler const &handler, beast::Journal journal)</div><div class="ttdoc">Constructor.</div><div class="ttdef"><b>Definition:</b> <a href="overlay_2Slot_8h_source.html#l00115">overlay/Slot.h:115</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1reduce__relay_1_1Slot_html_a399e8c88d6ef100832f7783b7ea20634"><div class="ttname"><a href="classripple_1_1reduce__relay_1_1Slot.html#a399e8c88d6ef100832f7783b7ea20634">ripple::reduce_relay::Slot::reachedThreshold_</a></div><div class="ttdeci">std::uint16_t reachedThreshold_</div><div class="ttdef"><b>Definition:</b> <a href="overlay_2Slot_8h_source.html#l00230">overlay/Slot.h:230</a></div></div>
|
||||
<div class="ttc" id="abasic_stringstream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_stringstream.html">std::stringstream</a></div><div class="ttdoc">STL class.</div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_ac9690ca598a3ad3f77670ce8f14b582f"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#ac9690ca598a3ad3f77670ce8f14b582f">ripple::reduce_relay::MAX_MESSAGE_THRESHOLD</a></div><div class="ttdeci">static constexpr uint16_t MAX_MESSAGE_THRESHOLD</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00045">ReduceRelayCommon.h:45</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_ac9690ca598a3ad3f77670ce8f14b582f"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#ac9690ca598a3ad3f77670ce8f14b582f">ripple::reduce_relay::MAX_MESSAGE_THRESHOLD</a></div><div class="ttdeci">static constexpr uint16_t MAX_MESSAGE_THRESHOLD</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00049">ReduceRelayCommon.h:49</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1reduce__relay_1_1SquelchHandler_html_ab4d8e211c7a5a11678910a73d7c9664b"><div class="ttname"><a href="classripple_1_1reduce__relay_1_1SquelchHandler.html#ab4d8e211c7a5a11678910a73d7c9664b">ripple::reduce_relay::SquelchHandler::squelch</a></div><div class="ttdeci">virtual void squelch(PublicKey const &validator, Peer::id_t id, std::uint32_t duration) const =0</div><div class="ttdoc">Squelch handler.</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1reduce__relay_1_1Slot_html_acc2ed9802972f7bbbdaf356e3a36d6da"><div class="ttname"><a href="classripple_1_1reduce__relay_1_1Slot.html#acc2ed9802972f7bbbdaf356e3a36d6da">ripple::reduce_relay::Slot::getSquelchDuration</a></div><div class="ttdeci">std::chrono::seconds getSquelchDuration(std::size_t npeers)</div><div class="ttdoc">Get random squelch duration between MIN_UNSQUELCH_EXPIRE and min(max(MAX_UNSQUELCH_EXPIRE_DEFAULT,...</div><div class="ttdef"><b>Definition:</b> <a href="overlay_2Slot_8h_source.html#l00397">overlay/Slot.h:397</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1reduce__relay_1_1Slots_html_aff561e306a36edd34ba6e5355611e37b"><div class="ttname"><a href="classripple_1_1reduce__relay_1_1Slots.html#aff561e306a36edd34ba6e5355611e37b">ripple::reduce_relay::Slots< ripple::UptimeClock >::id_t</a></div><div class="ttdeci">typename Peer::id_t id_t</div><div class="ttdef"><b>Definition:</b> <a href="overlay_2Slot_8h_source.html#l00535">overlay/Slot.h:535</a></div></div>
|
||||
@@ -762,7 +762,7 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1PublicKey_html"><div class="ttname"><a href="classripple_1_1PublicKey.html">ripple::PublicKey</a></div><div class="ttdoc">A public key.</div><div class="ttdef"><b>Definition:</b> <a href="PublicKey_8h_source.html#l00061">PublicKey.h:61</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1reduce__relay_1_1Slot_html_afc5a6619f14f869bac20d5f44bf1c825"><div class="ttname"><a href="classripple_1_1reduce__relay_1_1Slot.html#afc5a6619f14f869bac20d5f44bf1c825">ripple::reduce_relay::Slot::resetCounts</a></div><div class="ttdeci">void resetCounts()</div><div class="ttdoc">Reset counts of peers in Selected or Counting state.</div><div class="ttdef"><b>Definition:</b> <a href="overlay_2Slot_8h_source.html#l00456">overlay/Slot.h:456</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1reduce__relay_1_1Slots_html_a75ba5064fbeefd3ced1ab32d30fb352c"><div class="ttname"><a href="classripple_1_1reduce__relay_1_1Slots.html#a75ba5064fbeefd3ced1ab32d30fb352c">ripple::reduce_relay::Slots::inState</a></div><div class="ttdeci">std::optional< std::uint16_t > inState(PublicKey const &validator, PeerState state) const</div><div class="ttdoc">Return number of peers in state.</div><div class="ttdef"><b>Definition:</b> <a href="overlay_2Slot_8h_source.html#l00573">overlay/Slot.h:573</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_ac372ea9dc11d2f21e2856a5f640ace39"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#ac372ea9dc11d2f21e2856a5f640ace39">ripple::reduce_relay::IDLED</a></div><div class="ttdeci">static constexpr auto IDLED</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00039">ReduceRelayCommon.h:39</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_ac372ea9dc11d2f21e2856a5f640ace39"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#ac372ea9dc11d2f21e2856a5f640ace39">ripple::reduce_relay::IDLED</a></div><div class="ttdeci">static constexpr auto IDLED</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00043">ReduceRelayCommon.h:43</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1reduce__relay_1_1Slots_html_a343a426d5fd00c5db285d25c41261d8b"><div class="ttname"><a href="classripple_1_1reduce__relay_1_1Slots.html#a343a426d5fd00c5db285d25c41261d8b">ripple::reduce_relay::Slots::deleteIdlePeers</a></div><div class="ttdeci">void deleteIdlePeers()</div><div class="ttdoc">Check if peers stopped relaying messages and if slots stopped receiving messages from the validator.</div><div class="ttdef"><b>Definition:</b> <a href="overlay_2Slot_8h_source.html#l00733">overlay/Slot.h:733</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1reduce__relay_1_1Slot_1_1PeerInfo_html_a0f2712386d771a98d2fd00706389047e"><div class="ttname"><a href="structripple_1_1reduce__relay_1_1Slot_1_1PeerInfo.html#a0f2712386d771a98d2fd00706389047e">ripple::reduce_relay::Slot::PeerInfo::expire</a></div><div class="ttdeci">time_point expire</div><div class="ttdef"><b>Definition:</b> <a href="overlay_2Slot_8h_source.html#l00222">overlay/Slot.h:222</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1reduce__relay_1_1Slot_html_aa45e32fbe0cd5d2dcc726146b9295328"><div class="ttname"><a href="classripple_1_1reduce__relay_1_1Slot.html#aa45e32fbe0cd5d2dcc726146b9295328">ripple::reduce_relay::Slot::deleteIdlePeer</a></div><div class="ttdeci">void deleteIdlePeer(PublicKey const &validator)</div><div class="ttdoc">Check if peers stopped relaying messages.</div><div class="ttdef"><b>Definition:</b> <a href="overlay_2Slot_8h_source.html#l00240">overlay/Slot.h:240</a></div></div>
|
||||
@@ -772,14 +772,14 @@ $(function() {
|
||||
<div class="ttc" id="anamespacebeast_html_a0d4902fd756aee03082ffc8a6f528792"><div class="ttname"><a href="namespacebeast.html#a0d4902fd756aee03082ffc8a6f528792">beast::expire</a></div><div class="ttdeci">std::enable_if< is_aged_container< AgedContainer >::value, std::size_t >::type expire(AgedContainer &c, std::chrono::duration< Rep, Period > const &age)</div><div class="ttdoc">Expire aged container items past the specified age.</div><div class="ttdef"><b>Definition:</b> <a href="aged__container__utility_8h_source.html#l00033">aged_container_utility.h:33</a></div></div>
|
||||
<div class="ttc" id="ainteger_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1reduce__relay_1_1Slots_html_a12e919ceb9fe6b32243e09eb78ebf7f2"><div class="ttname"><a href="classripple_1_1reduce__relay_1_1Slots.html#a12e919ceb9fe6b32243e09eb78ebf7f2">ripple::reduce_relay::Slots::peersWithMessage_</a></div><div class="ttdeci">static messages peersWithMessage_</div><div class="ttdef"><b>Definition:</b> <a href="overlay_2Slot_8h_source.html#l00659">overlay/Slot.h:659</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_aecb3f2e034e2b318c120f931f9ac911f"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#aecb3f2e034e2b318c120f931f9ac911f">ripple::reduce_relay::MIN_MESSAGE_THRESHOLD</a></div><div class="ttdeci">static constexpr uint16_t MIN_MESSAGE_THRESHOLD</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00044">ReduceRelayCommon.h:44</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_aecb3f2e034e2b318c120f931f9ac911f"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#aecb3f2e034e2b318c120f931f9ac911f">ripple::reduce_relay::MIN_MESSAGE_THRESHOLD</a></div><div class="ttdeci">static constexpr uint16_t MIN_MESSAGE_THRESHOLD</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00048">ReduceRelayCommon.h:48</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1reduce__relay_1_1Slots_html_a75a3d5339b3df000c6176ad2c05fa2b9"><div class="ttname"><a href="classripple_1_1reduce__relay_1_1Slots.html#a75a3d5339b3df000c6176ad2c05fa2b9">ripple::reduce_relay::Slots::getState</a></div><div class="ttdeci">std::optional< SlotState > getState(PublicKey const &validator)</div><div class="ttdoc">Get Slot's state.</div><div class="ttdef"><b>Definition:</b> <a href="overlay_2Slot_8h_source.html#l00627">overlay/Slot.h:627</a></div></div>
|
||||
<div class="ttc" id="amemory_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/memory.html">memory</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1reduce__relay_1_1Slots_html_aeb84d4a7746d8ed87ef01f6546889f3a"><div class="ttname"><a href="classripple_1_1reduce__relay_1_1Slots.html#aeb84d4a7746d8ed87ef01f6546889f3a">ripple::reduce_relay::Slots::getPeers</a></div><div class="ttdeci">std::unordered_map< typename Peer::id_t, std::tuple< PeerState, uint16_t, uint32_t, std::uint32_t > > getPeers(PublicKey const &validator)</div><div class="ttdoc">Get peers info.</div><div class="ttdef"><b>Definition:</b> <a href="overlay_2Slot_8h_source.html#l00617">overlay/Slot.h:617</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1reduce__relay_1_1Slot_html_a4698f19f0d6d30f83785d2ae2ccdd0bf"><div class="ttname"><a href="classripple_1_1reduce__relay_1_1Slot.html#a4698f19f0d6d30f83785d2ae2ccdd0bf">ripple::reduce_relay::Slot< ripple::UptimeClock >::time_point</a></div><div class="ttdeci">typename ripple::UptimeClock ::time_point time_point</div><div class="ttdef"><b>Definition:</b> <a href="overlay_2Slot_8h_source.html#l00109">overlay/Slot.h:109</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1reduce__relay_1_1Slot_html_a3588d6a33bbd8c51f3b3e415f90f7da7"><div class="ttname"><a href="classripple_1_1reduce__relay_1_1Slot.html#a3588d6a33bbd8c51f3b3e415f90f7da7">ripple::reduce_relay::Slot::deletePeer</a></div><div class="ttdeci">void deletePeer(PublicKey const &validator, id_t id, bool erase)</div><div class="ttdoc">Handle peer deletion when a peer disconnects.</div><div class="ttdef"><b>Definition:</b> <a href="overlay_2Slot_8h_source.html#l00413">overlay/Slot.h:413</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1reduce__relay_1_1Slot_html_a87fd2669496a3edacbca79e40c7e58f8"><div class="ttname"><a href="classripple_1_1reduce__relay_1_1Slot.html#a87fd2669496a3edacbca79e40c7e58f8">ripple::reduce_relay::Slot::getState</a></div><div class="ttdeci">SlotState getState() const</div><div class="ttdoc">Return Slot's state.</div><div class="ttdef"><b>Definition:</b> <a href="overlay_2Slot_8h_source.html#l00175">overlay/Slot.h:175</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_a97d9582e500aeeec2dc554a14bcf9af0"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#a97d9582e500aeeec2dc554a14bcf9af0">ripple::reduce_relay::MIN_UNSQUELCH_EXPIRE</a></div><div class="ttdeci">static constexpr auto MIN_UNSQUELCH_EXPIRE</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00034">ReduceRelayCommon.h:34</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_a97d9582e500aeeec2dc554a14bcf9af0"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#a97d9582e500aeeec2dc554a14bcf9af0">ripple::reduce_relay::MIN_UNSQUELCH_EXPIRE</a></div><div class="ttdeci">static constexpr auto MIN_UNSQUELCH_EXPIRE</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00038">ReduceRelayCommon.h:38</a></div></div>
|
||||
<div class="ttc" id="aclassbeast_1_1detail_1_1aged__unordered__container_html"><div class="ttname"><a href="classbeast_1_1detail_1_1aged__unordered__container.html">beast::detail::aged_unordered_container</a></div><div class="ttdoc">Associative container where each element is also indexed by time.</div><div class="ttdef"><b>Definition:</b> <a href="aged__unordered__container_8h_source.html#l00085">aged_unordered_container.h:85</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1reduce__relay_1_1Slots_html_a38b96c7d66e4b06aa2e3a6a5c909b5dc"><div class="ttname"><a href="classripple_1_1reduce__relay_1_1Slots.html#a38b96c7d66e4b06aa2e3a6a5c909b5dc">ripple::reduce_relay::Slots::addPeerMessage</a></div><div class="ttdeci">bool addPeerMessage(uint256 const &key, id_t id)</div><div class="ttdoc">Add message/peer if have not seen this message from the peer.</div><div class="ttdef"><b>Definition:</b> <a href="overlay_2Slot_8h_source.html#l00665">overlay/Slot.h:665</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html"><div class="ttname"><a href="namespaceripple.html">ripple</a></div><div class="ttdoc">Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.</div><div class="ttdef"><b>Definition:</b> <a href="RCLCensorshipDetector_8h_source.html#l00029">RCLCensorshipDetector.h:29</a></div></div>
|
||||
@@ -798,7 +798,7 @@ $(function() {
|
||||
<div class="ttc" id="asize_t_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_af9776f187d3686a7fba4c2d2fbeebdf4"><div class="ttname"><a href="namespaceripple.html#af9776f187d3686a7fba4c2d2fbeebdf4">ripple::to_string</a></div><div class="ttdeci">std::string to_string(Manifest const &m)</div><div class="ttdoc">Format the specified manifest to a string for debugging purposes.</div><div class="ttdef"><b>Definition:</b> <a href="app_2misc_2impl_2Manifest_8cpp_source.html#l00041">app/misc/impl/Manifest.cpp:41</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1reduce__relay_1_1Slot_html_a3fe96bbfd8750507a638e49e22afde00"><div class="ttname"><a href="classripple_1_1reduce__relay_1_1Slot.html#a3fe96bbfd8750507a638e49e22afde00">ripple::reduce_relay::Slot::notInState</a></div><div class="ttdeci">std::uint16_t notInState(PeerState state) const</div><div class="ttdoc">Return number of peers not in state.</div><div class="ttdef"><b>Definition:</b> <a href="overlay_2Slot_8h_source.html#l00486">overlay/Slot.h:486</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_af6a298ebd3177be1776cf9be3e15db14"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#af6a298ebd3177be1776cf9be3e15db14">ripple::reduce_relay::MAX_UNSQUELCH_EXPIRE_PEERS</a></div><div class="ttdeci">static constexpr auto MAX_UNSQUELCH_EXPIRE_PEERS</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00037">ReduceRelayCommon.h:37</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_af6a298ebd3177be1776cf9be3e15db14"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#af6a298ebd3177be1776cf9be3e15db14">ripple::reduce_relay::MAX_UNSQUELCH_EXPIRE_PEERS</a></div><div class="ttdeci">static constexpr auto MAX_UNSQUELCH_EXPIRE_PEERS</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00041">ReduceRelayCommon.h:41</a></div></div>
|
||||
<div class="ttc" id="amake_pair_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/pair/make_pair.html">std::make_pair</a></div><div class="ttdeci">T make_pair(T... args)</div></div>
|
||||
<div class="ttc" id="astructripple_1_1reduce__relay_1_1Slot_1_1PeerInfo_html_ab631236c2cf437a8fffa837dfe5569f2"><div class="ttname"><a href="structripple_1_1reduce__relay_1_1Slot_1_1PeerInfo.html#ab631236c2cf437a8fffa837dfe5569f2">ripple::reduce_relay::Slot::PeerInfo::count</a></div><div class="ttdeci">std::size_t count</div><div class="ttdef"><b>Definition:</b> <a href="overlay_2Slot_8h_source.html#l00221">overlay/Slot.h:221</a></div></div>
|
||||
<div class="ttc" id="aend_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/unordered_set/end.html">std::unordered_set::end</a></div><div class="ttdeci">T end(T... args)</div></div>
|
||||
@@ -815,7 +815,7 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1reduce__relay_1_1SquelchHandler_html_a71f49e7ef5c733be62f912fbce7dde91"><div class="ttname"><a href="classripple_1_1reduce__relay_1_1SquelchHandler.html#a71f49e7ef5c733be62f912fbce7dde91">ripple::reduce_relay::SquelchHandler::~SquelchHandler</a></div><div class="ttdeci">virtual ~SquelchHandler()</div><div class="ttdef"><b>Definition:</b> <a href="overlay_2Slot_8h_source.html#l00074">overlay/Slot.h:74</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1reduce__relay_1_1Slot_html_a55f3a58c325544d77fb018690680dc45"><div class="ttname"><a href="classripple_1_1reduce__relay_1_1Slot.html#a55f3a58c325544d77fb018690680dc45">ripple::reduce_relay::Slot::update</a></div><div class="ttdeci">void update(PublicKey const &validator, id_t id, protocol::MessageType type)</div><div class="ttdoc">Update peer info.</div><div class="ttdef"><b>Definition:</b> <a href="overlay_2Slot_8h_source.html#l00263">overlay/Slot.h:263</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1reduce__relay_1_1Slots_html_a2e8278ad904625304ffd967859e8a640"><div class="ttname"><a href="classripple_1_1reduce__relay_1_1Slots.html#a2e8278ad904625304ffd967859e8a640">ripple::reduce_relay::Slots::deletePeer</a></div><div class="ttdeci">void deletePeer(id_t id, bool erase)</div><div class="ttdoc">Called when a peer is deleted.</div><div class="ttdef"><b>Definition:</b> <a href="overlay_2Slot_8h_source.html#l00725">overlay/Slot.h:725</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_a70abeffc314ff9ccea086d5e5692b13f"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#a70abeffc314ff9ccea086d5e5692b13f">ripple::reduce_relay::MAX_SELECTED_PEERS</a></div><div class="ttdeci">static constexpr uint16_t MAX_SELECTED_PEERS</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00047">ReduceRelayCommon.h:47</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_a70abeffc314ff9ccea086d5e5692b13f"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#a70abeffc314ff9ccea086d5e5692b13f">ripple::reduce_relay::MAX_SELECTED_PEERS</a></div><div class="ttdeci">static constexpr uint16_t MAX_SELECTED_PEERS</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00051">ReduceRelayCommon.h:51</a></div></div>
|
||||
<div class="ttc" id="anext_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/iterator/next.html">std::next</a></div><div class="ttdeci">T next(T... args)</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1reduce__relay_1_1Slot_html"><div class="ttname"><a href="classripple_1_1reduce__relay_1_1Slot.html">ripple::reduce_relay::Slot</a></div><div class="ttdoc">Slot is associated with a specific validator via validator's public key.</div><div class="ttdef"><b>Definition:</b> <a href="overlay_2Slot_8h_source.html#l00104">overlay/Slot.h:104</a></div></div>
|
||||
<div class="ttc" id="anamespacestd_1_1chrono_html"><div class="ttname"><a href="http://en.cppreference.com/w/namespacestd_1_1chrono.html">std::chrono</a></div></div>
|
||||
|
||||
@@ -1686,7 +1686,7 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1Validator_html_ad24fe0912e8fc9912b3dbc14bea35759"><div class="ttname"><a href="classripple_1_1test_1_1Validator.html#ad24fe0912e8fc9912b3dbc14bea35759">ripple::test::Validator::id</a></div><div class="ttdeci">std::uint16_t id()</div><div class="ttdef"><b>Definition:</b> <a href="reduce__relay__test_8cpp_source.html#l00419">reduce_relay_test.cpp:419</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1OverlaySim_html_a73978519a45863d983bb047da9f63f64"><div class="ttname"><a href="classripple_1_1test_1_1OverlaySim.html#a73978519a45863d983bb047da9f63f64">ripple::test::OverlaySim::addPeer</a></div><div class="ttdeci">PeerSPtr addPeer(bool useCache=true)</div><div class="ttdef"><b>Definition:</b> <a href="reduce__relay__test_8cpp_source.html#l00559">reduce_relay_test.cpp:559</a></div></div>
|
||||
<div class="ttc" id="abasic_stringstream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_stringstream.html">std::stringstream</a></div><div class="ttdoc">STL class.</div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_ac9690ca598a3ad3f77670ce8f14b582f"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#ac9690ca598a3ad3f77670ce8f14b582f">ripple::reduce_relay::MAX_MESSAGE_THRESHOLD</a></div><div class="ttdeci">static constexpr uint16_t MAX_MESSAGE_THRESHOLD</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00045">ReduceRelayCommon.h:45</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_ac9690ca598a3ad3f77670ce8f14b582f"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#ac9690ca598a3ad3f77670ce8f14b582f">ripple::reduce_relay::MAX_MESSAGE_THRESHOLD</a></div><div class="ttdeci">static constexpr uint16_t MAX_MESSAGE_THRESHOLD</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00049">ReduceRelayCommon.h:49</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_af5659b42b02bf5cb8c8dfdbf8d496c74"><div class="ttname"><a href="namespaceripple.html#af5659b42b02bf5cb8c8dfdbf8d496c74">ripple::squelch</a></div><div class="ttdeci">constexpr Number squelch(Number const &x, Number const &limit) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="Number_8h_source.html#l00358">Number.h:358</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1PeerPartial_html_a7d79ea5c9c02aeb898b8b8f744653e09"><div class="ttname"><a href="classripple_1_1test_1_1PeerPartial.html#a7d79ea5c9c02aeb898b8b8f744653e09">ripple::test::PeerPartial::cluster</a></div><div class="ttdeci">bool cluster() const override</div><div class="ttdoc">Returns true if this connection is a member of the cluster.</div><div class="ttdef"><b>Definition:</b> <a href="reduce__relay__test_8cpp_source.html#l00089">reduce_relay_test.cpp:89</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1test_html_a8449bcc80890d2b41a66c3c17716be0e"><div class="ttname"><a href="namespaceripple_1_1test.html#a8449bcc80890d2b41a66c3c17716be0e">ripple::test::MAX_VALIDATORS</a></div><div class="ttdeci">static constexpr std::uint32_t MAX_VALIDATORS</div><div class="ttdef"><b>Definition:</b> <a href="reduce__relay__test_8cpp_source.html#l00052">reduce_relay_test.cpp:52</a></div></div>
|
||||
@@ -1740,7 +1740,7 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1Network_html_a72a630083c8d9ffb1b4a46a0c95f9e74"><div class="ttname"><a href="classripple_1_1test_1_1Network.html#a72a630083c8d9ffb1b4a46a0c95f9e74">ripple::test::Network::addPeer</a></div><div class="ttdeci">Peer::id_t addPeer()</div><div class="ttdef"><b>Definition:</b> <a href="reduce__relay__test_8cpp_source.html#l00721">reduce_relay_test.cpp:721</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1Link_html_a806e312c160233bec43aaddd8927873b"><div class="ttname"><a href="classripple_1_1test_1_1Link.html#a806e312c160233bec43aaddd8927873b">ripple::test::Link::latency_</a></div><div class="ttdeci">Latency latency_</div><div class="ttdef"><b>Definition:</b> <a href="reduce__relay__test_8cpp_source.html#l00305">reduce_relay_test.cpp:305</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1OverlaySim_html_a01d6064b91e2d258d751e05a497c0c69"><div class="ttname"><a href="classripple_1_1test_1_1OverlaySim.html#a01d6064b91e2d258d751e05a497c0c69">ripple::test::OverlaySim::clear</a></div><div class="ttdeci">void clear()</div><div class="ttdef"><b>Definition:</b> <a href="reduce__relay__test_8cpp_source.html#l00518">reduce_relay_test.cpp:518</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_ac372ea9dc11d2f21e2856a5f640ace39"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#ac372ea9dc11d2f21e2856a5f640ace39">ripple::reduce_relay::IDLED</a></div><div class="ttdeci">static constexpr auto IDLED</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00039">ReduceRelayCommon.h:39</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_ac372ea9dc11d2f21e2856a5f640ace39"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#ac372ea9dc11d2f21e2856a5f640ace39">ripple::reduce_relay::IDLED</a></div><div class="ttdeci">static constexpr auto IDLED</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00043">ReduceRelayCommon.h:43</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1OverlaySim_html_ac62f924feab7ce9b9f35699d8d5446c9"><div class="ttname"><a href="classripple_1_1test_1_1OverlaySim.html#ac62f924feab7ce9b9f35699d8d5446c9">ripple::test::OverlaySim::deletePeer</a></div><div class="ttdeci">void deletePeer(Peer::id_t id, bool useCache=true)</div><div class="ttdef"><b>Definition:</b> <a href="reduce__relay__test_8cpp_source.html#l00580">reduce_relay_test.cpp:580</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1Validator_html_a4cb1d82e212d8ac23c728e47f9135fb5"><div class="ttname"><a href="classripple_1_1test_1_1Validator.html#a4cb1d82e212d8ac23c728e47f9135fb5">ripple::test::Validator::linkDown</a></div><div class="ttdeci">void linkDown(Peer::id_t id)</div><div class="ttdef"><b>Definition:</b> <a href="reduce__relay__test_8cpp_source.html#l00433">reduce_relay_test.cpp:433</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1Validator_html_ac24116098b70562626a8a5d508d8a293"><div class="ttname"><a href="classripple_1_1test_1_1Validator.html#ac24116098b70562626a8a5d508d8a293">ripple::test::Validator::send</a></div><div class="ttdeci">void send(std::vector< Peer::id_t > peers, SquelchCB f)</div><div class="ttdoc">Send to specific peers.</div><div class="ttdef"><b>Definition:</b> <a href="reduce__relay__test_8cpp_source.html#l00400">reduce_relay_test.cpp:400</a></div></div>
|
||||
@@ -1854,7 +1854,7 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1reduce__relay__test_html_a05fd87af2d970d2222a3faef42766f11"><div class="ttname"><a href="classripple_1_1test_1_1reduce__relay__test.html#a05fd87af2d970d2222a3faef42766f11">ripple::test::reduce_relay_test::testSquelchedPeerDisconnects</a></div><div class="ttdeci">void testSquelchedPeerDisconnects(bool log)</div><div class="ttdoc">Squelched peer disconnects.</div><div class="ttdef"><b>Definition:</b> <a href="reduce__relay__test_8cpp_source.html#l01284">reduce_relay_test.cpp:1284</a></div></div>
|
||||
<div class="ttc" id="aset_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/set.html">std::set</a></div><div class="ttdoc">STL class.</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html">ripple::test::jtx::Env</a></div><div class="ttdoc">A transaction testing environment.</div><div class="ttdef"><b>Definition:</b> <a href="Env_8h_source.html#l00117">Env.h:117</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_a70abeffc314ff9ccea086d5e5692b13f"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#a70abeffc314ff9ccea086d5e5692b13f">ripple::reduce_relay::MAX_SELECTED_PEERS</a></div><div class="ttdeci">static constexpr uint16_t MAX_SELECTED_PEERS</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00047">ReduceRelayCommon.h:47</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1reduce__relay_html_a70abeffc314ff9ccea086d5e5692b13f"><div class="ttname"><a href="namespaceripple_1_1reduce__relay.html#a70abeffc314ff9ccea086d5e5692b13f">ripple::reduce_relay::MAX_SELECTED_PEERS</a></div><div class="ttdeci">static constexpr uint16_t MAX_SELECTED_PEERS</div><div class="ttdef"><b>Definition:</b> <a href="ReduceRelayCommon_8h_source.html#l00051">ReduceRelayCommon.h:51</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1reduce__relay__test_html_a57e1b32960f6d55e25f6e5bcb9b50459"><div class="ttname"><a href="classripple_1_1test_1_1reduce__relay__test.html#a57e1b32960f6d55e25f6e5bcb9b50459">ripple::test::reduce_relay_test::testPeerUnsquelched</a></div><div class="ttdeci">void testPeerUnsquelched(bool log)</div><div class="ttdoc">Receiving message from squelched peer should change the slot's state to Counting.</div><div class="ttdef"><b>Definition:</b> <a href="reduce__relay__test_8cpp_source.html#l01154">reduce_relay_test.cpp:1154</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1OverlaySim_html_a793b2305564ce5e1fb8a38656dd5e1fd"><div class="ttname"><a href="classripple_1_1test_1_1OverlaySim.html#a793b2305564ce5e1fb8a38656dd5e1fd">ripple::test::OverlaySim::getSelected</a></div><div class="ttdeci">std::set< id_t > getSelected(PublicKey const &validator)</div><div class="ttdef"><b>Definition:</b> <a href="reduce__relay__test_8cpp_source.html#l00626">reduce_relay_test.cpp:626</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1Network_html_ae7964a07e45968f0dcad51055974e9db"><div class="ttname"><a href="classripple_1_1test_1_1Network.html#ae7964a07e45968f0dcad51055974e9db">ripple::test::Network::init</a></div><div class="ttdeci">void init()</div><div class="ttdef"><b>Definition:</b> <a href="reduce__relay__test_8cpp_source.html#l00697">reduce_relay_test.cpp:697</a></div></div>
|
||||
|
||||
Reference in New Issue
Block a user