This commit is contained in:
seelabs
2024-02-26 11:31:34 +00:00
parent c17354139b
commit c9e2a2ca61
1447 changed files with 60587 additions and 46373 deletions

View File

@@ -180,113 +180,114 @@ $(function() {
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; {<a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a8ea4e65eae406a522497b5a12dcde036">rpcSTREAM_MALFORMED</a>, <span class="stringliteral">&quot;malformedStream&quot;</span>, <span class="stringliteral">&quot;Stream malformed.&quot;</span>, 400},</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; {<a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a41779a85a65f6faeb648c960e77f388f">rpcTOO_BUSY</a>, <span class="stringliteral">&quot;tooBusy&quot;</span>, <span class="stringliteral">&quot;The server is too busy to help you now.&quot;</span>, 503},</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; {<a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a34422dc324e558835f6b63c7f430729a">rpcTXN_NOT_FOUND</a>, <span class="stringliteral">&quot;txnNotFound&quot;</span>, <span class="stringliteral">&quot;Transaction not found.&quot;</span>, 404},</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; {<a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a2e316006c45784996f1c36ff28ecf795">rpcUNKNOWN_COMMAND</a>, <span class="stringliteral">&quot;unknownCmd&quot;</span>, <span class="stringliteral">&quot;Unknown method.&quot;</span>, 405}};</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment">// clang-format on</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; </div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment">// Sort and validate unorderedErrorInfos at compile time. Should be</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment">// converted to consteval when get to C++20.</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="keyword">template</span> &lt;<span class="keywordtype">int</span> M, <span class="keywordtype">int</span> N&gt;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;constexpr <span class="keyword">auto</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="namespaceripple_1_1RPC_1_1detail.html#ae8a277a8a38dcb1d28661036537336b4"> 119</a></span>&#160;<a class="code" href="namespaceripple_1_1RPC_1_1detail.html#ae8a277a8a38dcb1d28661036537336b4">sortErrorInfos</a>(<a class="code" href="structripple_1_1RPC_1_1ErrorInfo.html">ErrorInfo</a> <span class="keyword">const</span> (&amp;unordered)[N]) -&gt; <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/array.html">std::array&lt;ErrorInfo, M&gt;</a></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;{</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/array.html">std::array&lt;ErrorInfo, M&gt;</a> ret = {};</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; </div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="structripple_1_1RPC_1_1ErrorInfo.html">ErrorInfo</a> <span class="keyword">const</span>&amp; info : unordered)</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; {</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">if</span> (info.code &lt;= <a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a6f69b339743d28bbc421fa3b31437173">rpcSUCCESS</a> || info.code &gt; <a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a12405c5cf850257ddac293134371f64d">rpcLAST</a>)</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">throw</span>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/out_of_range.html">std::out_of_range</a>(<span class="stringliteral">&quot;Invalid error_code_i&quot;</span>));</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; </div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="comment">// The first valid code follows rpcSUCCESS immediately.</span></div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; static_assert(<a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a6f69b339743d28bbc421fa3b31437173">rpcSUCCESS</a> == 0, <span class="stringliteral">&quot;Unexpected error_code_i layout.&quot;</span>);</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordtype">int</span> <span class="keyword">const</span> index{info.code - 1};</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; </div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">if</span> (ret[index].code != <a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932aa4f3cb4313d397ba327dfc49ce439cae">rpcUNKNOWN</a>)</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">throw</span>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/invalid_argument.html">std::invalid_argument</a>(<span class="stringliteral">&quot;Duplicate error_code_i in list&quot;</span>));</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; </div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; ret[index] = info;</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; }</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; </div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="comment">// Verify that all entries are filled in starting with 1 and proceeding</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="comment">// to rpcLAST.</span></div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="comment">// It&#39;s okay for there to be missing entries; they will contain the code</span></div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="comment">// rpcUNKNOWN. But other than that all entries should match their index.</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordtype">int</span> codeCount{0};</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordtype">int</span> expect{<a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a89a147d7376535a497c85024dabc9167">rpcBAD_SYNTAX</a> - 1};</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="structripple_1_1RPC_1_1ErrorInfo.html">ErrorInfo</a> <span class="keyword">const</span>&amp; info : ret)</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; {</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; ++expect;</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">if</span> (info.code == <a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932aa4f3cb4313d397ba327dfc49ce439cae">rpcUNKNOWN</a>)</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; </div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">if</span> (info.code != expect)</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">throw</span>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/invalid_argument.html">std::invalid_argument</a>(<span class="stringliteral">&quot;Empty error_code_i in list&quot;</span>));</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; ++codeCount;</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; }</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">if</span> (expect != <a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a12405c5cf850257ddac293134371f64d">rpcLAST</a>)</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">throw</span>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/invalid_argument.html">std::invalid_argument</a>(<span class="stringliteral">&quot;Insufficient list entries&quot;</span>));</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">if</span> (codeCount != N)</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">throw</span>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/invalid_argument.html">std::invalid_argument</a>(<span class="stringliteral">&quot;Bad handling of unorderedErrorInfos&quot;</span>));</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; </div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">return</span> ret;</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;}</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; </div>
<div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="namespaceripple_1_1RPC_1_1detail.html#aa702f450a33affe49c682659ea86ad90"> 163</a></span>&#160;constexpr <span class="keyword">auto</span> <a class="code" href="namespaceripple_1_1RPC_1_1detail.html#aa702f450a33affe49c682659ea86ad90">sortedErrorInfos</a>{sortErrorInfos&lt;rpcLAST&gt;(<a class="code" href="namespaceripple_1_1RPC_1_1detail.html#a1c421dba7e45127b0b9173b56ec5d34e">unorderedErrorInfos</a>)};</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; </div>
<div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="namespaceripple_1_1RPC_1_1detail.html#ac52c1b9c7196e379c9a838cde09592bb"> 165</a></span>&#160;constexpr <a class="code" href="structripple_1_1RPC_1_1ErrorInfo.html">ErrorInfo</a> <a class="code" href="namespaceripple_1_1RPC_1_1detail.html#ac52c1b9c7196e379c9a838cde09592bb">unknownError</a>;</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; </div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;} <span class="comment">// namespace detail</span></div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; </div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment">//------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; </div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<a class="code" href="structripple_1_1RPC_1_1ErrorInfo.html">ErrorInfo</a> <span class="keyword">const</span>&amp;</div>
<div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="namespaceripple_1_1RPC.html#aa01c09044342d3707e231b3ede5086f0"> 172</a></span>&#160;<a class="code" href="namespaceripple_1_1RPC.html#aa01c09044342d3707e231b3ede5086f0">get_error_info</a>(<a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932">error_code_i</a> code)</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;{</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">if</span> (code &lt;= rpcSUCCESS || code &gt; <a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a12405c5cf850257ddac293134371f64d">rpcLAST</a>)</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceripple_1_1RPC_1_1detail.html#ac52c1b9c7196e379c9a838cde09592bb">detail::unknownError</a>;</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceripple_1_1RPC_1_1detail.html#aa702f450a33affe49c682659ea86ad90">detail::sortedErrorInfos</a>[code - 1];</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;}</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; </div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;<a class="code" href="classJson_1_1Value.html">Json::Value</a></div>
<div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="namespaceripple_1_1RPC.html#a2cd6200f6709780fcf1dd26ec9cd2866"> 180</a></span>&#160;<a class="code" href="namespaceripple_1_1RPC.html#a2cd6200f6709780fcf1dd26ec9cd2866">make_error</a>(<a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932">error_code_i</a> code)</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;{</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <a class="code" href="classJson_1_1Value.html">Json::Value</a> json;</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <a class="code" href="namespaceripple_1_1RPC.html#a577bde9602a28f59e445c496f92a1ccf">inject_error</a>(code, json);</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keywordflow">return</span> json;</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;}</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; </div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<a class="code" href="classJson_1_1Value.html">Json::Value</a></div>
<div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="namespaceripple_1_1RPC.html#a13f1f4cafeef7807d8e84fc1b4980079"> 188</a></span>&#160;<a class="code" href="namespaceripple_1_1RPC.html#a2cd6200f6709780fcf1dd26ec9cd2866">make_error</a>(<a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932">error_code_i</a> code, <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>&amp; message)</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;{</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <a class="code" href="classJson_1_1Value.html">Json::Value</a> json;</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <a class="code" href="namespaceripple_1_1RPC.html#a577bde9602a28f59e445c496f92a1ccf">inject_error</a>(code, message, json);</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">return</span> json;</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;}</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; </div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="keywordtype">bool</span></div>
<div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="namespaceripple_1_1RPC.html#a1a79f0c33d1405fe85c40d63a49658bd"> 196</a></span>&#160;<a class="code" href="namespaceripple_1_1RPC.html#a1a79f0c33d1405fe85c40d63a49658bd">contains_error</a>(<a class="code" href="classJson_1_1Value.html">Json::Value</a> <span class="keyword">const</span>&amp; json)</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;{</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">if</span> (json.<a class="code" href="classJson_1_1Value.html#a8cf96c0f2a552051fcfc78ffee60e037">isObject</a>() &amp;&amp; json.<a class="code" href="classJson_1_1Value.html#ad6d4df2227321bab05e86667609a7fad">isMember</a>(jss::error))</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;}</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; </div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;<span class="keywordtype">int</span></div>
<div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="namespaceripple_1_1RPC.html#a73e0accbac78ba2dda7a2ba0f3889800"> 204</a></span>&#160;<a class="code" href="namespaceripple_1_1RPC.html#a73e0accbac78ba2dda7a2ba0f3889800">error_code_http_status</a>(<a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932">error_code_i</a> code)</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;{</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceripple_1_1RPC.html#aa01c09044342d3707e231b3ede5086f0">get_error_info</a>(code).<a class="code" href="structripple_1_1RPC_1_1ErrorInfo.html#a08285f5655ec9e56b914d8d699820a93">http_status</a>;</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;}</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; </div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;} <span class="comment">// namespace RPC</span></div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; </div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;<a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a></div>
<div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="namespaceripple.html#a23f02900cac703bddf91fff471cb9d65"> 212</a></span>&#160;<a class="code" href="namespaceripple.html#a23f02900cac703bddf91fff471cb9d65">rpcErrorString</a>(<a class="code" href="classJson_1_1Value.html">Json::Value</a> <span class="keyword">const</span>&amp; jv)</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;{</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; assert(<a class="code" href="namespaceripple_1_1RPC.html#a1a79f0c33d1405fe85c40d63a49658bd">RPC::contains_error</a>(jv));</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordflow">return</span> jv[jss::error].<a class="code" href="classJson_1_1Value.html#ab0d86bf425efefd03513e8dbfaca317b">asString</a>() + jv[jss::error_message].<a class="code" href="classJson_1_1Value.html#ab0d86bf425efefd03513e8dbfaca317b">asString</a>();</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;}</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; </div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;} <span class="comment">// namespace ripple</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; {<a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a2e316006c45784996f1c36ff28ecf795">rpcUNKNOWN_COMMAND</a>, <span class="stringliteral">&quot;unknownCmd&quot;</span>, <span class="stringliteral">&quot;Unknown method.&quot;</span>, 405},</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; {<a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a1a87d932a3aa4d8c546fa831ce6f3804">rpcORACLE_MALFORMED</a>, <span class="stringliteral">&quot;oracleMalformed&quot;</span>, <span class="stringliteral">&quot;Oracle request is malformed.&quot;</span>, 400}};</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment">// clang-format on</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; </div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment">// Sort and validate unorderedErrorInfos at compile time. Should be</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment">// converted to consteval when get to C++20.</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="keyword">template</span> &lt;<span class="keywordtype">int</span> M, <span class="keywordtype">int</span> N&gt;</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;constexpr <span class="keyword">auto</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="namespaceripple_1_1RPC_1_1detail.html#ae8a277a8a38dcb1d28661036537336b4"> 120</a></span>&#160;<a class="code" href="namespaceripple_1_1RPC_1_1detail.html#ae8a277a8a38dcb1d28661036537336b4">sortErrorInfos</a>(<a class="code" href="structripple_1_1RPC_1_1ErrorInfo.html">ErrorInfo</a> <span class="keyword">const</span> (&amp;unordered)[N]) -&gt; <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/array.html">std::array&lt;ErrorInfo, M&gt;</a></div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;{</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/array.html">std::array&lt;ErrorInfo, M&gt;</a> ret = {};</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; </div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="structripple_1_1RPC_1_1ErrorInfo.html">ErrorInfo</a> <span class="keyword">const</span>&amp; info : unordered)</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; {</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">if</span> (info.code &lt;= <a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a6f69b339743d28bbc421fa3b31437173">rpcSUCCESS</a> || info.code &gt; <a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a12405c5cf850257ddac293134371f64d">rpcLAST</a>)</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">throw</span>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/out_of_range.html">std::out_of_range</a>(<span class="stringliteral">&quot;Invalid error_code_i&quot;</span>));</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; </div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="comment">// The first valid code follows rpcSUCCESS immediately.</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; static_assert(<a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a6f69b339743d28bbc421fa3b31437173">rpcSUCCESS</a> == 0, <span class="stringliteral">&quot;Unexpected error_code_i layout.&quot;</span>);</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordtype">int</span> <span class="keyword">const</span> index{info.code - 1};</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; </div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">if</span> (ret[index].code != <a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932aa4f3cb4313d397ba327dfc49ce439cae">rpcUNKNOWN</a>)</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">throw</span>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/invalid_argument.html">std::invalid_argument</a>(<span class="stringliteral">&quot;Duplicate error_code_i in list&quot;</span>));</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; </div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; ret[index] = info;</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; }</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; </div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="comment">// Verify that all entries are filled in starting with 1 and proceeding</span></div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="comment">// to rpcLAST.</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="comment">// It&#39;s okay for there to be missing entries; they will contain the code</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="comment">// rpcUNKNOWN. But other than that all entries should match their index.</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordtype">int</span> codeCount{0};</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordtype">int</span> expect{<a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a89a147d7376535a497c85024dabc9167">rpcBAD_SYNTAX</a> - 1};</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="structripple_1_1RPC_1_1ErrorInfo.html">ErrorInfo</a> <span class="keyword">const</span>&amp; info : ret)</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; {</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; ++expect;</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">if</span> (info.code == <a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932aa4f3cb4313d397ba327dfc49ce439cae">rpcUNKNOWN</a>)</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; </div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">if</span> (info.code != expect)</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordflow">throw</span>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/invalid_argument.html">std::invalid_argument</a>(<span class="stringliteral">&quot;Empty error_code_i in list&quot;</span>));</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; ++codeCount;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; }</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">if</span> (expect != <a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a12405c5cf850257ddac293134371f64d">rpcLAST</a>)</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">throw</span>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/invalid_argument.html">std::invalid_argument</a>(<span class="stringliteral">&quot;Insufficient list entries&quot;</span>));</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">if</span> (codeCount != N)</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">throw</span>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/invalid_argument.html">std::invalid_argument</a>(<span class="stringliteral">&quot;Bad handling of unorderedErrorInfos&quot;</span>));</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; </div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">return</span> ret;</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;}</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; </div>
<div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="namespaceripple_1_1RPC_1_1detail.html#aa702f450a33affe49c682659ea86ad90"> 164</a></span>&#160;constexpr <span class="keyword">auto</span> <a class="code" href="namespaceripple_1_1RPC_1_1detail.html#aa702f450a33affe49c682659ea86ad90">sortedErrorInfos</a>{sortErrorInfos&lt;rpcLAST&gt;(<a class="code" href="namespaceripple_1_1RPC_1_1detail.html#a1c421dba7e45127b0b9173b56ec5d34e">unorderedErrorInfos</a>)};</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; </div>
<div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="namespaceripple_1_1RPC_1_1detail.html#ac52c1b9c7196e379c9a838cde09592bb"> 166</a></span>&#160;constexpr <a class="code" href="structripple_1_1RPC_1_1ErrorInfo.html">ErrorInfo</a> <a class="code" href="namespaceripple_1_1RPC_1_1detail.html#ac52c1b9c7196e379c9a838cde09592bb">unknownError</a>;</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; </div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;} <span class="comment">// namespace detail</span></div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; </div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="comment">//------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; </div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<a class="code" href="structripple_1_1RPC_1_1ErrorInfo.html">ErrorInfo</a> <span class="keyword">const</span>&amp;</div>
<div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="namespaceripple_1_1RPC.html#aa01c09044342d3707e231b3ede5086f0"> 173</a></span>&#160;<a class="code" href="namespaceripple_1_1RPC.html#aa01c09044342d3707e231b3ede5086f0">get_error_info</a>(<a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932">error_code_i</a> code)</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;{</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordflow">if</span> (code &lt;= rpcSUCCESS || code &gt; <a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a12405c5cf850257ddac293134371f64d">rpcLAST</a>)</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceripple_1_1RPC_1_1detail.html#ac52c1b9c7196e379c9a838cde09592bb">detail::unknownError</a>;</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceripple_1_1RPC_1_1detail.html#aa702f450a33affe49c682659ea86ad90">detail::sortedErrorInfos</a>[code - 1];</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;}</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; </div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<a class="code" href="classJson_1_1Value.html">Json::Value</a></div>
<div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="namespaceripple_1_1RPC.html#a2cd6200f6709780fcf1dd26ec9cd2866"> 181</a></span>&#160;<a class="code" href="namespaceripple_1_1RPC.html#a2cd6200f6709780fcf1dd26ec9cd2866">make_error</a>(<a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932">error_code_i</a> code)</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;{</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <a class="code" href="classJson_1_1Value.html">Json::Value</a> json;</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <a class="code" href="namespaceripple_1_1RPC.html#a577bde9602a28f59e445c496f92a1ccf">inject_error</a>(code, json);</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">return</span> json;</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;}</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; </div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<a class="code" href="classJson_1_1Value.html">Json::Value</a></div>
<div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="namespaceripple_1_1RPC.html#a13f1f4cafeef7807d8e84fc1b4980079"> 189</a></span>&#160;<a class="code" href="namespaceripple_1_1RPC.html#a2cd6200f6709780fcf1dd26ec9cd2866">make_error</a>(<a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932">error_code_i</a> code, <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>&amp; message)</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;{</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <a class="code" href="classJson_1_1Value.html">Json::Value</a> json;</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <a class="code" href="namespaceripple_1_1RPC.html#a577bde9602a28f59e445c496f92a1ccf">inject_error</a>(code, message, json);</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">return</span> json;</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;}</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; </div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="keywordtype">bool</span></div>
<div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="namespaceripple_1_1RPC.html#a1a79f0c33d1405fe85c40d63a49658bd"> 197</a></span>&#160;<a class="code" href="namespaceripple_1_1RPC.html#a1a79f0c33d1405fe85c40d63a49658bd">contains_error</a>(<a class="code" href="classJson_1_1Value.html">Json::Value</a> <span class="keyword">const</span>&amp; json)</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;{</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordflow">if</span> (json.<a class="code" href="classJson_1_1Value.html#a8cf96c0f2a552051fcfc78ffee60e037">isObject</a>() &amp;&amp; json.<a class="code" href="classJson_1_1Value.html#ad6d4df2227321bab05e86667609a7fad">isMember</a>(jss::error))</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;}</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; </div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;<span class="keywordtype">int</span></div>
<div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="namespaceripple_1_1RPC.html#a73e0accbac78ba2dda7a2ba0f3889800"> 205</a></span>&#160;<a class="code" href="namespaceripple_1_1RPC.html#a73e0accbac78ba2dda7a2ba0f3889800">error_code_http_status</a>(<a class="code" href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932">error_code_i</a> code)</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;{</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceripple_1_1RPC.html#aa01c09044342d3707e231b3ede5086f0">get_error_info</a>(code).<a class="code" href="structripple_1_1RPC_1_1ErrorInfo.html#a08285f5655ec9e56b914d8d699820a93">http_status</a>;</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;}</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; </div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;} <span class="comment">// namespace RPC</span></div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; </div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;<a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a></div>
<div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="namespaceripple.html#a23f02900cac703bddf91fff471cb9d65"> 213</a></span>&#160;<a class="code" href="namespaceripple.html#a23f02900cac703bddf91fff471cb9d65">rpcErrorString</a>(<a class="code" href="classJson_1_1Value.html">Json::Value</a> <span class="keyword">const</span>&amp; jv)</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;{</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; assert(<a class="code" href="namespaceripple_1_1RPC.html#a1a79f0c33d1405fe85c40d63a49658bd">RPC::contains_error</a>(jv));</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">return</span> jv[jss::error].<a class="code" href="classJson_1_1Value.html#ab0d86bf425efefd03513e8dbfaca317b">asString</a>() + jv[jss::error_message].<a class="code" href="classJson_1_1Value.html#ab0d86bf425efefd03513e8dbfaca317b">asString</a>();</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;}</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; </div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;} <span class="comment">// namespace ripple</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932a128bdc6241c00a1d4486399d304c2d28"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a128bdc6241c00a1d4486399d304c2d28">ripple::rpcNO_NETWORK</a></div><div class="ttdeci">@ rpcNO_NETWORK</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00066">ErrorCodes.h:66</a></div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932aec50f1af38ef002318ef8f19ca27560c"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932aec50f1af38ef002318ef8f19ca27560c">ripple::rpcDB_DESERIALIZATION</a></div><div class="ttdeci">@ rpcDB_DESERIALIZATION</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00134">ErrorCodes.h:134</a></div></div>
@@ -296,10 +297,10 @@ $(function() {
<div class="ttc" id="aclassJson_1_1Value_html_a8cf96c0f2a552051fcfc78ffee60e037"><div class="ttname"><a href="classJson_1_1Value.html#a8cf96c0f2a552051fcfc78ffee60e037">Json::Value::isObject</a></div><div class="ttdeci">bool isObject() const</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l01027">json_value.cpp:1027</a></div></div>
<div class="ttc" id="abasic_string_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a></div><div class="ttdoc">STL class.</div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932a82ddebc5ec7a37ff38892487277bf9c4"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a82ddebc5ec7a37ff38892487277bf9c4">ripple::rpcINVALID_PARAMS</a></div><div class="ttdeci">@ rpcINVALID_PARAMS</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00084">ErrorCodes.h:84</a></div></div>
<div class="ttc" id="astructripple_1_1RPC_1_1ErrorInfo_html_a08285f5655ec9e56b914d8d699820a93"><div class="ttname"><a href="structripple_1_1RPC_1_1ErrorInfo.html#a08285f5655ec9e56b914d8d699820a93">ripple::RPC::ErrorInfo::http_status</a></div><div class="ttdeci">int http_status</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00203">ErrorCodes.h:203</a></div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_html_aa01c09044342d3707e231b3ede5086f0"><div class="ttname"><a href="namespaceripple_1_1RPC.html#aa01c09044342d3707e231b3ede5086f0">ripple::RPC::get_error_info</a></div><div class="ttdeci">ErrorInfo const &amp; get_error_info(error_code_i code)</div><div class="ttdoc">Returns an ErrorInfo that reflects the error code.</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8cpp_source.html#l00172">ErrorCodes.cpp:172</a></div></div>
<div class="ttc" id="anamespaceripple_html_a23f02900cac703bddf91fff471cb9d65"><div class="ttname"><a href="namespaceripple.html#a23f02900cac703bddf91fff471cb9d65">ripple::rpcErrorString</a></div><div class="ttdeci">std::string rpcErrorString(Json::Value const &amp;jv)</div><div class="ttdoc">Returns a single string with the contents of an RPC error.</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8cpp_source.html#l00212">ErrorCodes.cpp:212</a></div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_1_1detail_html_aa702f450a33affe49c682659ea86ad90"><div class="ttname"><a href="namespaceripple_1_1RPC_1_1detail.html#aa702f450a33affe49c682659ea86ad90">ripple::RPC::detail::sortedErrorInfos</a></div><div class="ttdeci">constexpr auto sortedErrorInfos</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8cpp_source.html#l00163">ErrorCodes.cpp:163</a></div></div>
<div class="ttc" id="astructripple_1_1RPC_1_1ErrorInfo_html_a08285f5655ec9e56b914d8d699820a93"><div class="ttname"><a href="structripple_1_1RPC_1_1ErrorInfo.html#a08285f5655ec9e56b914d8d699820a93">ripple::RPC::ErrorInfo::http_status</a></div><div class="ttdeci">int http_status</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00207">ErrorCodes.h:207</a></div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_html_aa01c09044342d3707e231b3ede5086f0"><div class="ttname"><a href="namespaceripple_1_1RPC.html#aa01c09044342d3707e231b3ede5086f0">ripple::RPC::get_error_info</a></div><div class="ttdeci">ErrorInfo const &amp; get_error_info(error_code_i code)</div><div class="ttdoc">Returns an ErrorInfo that reflects the error code.</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8cpp_source.html#l00173">ErrorCodes.cpp:173</a></div></div>
<div class="ttc" id="anamespaceripple_html_a23f02900cac703bddf91fff471cb9d65"><div class="ttname"><a href="namespaceripple.html#a23f02900cac703bddf91fff471cb9d65">ripple::rpcErrorString</a></div><div class="ttdeci">std::string rpcErrorString(Json::Value const &amp;jv)</div><div class="ttdoc">Returns a single string with the contents of an RPC error.</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8cpp_source.html#l00213">ErrorCodes.cpp:213</a></div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_1_1detail_html_aa702f450a33affe49c682659ea86ad90"><div class="ttname"><a href="namespaceripple_1_1RPC_1_1detail.html#aa702f450a33affe49c682659ea86ad90">ripple::RPC::detail::sortedErrorInfos</a></div><div class="ttdeci">constexpr auto sortedErrorInfos</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8cpp_source.html#l00164">ErrorCodes.cpp:164</a></div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932a45e21d134aa6921065916fcbcb875877"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a45e21d134aa6921065916fcbcb875877">ripple::rpcSRC_ACT_NOT_FOUND</a></div><div class="ttdeci">@ rpcSRC_ACT_NOT_FOUND</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00122">ErrorCodes.h:122</a></div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932ac1a6dff600f246dd125ce9d6d02eeeba"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932ac1a6dff600f246dd125ce9d6d02eeeba">ripple::rpcJSON_RPC</a></div><div class="ttdeci">@ rpcJSON_RPC</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00047">ErrorCodes.h:47</a></div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932a9e3a3fa2bb1e04da92ea7253db9189d3"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a9e3a3fa2bb1e04da92ea7253db9189d3">ripple::rpcSIGNING_MALFORMED</a></div><div class="ttdeci">@ rpcSIGNING_MALFORMED</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00118">ErrorCodes.h:118</a></div></div>
@@ -311,12 +312,13 @@ $(function() {
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932aec13803e725665b5e973814ecc8789d2"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932aec13803e725665b5e973814ecc8789d2">ripple::rpcREPORTING_UNSUPPORTED</a></div><div class="ttdeci">@ rpcREPORTING_UNSUPPORTED</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00141">ErrorCodes.h:141</a></div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932">ripple::error_code_i</a></div><div class="ttdeci">error_code_i</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00040">ErrorCodes.h:40</a></div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932a6b62321701dd9bdac951e62cf9a478a5"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a6b62321701dd9bdac951e62cf9a478a5">ripple::rpcOBJECT_NOT_FOUND</a></div><div class="ttdeci">@ rpcOBJECT_NOT_FOUND</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00143">ErrorCodes.h:143</a></div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932a1a87d932a3aa4d8c546fa831ce6f3804"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a1a87d932a3aa4d8c546fa831ce6f3804">ripple::rpcORACLE_MALFORMED</a></div><div class="ttdeci">@ rpcORACLE_MALFORMED</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00149">ErrorCodes.h:149</a></div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932a1c4319d23e52800c6dc951ed7d343cea"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a1c4319d23e52800c6dc951ed7d343cea">ripple::rpcAMENDMENT_BLOCKED</a></div><div class="ttdeci">@ rpcAMENDMENT_BLOCKED</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00061">ErrorCodes.h:61</a></div></div>
<div class="ttc" id="astdexcept_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/stdexcept.html">stdexcept</a></div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_1_1detail_html_ae8a277a8a38dcb1d28661036537336b4"><div class="ttname"><a href="namespaceripple_1_1RPC_1_1detail.html#ae8a277a8a38dcb1d28661036537336b4">ripple::RPC::detail::sortErrorInfos</a></div><div class="ttdeci">constexpr auto sortErrorInfos(ErrorInfo const (&amp;unordered)[N]) -&gt; std::array&lt; ErrorInfo, M &gt;</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8cpp_source.html#l00119">ErrorCodes.cpp:119</a></div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_1_1detail_html_ae8a277a8a38dcb1d28661036537336b4"><div class="ttname"><a href="namespaceripple_1_1RPC_1_1detail.html#ae8a277a8a38dcb1d28661036537336b4">ripple::RPC::detail::sortErrorInfos</a></div><div class="ttdeci">constexpr auto sortErrorInfos(ErrorInfo const (&amp;unordered)[N]) -&gt; std::array&lt; ErrorInfo, M &gt;</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8cpp_source.html#l00120">ErrorCodes.cpp:120</a></div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932a6f69b339743d28bbc421fa3b31437173"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a6f69b339743d28bbc421fa3b31437173">ripple::rpcSUCCESS</a></div><div class="ttdeci">@ rpcSUCCESS</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00044">ErrorCodes.h:44</a></div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932a55a275d2d3a5e83d075c30650592949d"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a55a275d2d3a5e83d075c30650592949d">ripple::rpcSLOW_DOWN</a></div><div class="ttdeci">@ rpcSLOW_DOWN</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00057">ErrorCodes.h:57</a></div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_html_a1a79f0c33d1405fe85c40d63a49658bd"><div class="ttname"><a href="namespaceripple_1_1RPC.html#a1a79f0c33d1405fe85c40d63a49658bd">ripple::RPC::contains_error</a></div><div class="ttdeci">bool contains_error(Json::Value const &amp;json)</div><div class="ttdoc">Returns true if the json contains an rpc error specification.</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8cpp_source.html#l00196">ErrorCodes.cpp:196</a></div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_html_a1a79f0c33d1405fe85c40d63a49658bd"><div class="ttname"><a href="namespaceripple_1_1RPC.html#a1a79f0c33d1405fe85c40d63a49658bd">ripple::RPC::contains_error</a></div><div class="ttdeci">bool contains_error(Json::Value const &amp;json)</div><div class="ttdoc">Returns true if the json contains an rpc error specification.</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8cpp_source.html#l00197">ErrorCodes.cpp:197</a></div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932afff1867365ccf8f1661c8d796c93ef4c"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932afff1867365ccf8f1661c8d796c93ef4c">ripple::rpcSRC_ACT_MISSING</a></div><div class="ttdeci">@ rpcSRC_ACT_MISSING</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00121">ErrorCodes.h:121</a></div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932a11b93b10f2466e402c74aa4a9b5cb2f7"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a11b93b10f2466e402c74aa4a9b5cb2f7">ripple::rpcALREADY_SINGLE_SIG</a></div><div class="ttdeci">@ rpcALREADY_SINGLE_SIG</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00092">ErrorCodes.h:92</a></div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932ad2f8f023342d32f2602688202894cabe"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932ad2f8f023342d32f2602688202894cabe">ripple::rpcBAD_SEED</a></div><div class="ttdeci">@ rpcBAD_SEED</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00099">ErrorCodes.h:99</a></div></div>
@@ -333,19 +335,19 @@ $(function() {
<div class="ttc" id="aclassJson_1_1Value_html_ad6d4df2227321bab05e86667609a7fad"><div class="ttname"><a href="classJson_1_1Value.html#ad6d4df2227321bab05e86667609a7fad">Json::Value::isMember</a></div><div class="ttdeci">bool isMember(const char *key) const</div><div class="ttdoc">Return true if the object has a member named key.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l00932">json_value.cpp:932</a></div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932a74511028d6a24bc8826f5fc70ca61ef5"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a74511028d6a24bc8826f5fc70ca61ef5">ripple::rpcNO_CURRENT</a></div><div class="ttdeci">@ rpcNO_CURRENT</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00065">ErrorCodes.h:65</a></div></div>
<div class="ttc" id="ainvalid_argument_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/error/invalid_argument.html">std::invalid_argument</a></div><div class="ttdoc">STL class.</div></div>
<div class="ttc" id="astructripple_1_1RPC_1_1ErrorInfo_html"><div class="ttname"><a href="structripple_1_1RPC_1_1ErrorInfo.html">ripple::RPC::ErrorInfo</a></div><div class="ttdoc">Maps an rpc error code to its token, default message, and HTTP status.</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00169">ErrorCodes.h:169</a></div></div>
<div class="ttc" id="astructripple_1_1RPC_1_1ErrorInfo_html"><div class="ttname"><a href="structripple_1_1RPC_1_1ErrorInfo.html">ripple::RPC::ErrorInfo</a></div><div class="ttdoc">Maps an rpc error code to its token, default message, and HTTP status.</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00173">ErrorCodes.h:173</a></div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932a7eec43248b5e3342fa6ff1fcf9976519"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a7eec43248b5e3342fa6ff1fcf9976519">ripple::rpcDST_ISR_MALFORMED</a></div><div class="ttdeci">@ rpcDST_ISR_MALFORMED</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00108">ErrorCodes.h:108</a></div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932ab86d56c66edde43e490eec3de23deb47"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932ab86d56c66edde43e490eec3de23deb47">ripple::rpcCOMMAND_MISSING</a></div><div class="ttdeci">@ rpcCOMMAND_MISSING</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00102">ErrorCodes.h:102</a></div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932ac88bf3c7097096c5ed0fc4d354e91950"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932ac88bf3c7097096c5ed0fc4d354e91950">ripple::rpcDST_ACT_MALFORMED</a></div><div class="ttdeci">@ rpcDST_ACT_MALFORMED</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00103">ErrorCodes.h:103</a></div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932a63fd0c00dcecf06df448bf7eddf6bd8c"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a63fd0c00dcecf06df448bf7eddf6bd8c">ripple::rpcALREADY_MULTISIG</a></div><div class="ttdeci">@ rpcALREADY_MULTISIG</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00091">ErrorCodes.h:91</a></div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932a12405c5cf850257ddac293134371f64d"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a12405c5cf850257ddac293134371f64d">ripple::rpcLAST</a></div><div class="ttdeci">@ rpcLAST</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00148">ErrorCodes.h:148</a></div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_1_1detail_html_ac52c1b9c7196e379c9a838cde09592bb"><div class="ttname"><a href="namespaceripple_1_1RPC_1_1detail.html#ac52c1b9c7196e379c9a838cde09592bb">ripple::RPC::detail::unknownError</a></div><div class="ttdeci">constexpr ErrorInfo unknownError</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8cpp_source.html#l00165">ErrorCodes.cpp:165</a></div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932a12405c5cf850257ddac293134371f64d"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a12405c5cf850257ddac293134371f64d">ripple::rpcLAST</a></div><div class="ttdeci">@ rpcLAST</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00151">ErrorCodes.h:151</a></div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_1_1detail_html_ac52c1b9c7196e379c9a838cde09592bb"><div class="ttname"><a href="namespaceripple_1_1RPC_1_1detail.html#ac52c1b9c7196e379c9a838cde09592bb">ripple::RPC::detail::unknownError</a></div><div class="ttdeci">constexpr ErrorInfo unknownError</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8cpp_source.html#l00166">ErrorCodes.cpp:166</a></div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932a839833d48b635d8df6a9176274ae922f"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a839833d48b635d8df6a9176274ae922f">ripple::rpcINTERNAL</a></div><div class="ttdeci">@ rpcINTERNAL</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00130">ErrorCodes.h:130</a></div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932a60badd0db2ef5b154d6101fe7b845e39"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a60badd0db2ef5b154d6101fe7b845e39">ripple::rpcCHANNEL_AMT_MALFORMED</a></div><div class="ttdeci">@ rpcCHANNEL_AMT_MALFORMED</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00101">ErrorCodes.h:101</a></div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932aec93776d4f8dd6d4dac1ac2a447d196a"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932aec93776d4f8dd6d4dac1ac2a447d196a">ripple::rpcDST_ACT_NOT_FOUND</a></div><div class="ttdeci">@ rpcDST_ACT_NOT_FOUND</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00105">ErrorCodes.h:105</a></div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932a9a898f996bdd8a3b2e718444d86e1640"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a9a898f996bdd8a3b2e718444d86e1640">ripple::rpcNOT_IMPL</a></div><div class="ttdeci">@ rpcNOT_IMPL</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00131">ErrorCodes.h:131</a></div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932a967859223f75630b2c78876fca0c0436"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a967859223f75630b2c78876fca0c0436">ripple::rpcSRC_ACT_MALFORMED</a></div><div class="ttdeci">@ rpcSRC_ACT_MALFORMED</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00120">ErrorCodes.h:120</a></div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_html_a73e0accbac78ba2dda7a2ba0f3889800"><div class="ttname"><a href="namespaceripple_1_1RPC.html#a73e0accbac78ba2dda7a2ba0f3889800">ripple::RPC::error_code_http_status</a></div><div class="ttdeci">int error_code_http_status(error_code_i code)</div><div class="ttdoc">Returns http status that corresponds to the error code.</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8cpp_source.html#l00204">ErrorCodes.cpp:204</a></div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_html_a73e0accbac78ba2dda7a2ba0f3889800"><div class="ttname"><a href="namespaceripple_1_1RPC.html#a73e0accbac78ba2dda7a2ba0f3889800">ripple::RPC::error_code_http_status</a></div><div class="ttdeci">int error_code_http_status(error_code_i code)</div><div class="ttdoc">Returns http status that corresponds to the error code.</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8cpp_source.html#l00205">ErrorCodes.cpp:205</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_html_a32d6d3ce1a48272b677d2c88b1d30932abbd1895751c150ad43066e45683a3a6a"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932abbd1895751c150ad43066e45683a3a6a">ripple::rpcFORBIDDEN</a></div><div class="ttdeci">@ rpcFORBIDDEN</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00048">ErrorCodes.h:48</a></div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932a4fba57dbbed9bfaa196e1a0e0915dc8a"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a4fba57dbbed9bfaa196e1a0e0915dc8a">ripple::rpcACT_MALFORMED</a></div><div class="ttdeci">@ rpcACT_MALFORMED</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00090">ErrorCodes.h:90</a></div></div>
@@ -369,9 +371,9 @@ $(function() {
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932a888a186bc5ae79d68140783e22298394"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a888a186bc5ae79d68140783e22298394">ripple::rpcBAD_SECRET</a></div><div class="ttdeci">@ rpcBAD_SECRET</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00098">ErrorCodes.h:98</a></div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932a06d57c943aeb0aff8b6d87d64cbcfa04"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a06d57c943aeb0aff8b6d87d64cbcfa04">ripple::rpcBAD_ISSUER</a></div><div class="ttdeci">@ rpcBAD_ISSUER</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00096">ErrorCodes.h:96</a></div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_1_1detail_html_a1c421dba7e45127b0b9173b56ec5d34e"><div class="ttname"><a href="namespaceripple_1_1RPC_1_1detail.html#a1c421dba7e45127b0b9173b56ec5d34e">ripple::RPC::detail::unorderedErrorInfos</a></div><div class="ttdeci">constexpr static ErrorInfo unorderedErrorInfos[]</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8cpp_source.html#l00047">ErrorCodes.cpp:47</a></div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_html_a577bde9602a28f59e445c496f92a1ccf"><div class="ttname"><a href="namespaceripple_1_1RPC.html#a577bde9602a28f59e445c496f92a1ccf">ripple::RPC::inject_error</a></div><div class="ttdeci">void inject_error(error_code_i code, JsonValue &amp;json)</div><div class="ttdoc">Add or update the json update to reflect the error code.</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00214">ErrorCodes.h:214</a></div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_html_a577bde9602a28f59e445c496f92a1ccf"><div class="ttname"><a href="namespaceripple_1_1RPC.html#a577bde9602a28f59e445c496f92a1ccf">ripple::RPC::inject_error</a></div><div class="ttdeci">void inject_error(error_code_i code, JsonValue &amp;json)</div><div class="ttdoc">Add or update the json update to reflect the error code.</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00218">ErrorCodes.h:218</a></div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932a55f16b6766448484475fc0f2db63d92b"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a55f16b6766448484475fc0f2db63d92b">ripple::rpcMASTER_DISABLED</a></div><div class="ttdeci">@ rpcMASTER_DISABLED</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00074">ErrorCodes.h:74</a></div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_html_a2cd6200f6709780fcf1dd26ec9cd2866"><div class="ttname"><a href="namespaceripple_1_1RPC.html#a2cd6200f6709780fcf1dd26ec9cd2866">ripple::RPC::make_error</a></div><div class="ttdeci">Json::Value make_error(error_code_i code)</div><div class="ttdoc">Returns a new json object that reflects the error code.</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8cpp_source.html#l00180">ErrorCodes.cpp:180</a></div></div>
<div class="ttc" id="anamespaceripple_1_1RPC_html_a2cd6200f6709780fcf1dd26ec9cd2866"><div class="ttname"><a href="namespaceripple_1_1RPC.html#a2cd6200f6709780fcf1dd26ec9cd2866">ripple::RPC::make_error</a></div><div class="ttdeci">Json::Value make_error(error_code_i code)</div><div class="ttdoc">Returns a new json object that reflects the error code.</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8cpp_source.html#l00181">ErrorCodes.cpp:181</a></div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932a5a9afe2f583b5c5e615979d14c00e7bd"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932a5a9afe2f583b5c5e615979d14c00e7bd">ripple::rpcBAD_FEATURE</a></div><div class="ttdeci">@ rpcBAD_FEATURE</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00095">ErrorCodes.h:95</a></div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932aaa66891292b88906637528756e064d1e"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932aaa66891292b88906637528756e064d1e">ripple::rpcNO_PF_REQUEST</a></div><div class="ttdeci">@ rpcNO_PF_REQUEST</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00086">ErrorCodes.h:86</a></div></div>
<div class="ttc" id="anamespaceripple_html_a32d6d3ce1a48272b677d2c88b1d30932af301bbeaf5fcfb44db08132e6eae4ac2"><div class="ttname"><a href="namespaceripple.html#a32d6d3ce1a48272b677d2c88b1d30932af301bbeaf5fcfb44db08132e6eae4ac2">ripple::rpcNOT_SYNCED</a></div><div class="ttdeci">@ rpcNOT_SYNCED</div><div class="ttdef"><b>Definition:</b> <a href="ErrorCodes_8h_source.html#l00067">ErrorCodes.h:67</a></div></div>