mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-23 04:25:51 +00:00
deploy: c233df720a
This commit is contained in:
@@ -143,117 +143,121 @@ $(function() {
|
||||
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span>}</div>
|
||||
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> </div>
|
||||
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span><span class="keywordtype">bool</span></div>
|
||||
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"><a class="line" href="classripple_1_1HashRouter.html#aac29c2160c4d24ff6536c5a562b627a4"> 68</a></span><a class="code hl_function" href="classripple_1_1HashRouter.html#a86c862f1b0722d061b3724ff34a53572">HashRouter::addSuppressionPeer</a>(<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& key, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">PeerShortID</a> peer, <span class="keywordtype">int</span>& flags)</div>
|
||||
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span>{</div>
|
||||
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> lock(<a class="code hl_variable" href="classripple_1_1HashRouter.html#a311812f9ac5539ce4d2f500283d67c96">mutex_</a>);</div>
|
||||
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> </div>
|
||||
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">auto</span> [s, created] = <a class="code hl_function" href="classripple_1_1HashRouter.html#ad292b17376920b23d1ee3748f2b76d76">emplace</a>(key);</div>
|
||||
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> s.addPeer(peer);</div>
|
||||
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> flags = s.getFlags();</div>
|
||||
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keywordflow">return</span> created;</div>
|
||||
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span>}</div>
|
||||
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> </div>
|
||||
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span><span class="keywordtype">bool</span></div>
|
||||
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"><a class="line" href="classripple_1_1HashRouter.html#a2a2ef462b7dc7e845d7c0fa55cdb3665"> 79</a></span><a class="code hl_function" href="classripple_1_1HashRouter.html#a2a2ef462b7dc7e845d7c0fa55cdb3665">HashRouter::shouldProcess</a>(</div>
|
||||
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& key,</div>
|
||||
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">PeerShortID</a> peer,</div>
|
||||
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">int</span>& flags,</div>
|
||||
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a> tx_interval)</div>
|
||||
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span>{</div>
|
||||
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> lock(<a class="code hl_variable" href="classripple_1_1HashRouter.html#a311812f9ac5539ce4d2f500283d67c96">mutex_</a>);</div>
|
||||
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> </div>
|
||||
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <span class="keyword">auto</span> result = <a class="code hl_function" href="classripple_1_1HashRouter.html#ad292b17376920b23d1ee3748f2b76d76">emplace</a>(key);</div>
|
||||
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="keyword">auto</span>& s = result.first;</div>
|
||||
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> s.addPeer(peer);</div>
|
||||
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> flags = s.getFlags();</div>
|
||||
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keywordflow">return</span> s.shouldProcess(<a class="code hl_variable" href="classripple_1_1HashRouter.html#a1b438816ee148190c798135febda93eb">suppressionMap_</a>.clock().now(), tx_interval);</div>
|
||||
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span>}</div>
|
||||
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> </div>
|
||||
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span><span class="keywordtype">int</span></div>
|
||||
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"><a class="line" href="classripple_1_1HashRouter.html#a34019a21932ce1a1c6850da761d8bbb6"> 95</a></span><a class="code hl_function" href="classripple_1_1HashRouter.html#a34019a21932ce1a1c6850da761d8bbb6">HashRouter::getFlags</a>(<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& key)</div>
|
||||
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span>{</div>
|
||||
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> lock(<a class="code hl_variable" href="classripple_1_1HashRouter.html#a311812f9ac5539ce4d2f500283d67c96">mutex_</a>);</div>
|
||||
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> </div>
|
||||
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="keywordflow">return</span> <a class="code hl_function" href="classripple_1_1HashRouter.html#ad292b17376920b23d1ee3748f2b76d76">emplace</a>(key).first.getFlags();</div>
|
||||
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span>}</div>
|
||||
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"><a class="line" href="classripple_1_1HashRouter.html#a950980fb9ead4c3101aaf93bf9c5b1f5"> 68</a></span><a class="code hl_function" href="classripple_1_1HashRouter.html#a86c862f1b0722d061b3724ff34a53572">HashRouter::addSuppressionPeer</a>(</div>
|
||||
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& key,</div>
|
||||
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">PeerShortID</a> peer,</div>
|
||||
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <a class="code hl_enumeration" href="namespaceripple.html#a79683ec651b1658886d9c9ce8434f972">HashRouterFlags</a>& flags)</div>
|
||||
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span>{</div>
|
||||
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> lock(<a class="code hl_variable" href="classripple_1_1HashRouter.html#a311812f9ac5539ce4d2f500283d67c96">mutex_</a>);</div>
|
||||
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> </div>
|
||||
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">auto</span> [s, created] = <a class="code hl_function" href="classripple_1_1HashRouter.html#ad292b17376920b23d1ee3748f2b76d76">emplace</a>(key);</div>
|
||||
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> s.addPeer(peer);</div>
|
||||
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> flags = s.getFlags();</div>
|
||||
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keywordflow">return</span> created;</div>
|
||||
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span>}</div>
|
||||
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> </div>
|
||||
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span><span class="keywordtype">bool</span></div>
|
||||
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"><a class="line" href="classripple_1_1HashRouter.html#a5992c9094f191233f2737a36e7dc3f80"> 82</a></span><a class="code hl_function" href="classripple_1_1HashRouter.html#a5992c9094f191233f2737a36e7dc3f80">HashRouter::shouldProcess</a>(</div>
|
||||
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& key,</div>
|
||||
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">PeerShortID</a> peer,</div>
|
||||
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <a class="code hl_enumeration" href="namespaceripple.html#a79683ec651b1658886d9c9ce8434f972">HashRouterFlags</a>& flags,</div>
|
||||
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a> tx_interval)</div>
|
||||
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span>{</div>
|
||||
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> lock(<a class="code hl_variable" href="classripple_1_1HashRouter.html#a311812f9ac5539ce4d2f500283d67c96">mutex_</a>);</div>
|
||||
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> </div>
|
||||
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <span class="keyword">auto</span> result = <a class="code hl_function" href="classripple_1_1HashRouter.html#ad292b17376920b23d1ee3748f2b76d76">emplace</a>(key);</div>
|
||||
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keyword">auto</span>& s = result.first;</div>
|
||||
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> s.addPeer(peer);</div>
|
||||
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> flags = s.getFlags();</div>
|
||||
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keywordflow">return</span> s.shouldProcess(<a class="code hl_variable" href="classripple_1_1HashRouter.html#a1b438816ee148190c798135febda93eb">suppressionMap_</a>.clock().now(), tx_interval);</div>
|
||||
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span>}</div>
|
||||
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> </div>
|
||||
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span><a class="code hl_enumeration" href="namespaceripple.html#a79683ec651b1658886d9c9ce8434f972">HashRouterFlags</a></div>
|
||||
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"><a class="line" href="classripple_1_1HashRouter.html#a22f52b3e9c359e43b7fd0a96ab38e029"> 98</a></span><a class="code hl_function" href="classripple_1_1HashRouter.html#a22f52b3e9c359e43b7fd0a96ab38e029">HashRouter::getFlags</a>(<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& key)</div>
|
||||
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span>{</div>
|
||||
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> lock(<a class="code hl_variable" href="classripple_1_1HashRouter.html#a311812f9ac5539ce4d2f500283d67c96">mutex_</a>);</div>
|
||||
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> </div>
|
||||
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span><span class="keywordtype">bool</span></div>
|
||||
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"><a class="line" href="classripple_1_1HashRouter.html#ac43309b8c10713823bdc233f39931472"> 103</a></span><a class="code hl_function" href="classripple_1_1HashRouter.html#ac43309b8c10713823bdc233f39931472">HashRouter::setFlags</a>(<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& key, <span class="keywordtype">int</span> flags)</div>
|
||||
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span>{</div>
|
||||
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> XRPL_ASSERT(flags, <span class="stringliteral">"ripple::HashRouter::setFlags : valid input"</span>);</div>
|
||||
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> </div>
|
||||
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> lock(<a class="code hl_variable" href="classripple_1_1HashRouter.html#a311812f9ac5539ce4d2f500283d67c96">mutex_</a>);</div>
|
||||
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> </div>
|
||||
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <span class="keyword">auto</span>& s = <a class="code hl_function" href="classripple_1_1HashRouter.html#ad292b17376920b23d1ee3748f2b76d76">emplace</a>(key).first;</div>
|
||||
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <span class="keywordflow">return</span> <a class="code hl_function" href="classripple_1_1HashRouter.html#ad292b17376920b23d1ee3748f2b76d76">emplace</a>(key).first.getFlags();</div>
|
||||
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span>}</div>
|
||||
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> </div>
|
||||
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span><span class="keywordtype">bool</span></div>
|
||||
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"><a class="line" href="classripple_1_1HashRouter.html#a8ee73756ff7f46f1616a2996740abfda"> 106</a></span><a class="code hl_function" href="classripple_1_1HashRouter.html#a8ee73756ff7f46f1616a2996740abfda">HashRouter::setFlags</a>(<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& key, <a class="code hl_enumeration" href="namespaceripple.html#a79683ec651b1658886d9c9ce8434f972">HashRouterFlags</a> flags)</div>
|
||||
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span>{</div>
|
||||
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> XRPL_ASSERT(</div>
|
||||
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <span class="keyword">static_cast<</span><span class="keywordtype">bool</span><span class="keyword">></span>(flags), <span class="stringliteral">"ripple::HashRouter::setFlags : valid input"</span>);</div>
|
||||
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> </div>
|
||||
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <span class="keywordflow">if</span> ((s.getFlags() & flags) == flags)</div>
|
||||
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> </div>
|
||||
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> s.setFlags(flags);</div>
|
||||
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span>}</div>
|
||||
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> lock(<a class="code hl_variable" href="classripple_1_1HashRouter.html#a311812f9ac5539ce4d2f500283d67c96">mutex_</a>);</div>
|
||||
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> </div>
|
||||
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="keyword">auto</span>& s = <a class="code hl_function" href="classripple_1_1HashRouter.html#ad292b17376920b23d1ee3748f2b76d76">emplace</a>(key).first;</div>
|
||||
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> </div>
|
||||
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <span class="keywordflow">if</span> ((s.getFlags() & flags) == flags)</div>
|
||||
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> </div>
|
||||
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span><span class="keyword">auto</span></div>
|
||||
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"><a class="line" href="classripple_1_1HashRouter.html#a29980c0f77dcc002ef322c23080f3266"> 119</a></span><a class="code hl_function" href="classripple_1_1HashRouter.html#a29980c0f77dcc002ef322c23080f3266">HashRouter::shouldRelay</a>(<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& key)</div>
|
||||
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> -> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional<std::set<PeerShortID></a>></div>
|
||||
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span>{</div>
|
||||
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> lock(mutex_);</div>
|
||||
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> </div>
|
||||
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <span class="keyword">auto</span>& s = emplace(key).first;</div>
|
||||
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> </div>
|
||||
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <span class="keywordflow">if</span> (!s.shouldRelay(suppressionMap_.clock().now(), setup_.relayTime))</div>
|
||||
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="keywordflow">return</span> {};</div>
|
||||
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> </div>
|
||||
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <span class="keywordflow">return</span> s.releasePeerSet();</div>
|
||||
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span>}</div>
|
||||
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> </div>
|
||||
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span><a class="code hl_struct" href="structripple_1_1HashRouter_1_1Setup.html">HashRouter::Setup</a></div>
|
||||
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"><a class="line" href="namespaceripple.html#a9f144181c0c4a92fb35865688c3f49be"> 133</a></span><a class="code hl_function" href="namespaceripple.html#a9f144181c0c4a92fb35865688c3f49be">setup_HashRouter</a>(<a class="code hl_class" href="classripple_1_1Config.html">Config</a> <span class="keyword">const</span>& config)</div>
|
||||
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span>{</div>
|
||||
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <span class="keyword">using namespace </span><a class="code hl_namespaceRef" href="http://en.cppreference.com/w/namespacestd_1_1chrono.html">std::chrono</a>;</div>
|
||||
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> </div>
|
||||
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <a class="code hl_struct" href="structripple_1_1HashRouter_1_1Setup.html">HashRouter::Setup</a> setup;</div>
|
||||
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> <span class="keyword">auto</span> <span class="keyword">const</span>& section = config.<a class="code hl_function" href="classripple_1_1BasicConfig.html#a60aca585d76b1121dd4f72b358729456">section</a>(<span class="stringliteral">"hashrouter"</span>);</div>
|
||||
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> </div>
|
||||
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::int32_t</a> tmp;</div>
|
||||
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> </div>
|
||||
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <span class="keywordflow">if</span> (<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/set.html">set</a>(tmp, <span class="stringliteral">"hold_time"</span>, section))</div>
|
||||
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> {</div>
|
||||
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <span class="keywordflow">if</span> (tmp < 12)</div>
|
||||
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> Throw<std::runtime_error>(</div>
|
||||
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <span class="stringliteral">"HashRouter hold time must be at least 12 seconds (the "</span></div>
|
||||
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <span class="stringliteral">"approximate validation time for three ledgers)."</span>);</div>
|
||||
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> setup.<a class="code hl_variable" href="structripple_1_1HashRouter_1_1Setup.html#a9a5e1a72f62bd323048695746aceac2f">holdTime</a> = <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">seconds</a>(tmp);</div>
|
||||
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> }</div>
|
||||
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <span class="keywordflow">if</span> (<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/set.html">set</a>(tmp, <span class="stringliteral">"relay_time"</span>, section))</div>
|
||||
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> {</div>
|
||||
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <span class="keywordflow">if</span> (tmp < 8)</div>
|
||||
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> Throw<std::runtime_error>(</div>
|
||||
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="stringliteral">"HashRouter relay time must be at least 8 seconds (the "</span></div>
|
||||
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="stringliteral">"approximate validation time for two ledgers)."</span>);</div>
|
||||
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> setup.<a class="code hl_variable" href="structripple_1_1HashRouter_1_1Setup.html#ad7ed7b84a49e3bed0db973ebc678bfdd">relayTime</a> = <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">seconds</a>(tmp);</div>
|
||||
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> }</div>
|
||||
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">if</span> (setup.<a class="code hl_variable" href="structripple_1_1HashRouter_1_1Setup.html#ad7ed7b84a49e3bed0db973ebc678bfdd">relayTime</a> > setup.<a class="code hl_variable" href="structripple_1_1HashRouter_1_1Setup.html#a9a5e1a72f62bd323048695746aceac2f">holdTime</a>)</div>
|
||||
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> {</div>
|
||||
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> Throw<std::runtime_error>(</div>
|
||||
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <span class="stringliteral">"HashRouter relay time must be less than or equal to hold time"</span>);</div>
|
||||
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> }</div>
|
||||
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> </div>
|
||||
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> <span class="keywordflow">return</span> setup;</div>
|
||||
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span>}</div>
|
||||
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> </div>
|
||||
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span>} <span class="comment">// namespace ripple</span></div>
|
||||
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> s.setFlags(flags);</div>
|
||||
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span>}</div>
|
||||
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> </div>
|
||||
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span><span class="keyword">auto</span></div>
|
||||
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"><a class="line" href="classripple_1_1HashRouter.html#a29980c0f77dcc002ef322c23080f3266"> 123</a></span><a class="code hl_function" href="classripple_1_1HashRouter.html#a29980c0f77dcc002ef322c23080f3266">HashRouter::shouldRelay</a>(<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& key)</div>
|
||||
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> -> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional<std::set<PeerShortID></a>></div>
|
||||
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span>{</div>
|
||||
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> lock(mutex_);</div>
|
||||
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> </div>
|
||||
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <span class="keyword">auto</span>& s = emplace(key).first;</div>
|
||||
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> </div>
|
||||
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> <span class="keywordflow">if</span> (!s.shouldRelay(suppressionMap_.clock().now(), setup_.relayTime))</div>
|
||||
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> <span class="keywordflow">return</span> {};</div>
|
||||
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> </div>
|
||||
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <span class="keywordflow">return</span> s.releasePeerSet();</div>
|
||||
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span>}</div>
|
||||
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> </div>
|
||||
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span><a class="code hl_struct" href="structripple_1_1HashRouter_1_1Setup.html">HashRouter::Setup</a></div>
|
||||
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"><a class="line" href="namespaceripple.html#a9f144181c0c4a92fb35865688c3f49be"> 137</a></span><a class="code hl_function" href="namespaceripple.html#a9f144181c0c4a92fb35865688c3f49be">setup_HashRouter</a>(<a class="code hl_class" href="classripple_1_1Config.html">Config</a> <span class="keyword">const</span>& config)</div>
|
||||
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span>{</div>
|
||||
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> <span class="keyword">using namespace </span><a class="code hl_namespaceRef" href="http://en.cppreference.com/w/namespacestd_1_1chrono.html">std::chrono</a>;</div>
|
||||
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> </div>
|
||||
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> <a class="code hl_struct" href="structripple_1_1HashRouter_1_1Setup.html">HashRouter::Setup</a> setup;</div>
|
||||
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <span class="keyword">auto</span> <span class="keyword">const</span>& section = config.<a class="code hl_function" href="classripple_1_1BasicConfig.html#a60aca585d76b1121dd4f72b358729456">section</a>(<span class="stringliteral">"hashrouter"</span>);</div>
|
||||
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> </div>
|
||||
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::int32_t</a> tmp;</div>
|
||||
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> </div>
|
||||
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <span class="keywordflow">if</span> (<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/set.html">set</a>(tmp, <span class="stringliteral">"hold_time"</span>, section))</div>
|
||||
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> {</div>
|
||||
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <span class="keywordflow">if</span> (tmp < 12)</div>
|
||||
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> Throw<std::runtime_error>(</div>
|
||||
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <span class="stringliteral">"HashRouter hold time must be at least 12 seconds (the "</span></div>
|
||||
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <span class="stringliteral">"approximate validation time for three ledgers)."</span>);</div>
|
||||
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> setup.<a class="code hl_variable" href="structripple_1_1HashRouter_1_1Setup.html#a9a5e1a72f62bd323048695746aceac2f">holdTime</a> = <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">seconds</a>(tmp);</div>
|
||||
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> }</div>
|
||||
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="keywordflow">if</span> (<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/set.html">set</a>(tmp, <span class="stringliteral">"relay_time"</span>, section))</div>
|
||||
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> {</div>
|
||||
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">if</span> (tmp < 8)</div>
|
||||
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> Throw<std::runtime_error>(</div>
|
||||
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <span class="stringliteral">"HashRouter relay time must be at least 8 seconds (the "</span></div>
|
||||
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> <span class="stringliteral">"approximate validation time for two ledgers)."</span>);</div>
|
||||
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> setup.<a class="code hl_variable" href="structripple_1_1HashRouter_1_1Setup.html#ad7ed7b84a49e3bed0db973ebc678bfdd">relayTime</a> = <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">seconds</a>(tmp);</div>
|
||||
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> }</div>
|
||||
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="keywordflow">if</span> (setup.<a class="code hl_variable" href="structripple_1_1HashRouter_1_1Setup.html#ad7ed7b84a49e3bed0db973ebc678bfdd">relayTime</a> > setup.<a class="code hl_variable" href="structripple_1_1HashRouter_1_1Setup.html#a9a5e1a72f62bd323048695746aceac2f">holdTime</a>)</div>
|
||||
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> {</div>
|
||||
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> Throw<std::runtime_error>(</div>
|
||||
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <span class="stringliteral">"HashRouter relay time must be less than or equal to hold time"</span>);</div>
|
||||
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> }</div>
|
||||
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> </div>
|
||||
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> <span class="keywordflow">return</span> setup;</div>
|
||||
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span>}</div>
|
||||
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> </div>
|
||||
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span>} <span class="comment">// namespace ripple</span></div>
|
||||
<div class="ttc" id="aclassripple_1_1BasicConfig_html_a60aca585d76b1121dd4f72b358729456"><div class="ttname"><a href="classripple_1_1BasicConfig.html#a60aca585d76b1121dd4f72b358729456">ripple::BasicConfig::section</a></div><div class="ttdeci">Section & section(std::string const &name)</div><div class="ttdoc">Returns the section with the given name.</div><div class="ttdef"><b>Definition:</b> <a href="BasicConfig_8cpp_source.html#l00136">BasicConfig.cpp:136</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Config_html"><div class="ttname"><a href="classripple_1_1Config.html">ripple::Config</a></div><div class="ttdef"><b>Definition:</b> <a href="Config_8h_source.html#l00085">Config.h:86</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1HashRouter_1_1Entry_html"><div class="ttname"><a href="classripple_1_1HashRouter_1_1Entry.html">ripple::HashRouter::Entry</a></div><div class="ttdoc">An entry in the routing table.</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8h_source.html#l00090">HashRouter.h:91</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1HashRouter_html_a1b438816ee148190c798135febda93eb"><div class="ttname"><a href="classripple_1_1HashRouter.html#a1b438816ee148190c798135febda93eb">ripple::HashRouter::suppressionMap_</a></div><div class="ttdeci">beast::aged_unordered_map< uint256, Entry, Stopwatch::clock_type, hardened_hash< strong_hash > > suppressionMap_</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8h_source.html#l00244">HashRouter.h:244</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1HashRouter_html_a29980c0f77dcc002ef322c23080f3266"><div class="ttname"><a href="classripple_1_1HashRouter.html#a29980c0f77dcc002ef322c23080f3266">ripple::HashRouter::shouldRelay</a></div><div class="ttdeci">std::optional< std::set< PeerShortID > > shouldRelay(uint256 const &key)</div><div class="ttdoc">Determines whether the hashed item should be relayed.</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8cpp_source.html#l00119">HashRouter.cpp:119</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1HashRouter_html_a2a2ef462b7dc7e845d7c0fa55cdb3665"><div class="ttname"><a href="classripple_1_1HashRouter.html#a2a2ef462b7dc7e845d7c0fa55cdb3665">ripple::HashRouter::shouldProcess</a></div><div class="ttdeci">bool shouldProcess(uint256 const &key, PeerShortID peer, int &flags, std::chrono::seconds tx_interval)</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8cpp_source.html#l00079">HashRouter.cpp:79</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1HashRouter_html_a311812f9ac5539ce4d2f500283d67c96"><div class="ttname"><a href="classripple_1_1HashRouter.html#a311812f9ac5539ce4d2f500283d67c96">ripple::HashRouter::mutex_</a></div><div class="ttdeci">std::mutex mutex_</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8h_source.html#l00233">HashRouter.h:233</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1HashRouter_html_a34019a21932ce1a1c6850da761d8bbb6"><div class="ttname"><a href="classripple_1_1HashRouter.html#a34019a21932ce1a1c6850da761d8bbb6">ripple::HashRouter::getFlags</a></div><div class="ttdeci">int getFlags(uint256 const &key)</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8cpp_source.html#l00095">HashRouter.cpp:95</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1HashRouter_1_1Entry_html"><div class="ttname"><a href="classripple_1_1HashRouter_1_1Entry.html">ripple::HashRouter::Entry</a></div><div class="ttdoc">An entry in the routing table.</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8h_source.html#l00129">HashRouter.h:130</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1HashRouter_html_a1b438816ee148190c798135febda93eb"><div class="ttname"><a href="classripple_1_1HashRouter.html#a1b438816ee148190c798135febda93eb">ripple::HashRouter::suppressionMap_</a></div><div class="ttdeci">beast::aged_unordered_map< uint256, Entry, Stopwatch::clock_type, hardened_hash< strong_hash > > suppressionMap_</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8h_source.html#l00286">HashRouter.h:286</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1HashRouter_html_a22f52b3e9c359e43b7fd0a96ab38e029"><div class="ttname"><a href="classripple_1_1HashRouter.html#a22f52b3e9c359e43b7fd0a96ab38e029">ripple::HashRouter::getFlags</a></div><div class="ttdeci">HashRouterFlags getFlags(uint256 const &key)</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8cpp_source.html#l00098">HashRouter.cpp:98</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1HashRouter_html_a29980c0f77dcc002ef322c23080f3266"><div class="ttname"><a href="classripple_1_1HashRouter.html#a29980c0f77dcc002ef322c23080f3266">ripple::HashRouter::shouldRelay</a></div><div class="ttdeci">std::optional< std::set< PeerShortID > > shouldRelay(uint256 const &key)</div><div class="ttdoc">Determines whether the hashed item should be relayed.</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8cpp_source.html#l00123">HashRouter.cpp:123</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1HashRouter_html_a311812f9ac5539ce4d2f500283d67c96"><div class="ttname"><a href="classripple_1_1HashRouter.html#a311812f9ac5539ce4d2f500283d67c96">ripple::HashRouter::mutex_</a></div><div class="ttdeci">std::mutex mutex_</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8h_source.html#l00275">HashRouter.h:275</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1HashRouter_html_a5992c9094f191233f2737a36e7dc3f80"><div class="ttname"><a href="classripple_1_1HashRouter.html#a5992c9094f191233f2737a36e7dc3f80">ripple::HashRouter::shouldProcess</a></div><div class="ttdeci">bool shouldProcess(uint256 const &key, PeerShortID peer, HashRouterFlags &flags, std::chrono::seconds tx_interval)</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8cpp_source.html#l00082">HashRouter.cpp:82</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1HashRouter_html_a86c862f1b0722d061b3724ff34a53572"><div class="ttname"><a href="classripple_1_1HashRouter.html#a86c862f1b0722d061b3724ff34a53572">ripple::HashRouter::addSuppressionPeer</a></div><div class="ttdeci">bool addSuppressionPeer(uint256 const &key, PeerShortID peer)</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8cpp_source.html#l00052">HashRouter.cpp:52</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1HashRouter_html_a8ee73756ff7f46f1616a2996740abfda"><div class="ttname"><a href="classripple_1_1HashRouter.html#a8ee73756ff7f46f1616a2996740abfda">ripple::HashRouter::setFlags</a></div><div class="ttdeci">bool setFlags(uint256 const &key, HashRouterFlags flags)</div><div class="ttdoc">Set the flags on a hash.</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8cpp_source.html#l00106">HashRouter.cpp:106</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1HashRouter_html_aa7ef4afb150d0fda3aa3e97e3d23fe2a"><div class="ttname"><a href="classripple_1_1HashRouter.html#aa7ef4afb150d0fda3aa3e97e3d23fe2a">ripple::HashRouter::addSuppressionPeerWithStatus</a></div><div class="ttdeci">std::pair< bool, std::optional< Stopwatch::time_point > > addSuppressionPeerWithStatus(uint256 const &key, PeerShortID peer)</div><div class="ttdoc">Add a suppression peer and get message's relay status.</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8cpp_source.html#l00058">HashRouter.cpp:58</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1HashRouter_html_ac43309b8c10713823bdc233f39931472"><div class="ttname"><a href="classripple_1_1HashRouter.html#ac43309b8c10713823bdc233f39931472">ripple::HashRouter::setFlags</a></div><div class="ttdeci">bool setFlags(uint256 const &key, int flags)</div><div class="ttdoc">Set the flags on a hash.</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8cpp_source.html#l00103">HashRouter.cpp:103</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1HashRouter_html_ad292b17376920b23d1ee3748f2b76d76"><div class="ttname"><a href="classripple_1_1HashRouter.html#ad292b17376920b23d1ee3748f2b76d76">ripple::HashRouter::emplace</a></div><div class="ttdeci">std::pair< Entry &, bool > emplace(uint256 const &)</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8cpp_source.html#l00026">HashRouter.cpp:26</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1HashRouter_html_af21ce5a3efbbd0d4e7eca2685b6af1c6"><div class="ttname"><a href="classripple_1_1HashRouter.html#af21ce5a3efbbd0d4e7eca2685b6af1c6">ripple::HashRouter::addSuppression</a></div><div class="ttdeci">void addSuppression(uint256 const &key)</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8cpp_source.html#l00044">HashRouter.cpp:44</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1base__uint_html"><div class="ttname"><a href="classripple_1_1base__uint.html">ripple::base_uint< 256 ></a></div></div>
|
||||
@@ -262,15 +266,16 @@ $(function() {
|
||||
<div class="ttc" id="alock_guard_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</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="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="algorithm_8h_source.html#l00025">algorithm.h:25</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a9f144181c0c4a92fb35865688c3f49be"><div class="ttname"><a href="namespaceripple.html#a9f144181c0c4a92fb35865688c3f49be">ripple::setup_HashRouter</a></div><div class="ttdeci">HashRouter::Setup setup_HashRouter(Config const &config)</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8cpp_source.html#l00133">HashRouter.cpp:133</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a79683ec651b1658886d9c9ce8434f972"><div class="ttname"><a href="namespaceripple.html#a79683ec651b1658886d9c9ce8434f972">ripple::HashRouterFlags</a></div><div class="ttdeci">HashRouterFlags</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8h_source.html#l00034">HashRouter.h:34</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a9f144181c0c4a92fb35865688c3f49be"><div class="ttname"><a href="namespaceripple.html#a9f144181c0c4a92fb35865688c3f49be">ripple::setup_HashRouter</a></div><div class="ttdeci">HashRouter::Setup setup_HashRouter(Config const &config)</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8cpp_source.html#l00137">HashRouter.cpp:137</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>
|
||||
<div class="ttc" id="aoptional_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional</a></div></div>
|
||||
<div class="ttc" id="apair_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a></div></div>
|
||||
<div class="ttc" id="aref_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/functional/ref.html">std::ref</a></div><div class="ttdeci">T ref(T... args)</div></div>
|
||||
<div class="ttc" id="aset_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/set.html">std::set</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1HashRouter_1_1Setup_html"><div class="ttname"><a href="structripple_1_1HashRouter_1_1Setup.html">ripple::HashRouter::Setup</a></div><div class="ttdoc">Structure used to customize HashRouter behavior.</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8h_source.html#l00071">HashRouter.h:72</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1HashRouter_1_1Setup_html_a9a5e1a72f62bd323048695746aceac2f"><div class="ttname"><a href="structripple_1_1HashRouter_1_1Setup.html#a9a5e1a72f62bd323048695746aceac2f">ripple::HashRouter::Setup::holdTime</a></div><div class="ttdeci">seconds holdTime</div><div class="ttdoc">Expiration time for a hash entry.</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8h_source.html#l00080">HashRouter.h:80</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1HashRouter_1_1Setup_html_ad7ed7b84a49e3bed0db973ebc678bfdd"><div class="ttname"><a href="structripple_1_1HashRouter_1_1Setup.html#ad7ed7b84a49e3bed0db973ebc678bfdd">ripple::HashRouter::Setup::relayTime</a></div><div class="ttdeci">seconds relayTime</div><div class="ttdoc">Amount of time required before a relayed item will be relayed again.</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8h_source.html#l00084">HashRouter.h:84</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1HashRouter_1_1Setup_html"><div class="ttname"><a href="structripple_1_1HashRouter_1_1Setup.html">ripple::HashRouter::Setup</a></div><div class="ttdoc">Structure used to customize HashRouter behavior.</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8h_source.html#l00110">HashRouter.h:111</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1HashRouter_1_1Setup_html_a9a5e1a72f62bd323048695746aceac2f"><div class="ttname"><a href="structripple_1_1HashRouter_1_1Setup.html#a9a5e1a72f62bd323048695746aceac2f">ripple::HashRouter::Setup::holdTime</a></div><div class="ttdeci">seconds holdTime</div><div class="ttdoc">Expiration time for a hash entry.</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8h_source.html#l00119">HashRouter.h:119</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1HashRouter_1_1Setup_html_ad7ed7b84a49e3bed0db973ebc678bfdd"><div class="ttname"><a href="structripple_1_1HashRouter_1_1Setup.html#ad7ed7b84a49e3bed0db973ebc678bfdd">ripple::HashRouter::Setup::relayTime</a></div><div class="ttdeci">seconds relayTime</div><div class="ttdoc">Amount of time required before a relayed item will be relayed again.</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8h_source.html#l00123">HashRouter.h:123</a></div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
|
||||
Reference in New Issue
Block a user