Files
rippled/PathRequest_8h_source.html
2020-12-05 06:17:37 +00:00

312 lines
58 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>rippled: PathRequest.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">rippled
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_df9c78dcf3f59a33b12284f95992a64b.html">ripple</a></li><li class="navelem"><a class="el" href="dir_9f69212e4c6e2ca9ec5ab59cd7b6275c.html">app</a></li><li class="navelem"><a class="el" href="dir_1e0db5c7188e9c3cb47dd9ba683c8f27.html">paths</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">PathRequest.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">//------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> This file is part of rippled: https://github.com/ripple/rippled</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> Copyright (c) 2012, 2013 Ripple Labs Inc.</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> Permission to use, copy, modify, and/or distribute this software for any</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> purpose with or without fee is hereby granted, provided that the above</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> copyright notice and this permission notice appear in all copies.</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> THE SOFTWARE IS PROVIDED &quot;AS IS&quot; AND THE AUTHOR DISCLAIMS ALL WARRANTIES</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">//==============================================================================</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; </div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#ifndef RIPPLE_APP_PATHS_PATHREQUEST_H_INCLUDED</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#define RIPPLE_APP_PATHS_PATHREQUEST_H_INCLUDED</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; </div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &lt;ripple/app/ledger/Ledger.h&gt;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &lt;ripple/app/paths/Pathfinder.h&gt;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &lt;ripple/app/paths/RippleLineCache.h&gt;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &lt;ripple/json/json_value.h&gt;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &lt;ripple/net/InfoSub.h&gt;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#include &lt;ripple/protocol/UintTypes.h&gt;</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#include &lt;boost/optional.hpp&gt;</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &lt;<a class="codeRef" href="http://en.cppreference.com/w/cpp/header/map.html">map</a>&gt;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#include &lt;<a class="codeRef" href="http://en.cppreference.com/w/cpp/header/mutex.html">mutex</a>&gt;</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &lt;<a class="codeRef" href="http://en.cppreference.com/w/cpp/header/set.html">set</a>&gt;</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &lt;<a class="codeRef" href="http://en.cppreference.com/w/cpp/header/utility.html">utility</a>&gt;</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; </div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceripple.html">ripple</a> {</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; </div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="comment">// A pathfinding request submitted by a client</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="comment">// The request issuer must maintain a strong pointer</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; </div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="keyword">class </span>RippleLineCache;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="keyword">class </span>PathRequests;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; </div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="comment">// Return values from parseJson &lt;0 = invalid, &gt;0 = valid</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#define PFR_PJ_INVALID -1</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor">#define PFR_PJ_NOCHANGE 0</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="preprocessor">#define PFR_PJ_CHANGE 1</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; </div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="classripple_1_1PathRequest.html"> 48</a></span>&#160;<span class="keyword">class </span><a class="code" href="classripple_1_1PathRequest.html">PathRequest</a> : <span class="keyword">public</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/enable_shared_from_this.html">std::enable_shared_from_this</a>&lt;PathRequest&gt;,</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keyword">public</span> <a class="code" href="classripple_1_1CountedObject.html">CountedObject</a>&lt;PathRequest&gt;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;{</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classripple_1_1PathRequest.html#ad636d59928143972adaea19428ccad9e"> 52</a></span>&#160; <span class="keyword">using</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/weak_ptr.html">wptr</a> = <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/weak_ptr.html">std::weak_ptr&lt;PathRequest&gt;</a>;</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classripple_1_1PathRequest.html#a532f6d97bf5ef68b8ff2dca244429f19"> 53</a></span>&#160; <span class="keyword">using</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">pointer</a> = <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;PathRequest&gt;</a>;</div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classripple_1_1PathRequest.html#a8244cf9087dfbac44c9def7c3d6e3aa3"> 54</a></span>&#160; <span class="keyword">using</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">ref</a> = <span class="keyword">const</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">pointer</a>&amp;;</div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classripple_1_1PathRequest.html#ae3eea02e2671729dd81e5bbcb32c44eb"> 55</a></span>&#160; <span class="keyword">using</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/weak_ptr.html">wref</a> = <span class="keyword">const</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/weak_ptr.html">wptr</a>&amp;;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; </div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="comment">// VFALCO TODO Break the cyclic dependency on InfoSub</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; </div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="comment">// path_find semantics</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="comment">// Subscriber is updated</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="classripple_1_1PathRequest.html#a55aa6fba11252368b1b70f6613092eab">PathRequest</a>(</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="code" href="classripple_1_1Application.html">Application</a>&amp; app,</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;InfoSub&gt;</a> <span class="keyword">const</span>&amp; subscriber,</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordtype">int</span> <span class="keywordtype">id</span>,</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="classripple_1_1PathRequests.html">PathRequests</a>&amp;,</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="classbeast_1_1Journal.html">beast::Journal</a> journal);</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; </div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="comment">// ripple_path_find semantics</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="comment">// Completion function is called after path update is complete</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <a class="code" href="classripple_1_1PathRequest.html#a55aa6fba11252368b1b70f6613092eab">PathRequest</a>(</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <a class="code" href="classripple_1_1Application.html">Application</a>&amp; app,</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a>&lt;<span class="keywordtype">void</span>(<span class="keywordtype">void</span>)&gt; <span class="keyword">const</span>&amp; completion,</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <a class="code" href="classripple_1_1Resource_1_1Consumer.html">Resource::Consumer</a>&amp; consumer,</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordtype">int</span> <span class="keywordtype">id</span>,</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <a class="code" href="classripple_1_1PathRequests.html">PathRequests</a>&amp;,</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="code" href="classbeast_1_1Journal.html">beast::Journal</a> journal);</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; </div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="code" href="classripple_1_1PathRequest.html#a9f7d1f0ef48e575cae94991d61e1d5d7">~PathRequest</a>();</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; </div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <a class="code" href="classripple_1_1PathRequest.html#a0ccb7562e22e0cde9a6001a14686fb96">isNew</a>();</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="classripple_1_1PathRequest.html#a55754d5143d9a6330aadac7f801dbd3d">needsUpdate</a>(<span class="keywordtype">bool</span> newOnly, <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">LedgerIndex</a> index);</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; </div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="comment">// Called when the PathRequest update is complete.</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordtype">void</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="classripple_1_1PathRequest.html#a797efb0d134fdcc1919ac8929db21e28">updateComplete</a>();</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; </div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair&lt;bool, Json::Value&gt;</a></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <a class="code" href="classripple_1_1PathRequest.html#aba2a5de2c738f201757048b3d501e90c">doCreate</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;RippleLineCache&gt;</a> <span class="keyword">const</span>&amp;, <a class="code" href="classJson_1_1Value.html">Json::Value</a> <span class="keyword">const</span>&amp;);</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; </div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <a class="code" href="classJson_1_1Value.html">Json::Value</a></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="classripple_1_1PathRequest.html#a51571c9ceb168181b1d2b56fb812ce67">doClose</a>(<a class="code" href="classJson_1_1Value.html">Json::Value</a> <span class="keyword">const</span>&amp;);</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="classJson_1_1Value.html">Json::Value</a></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="code" href="classripple_1_1PathRequest.html#a9f26ed7be0c83e819150ec6c5d3d2d19">doStatus</a>(<a class="code" href="classJson_1_1Value.html">Json::Value</a> <span class="keyword">const</span>&amp;);</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; </div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="comment">// update jvStatus</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="classJson_1_1Value.html">Json::Value</a></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <a class="code" href="classripple_1_1PathRequest.html#a1c768c91db09df17dc03cf9c34f780ef">doUpdate</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;RippleLineCache&gt;</a> <span class="keyword">const</span>&amp;, <span class="keywordtype">bool</span> fast);</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">InfoSub::pointer</a></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <a class="code" href="classripple_1_1PathRequest.html#a2b653d382565dba579e9902ff15b09c0">getSubscriber</a>();</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <a class="code" href="classripple_1_1PathRequest.html#aeef2937bd7c3518fe6d2f6c0ebdcb632">hasCompletion</a>();</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; </div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <a class="code" href="classripple_1_1PathRequest.html#af8988e8f3e041e9d189bf6adb6164035">isValid</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;RippleLineCache&gt;</a> <span class="keyword">const</span>&amp; crCache);</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; </div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr&lt;Pathfinder&gt;</a> <span class="keyword">const</span>&amp;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="classripple_1_1PathRequest.html#aa893afc50365693cd09aec41903336dd">getPathFinder</a>(</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;RippleLineCache&gt;</a> <span class="keyword">const</span>&amp;,</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/unordered_map.html">hash_map</a>&lt;<a class="code" href="classripple_1_1base__uint.html">Currency</a>, <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr&lt;Pathfinder&gt;</a>&gt;&amp;,</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="classripple_1_1base__uint.html">Currency</a> <span class="keyword">const</span>&amp;,</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="classripple_1_1STAmount.html">STAmount</a> <span class="keyword">const</span>&amp;,</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordtype">int</span> <span class="keyword">const</span>);</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; </div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="classripple_1_1PathRequest.html#a934dd0426b974a5b88ff84f32e573149">findPaths</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;RippleLineCache&gt;</a> <span class="keyword">const</span>&amp;, <span class="keywordtype">int</span> <span class="keyword">const</span>, <a class="code" href="classJson_1_1Value.html">Json::Value</a>&amp;);</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="keywordtype">int</span></div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="classripple_1_1PathRequest.html#a4d376ec8708712e490e77a1117dadda0">parseJson</a>(<a class="code" href="classJson_1_1Value.html">Json::Value</a> <span class="keyword">const</span>&amp;);</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; </div>
<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="classripple_1_1PathRequest.html#abed473dbc8bd4714792065168aa8f0df"> 127</a></span>&#160; <a class="code" href="classripple_1_1Application.html">Application</a>&amp; <a class="code" href="classripple_1_1PathRequest.html#abed473dbc8bd4714792065168aa8f0df">app_</a>;</div>
<div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="classripple_1_1PathRequest.html#aefda25bb1bf52929a28009e108deaf35"> 128</a></span>&#160; <a class="code" href="classbeast_1_1Journal.html">beast::Journal</a> <a class="code" href="classripple_1_1PathRequest.html#aefda25bb1bf52929a28009e108deaf35">m_journal</a>;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; </div>
<div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="classripple_1_1PathRequest.html#a5bb1666a0e4c88a5c2f686e2e794cfba"> 130</a></span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/thread/recursive_mutex.html">std::recursive_mutex</a> <a class="code" href="classripple_1_1PathRequest.html#a5bb1666a0e4c88a5c2f686e2e794cfba">mLock</a>;</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"><a class="line" href="classripple_1_1PathRequest.html#aa8a240eee2299e40e166ab2cf6ad4064"> 132</a></span>&#160; <a class="code" href="classripple_1_1PathRequests.html">PathRequests</a>&amp; <a class="code" href="classripple_1_1PathRequest.html#aa8a240eee2299e40e166ab2cf6ad4064">mOwner</a>;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; </div>
<div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="classripple_1_1PathRequest.html#a1c9f204488b264c4687833281f6feff1"> 134</a></span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/weak_ptr.html">std::weak_ptr&lt;InfoSub&gt;</a> <a class="code" href="classripple_1_1PathRequest.html#a1c9f204488b264c4687833281f6feff1">wpSubscriber</a>; <span class="comment">// Who this request came from</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="classripple_1_1PathRequest.html#a0c9bbbcbb22fe8dd97a0105524fa7fb4"> 135</a></span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a>&lt;void(<span class="keywordtype">void</span>)&gt; <a class="code" href="classripple_1_1PathRequest.html#a0c9bbbcbb22fe8dd97a0105524fa7fb4">fCompletion</a>;</div>
<div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="classripple_1_1PathRequest.html#a929efe86ae5b04f853e1bf54a61cd44a"> 136</a></span>&#160; <a class="code" href="classripple_1_1Resource_1_1Consumer.html">Resource::Consumer</a>&amp; <a class="code" href="classripple_1_1PathRequest.html#a929efe86ae5b04f853e1bf54a61cd44a">consumer_</a>; <span class="comment">// Charge according to source currencies</span></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"><a class="line" href="classripple_1_1PathRequest.html#acf6871dc3427b403cfa9aaa573a5f311"> 138</a></span>&#160; <a class="code" href="classJson_1_1Value.html">Json::Value</a> <a class="code" href="classripple_1_1PathRequest.html#acf6871dc3427b403cfa9aaa573a5f311">jvId</a>;</div>
<div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="classripple_1_1PathRequest.html#abf4fdbb06cf59de1a826fe69494da766"> 139</a></span>&#160; <a class="code" href="classJson_1_1Value.html">Json::Value</a> <a class="code" href="classripple_1_1PathRequest.html#abf4fdbb06cf59de1a826fe69494da766">jvStatus</a>; <span class="comment">// Last result</span></div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; </div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="comment">// Client request parameters</span></div>
<div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="classripple_1_1PathRequest.html#a4ce4dcc8f618cac6cad809cea9df6576"> 142</a></span>&#160; boost::optional&lt;AccountID&gt; <a class="code" href="classripple_1_1PathRequest.html#a4ce4dcc8f618cac6cad809cea9df6576">raSrcAccount</a>;</div>
<div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="classripple_1_1PathRequest.html#af195236c8da60b1638c7f81deddeafb9"> 143</a></span>&#160; boost::optional&lt;AccountID&gt; <a class="code" href="classripple_1_1PathRequest.html#af195236c8da60b1638c7f81deddeafb9">raDstAccount</a>;</div>
<div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="classripple_1_1PathRequest.html#a469d7fcd93a69f98849297fe1791a140"> 144</a></span>&#160; <a class="code" href="classripple_1_1STAmount.html">STAmount</a> <a class="code" href="classripple_1_1PathRequest.html#a469d7fcd93a69f98849297fe1791a140">saDstAmount</a>;</div>
<div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="classripple_1_1PathRequest.html#a04d3dabe322b1332e4ec93a1086970ed"> 145</a></span>&#160; boost::optional&lt;STAmount&gt; <a class="code" href="classripple_1_1PathRequest.html#a04d3dabe322b1332e4ec93a1086970ed">saSendMax</a>;</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"><a class="line" href="classripple_1_1PathRequest.html#a491fc9c5e46cc89223a7d17191a7b775"> 147</a></span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/set.html">std::set&lt;Issue&gt;</a> <a class="code" href="classripple_1_1PathRequest.html#a491fc9c5e46cc89223a7d17191a7b775">sciSourceCurrencies</a>;</div>
<div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="classripple_1_1PathRequest.html#adc0dd0c06af0ea4ae046927a5053cf3b"> 148</a></span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/map.html">std::map&lt;Issue, STPathSet&gt;</a> <a class="code" href="classripple_1_1PathRequest.html#adc0dd0c06af0ea4ae046927a5053cf3b">mContext</a>;</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; </div>
<div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="classripple_1_1PathRequest.html#a44c5a32448be6762426bbc5fb2ea58d8"> 150</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classripple_1_1PathRequest.html#a44c5a32448be6762426bbc5fb2ea58d8">convert_all_</a>;</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"><a class="line" href="classripple_1_1PathRequest.html#a88e1e61c4832e514f214e836ff933d9d"> 152</a></span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/thread/recursive_mutex.html">std::recursive_mutex</a> <a class="code" href="classripple_1_1PathRequest.html#a88e1e61c4832e514f214e836ff933d9d">mIndexLock</a>;</div>
<div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="classripple_1_1PathRequest.html#ab72082fce8ecd60ebdd217c6cdec3523"> 153</a></span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">LedgerIndex</a> <a class="code" href="classripple_1_1PathRequest.html#ab72082fce8ecd60ebdd217c6cdec3523">mLastIndex</a>;</div>
<div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="classripple_1_1PathRequest.html#a666b00228db15e546d031f7d31847203"> 154</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classripple_1_1PathRequest.html#a666b00228db15e546d031f7d31847203">mInProgress</a>;</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"><a class="line" href="classripple_1_1PathRequest.html#aeb87b30df16719c87e6deaa50cbf734b"> 156</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="classripple_1_1PathRequest.html#aeb87b30df16719c87e6deaa50cbf734b">iLevel</a>;</div>
<div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="classripple_1_1PathRequest.html#a8f8cc5acf991ff3dd84c349aaef8c7a1"> 157</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classripple_1_1PathRequest.html#a8f8cc5acf991ff3dd84c349aaef8c7a1">bLastSuccess</a>;</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; </div>
<div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="classripple_1_1PathRequest.html#afcf36a0515c122854ad9072d3ddee305"> 159</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="classripple_1_1PathRequest.html#afcf36a0515c122854ad9072d3ddee305">iIdentifier</a>;</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"><a class="line" href="classripple_1_1PathRequest.html#ad76483e4b0e52fd59ef819d7107e0522"> 161</a></span>&#160; std::chrono::steady_clock::time_point <span class="keyword">const</span> <a class="code" href="classripple_1_1PathRequest.html#ad76483e4b0e52fd59ef819d7107e0522">created_</a>;</div>
<div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="classripple_1_1PathRequest.html#acddfaf10d9bf36572a85c8cb2ef5eb46"> 162</a></span>&#160; std::chrono::steady_clock::time_point <a class="code" href="classripple_1_1PathRequest.html#acddfaf10d9bf36572a85c8cb2ef5eb46">quick_reply_</a>;</div>
<div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="classripple_1_1PathRequest.html#ab324991f586a3dd494a3c874b7b193b2"> 163</a></span>&#160; std::chrono::steady_clock::time_point <a class="code" href="classripple_1_1PathRequest.html#ab324991f586a3dd494a3c874b7b193b2">full_reply_</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="classripple_1_1PathRequest.html#acdef7fb0f5df2d845e13207c2e37cbd5"> 165</a></span>&#160; <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keyword">const</span> <a class="code" href="classripple_1_1PathRequest.html#acdef7fb0f5df2d845e13207c2e37cbd5">max_paths_</a> = 4;</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; </div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;} <span class="comment">// namespace ripple</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="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassripple_1_1PathRequest_html_a51571c9ceb168181b1d2b56fb812ce67"><div class="ttname"><a href="classripple_1_1PathRequest.html#a51571c9ceb168181b1d2b56fb812ce67">ripple::PathRequest::doClose</a></div><div class="ttdeci">Json::Value doClose(Json::Value const &amp;)</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8cpp_source.html#l00442">PathRequest.cpp:442</a></div></div>
<div class="ttc" id="aclassripple_1_1Application_html"><div class="ttname"><a href="classripple_1_1Application.html">ripple::Application</a></div><div class="ttdef"><b>Definition:</b> <a href="Application_8h_source.html#l00097">Application.h:97</a></div></div>
<div class="ttc" id="aclassripple_1_1CountedObject_html"><div class="ttname"><a href="classripple_1_1CountedObject.html">ripple::CountedObject</a></div><div class="ttdoc">Tracks the number of instances of an object.</div><div class="ttdef"><b>Definition:</b> <a href="CountedObject_8h_source.html#l00124">CountedObject.h:124</a></div></div>
<div class="ttc" id="ashared_ptr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a></div><div class="ttdoc">STL class.</div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_adc0dd0c06af0ea4ae046927a5053cf3b"><div class="ttname"><a href="classripple_1_1PathRequest.html#adc0dd0c06af0ea4ae046927a5053cf3b">ripple::PathRequest::mContext</a></div><div class="ttdeci">std::map&lt; Issue, STPathSet &gt; mContext</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8h_source.html#l00148">PathRequest.h:148</a></div></div>
<div class="ttc" id="autility_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/utility.html">utility</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_aa893afc50365693cd09aec41903336dd"><div class="ttname"><a href="classripple_1_1PathRequest.html#aa893afc50365693cd09aec41903336dd">ripple::PathRequest::getPathFinder</a></div><div class="ttdeci">std::unique_ptr&lt; Pathfinder &gt; const &amp; getPathFinder(std::shared_ptr&lt; RippleLineCache &gt; const &amp;, hash_map&lt; Currency, std::unique_ptr&lt; Pathfinder &gt;&gt; &amp;, Currency const &amp;, STAmount const &amp;, int const)</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8cpp_source.html#l00459">PathRequest.cpp:459</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_ab72082fce8ecd60ebdd217c6cdec3523"><div class="ttname"><a href="classripple_1_1PathRequest.html#ab72082fce8ecd60ebdd217c6cdec3523">ripple::PathRequest::mLastIndex</a></div><div class="ttdeci">LedgerIndex mLastIndex</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8h_source.html#l00153">PathRequest.h:153</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="aclassripple_1_1PathRequest_html_a469d7fcd93a69f98849297fe1791a140"><div class="ttname"><a href="classripple_1_1PathRequest.html#a469d7fcd93a69f98849297fe1791a140">ripple::PathRequest::saDstAmount</a></div><div class="ttdeci">STAmount saDstAmount</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8h_source.html#l00144">PathRequest.h:144</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_af195236c8da60b1638c7f81deddeafb9"><div class="ttname"><a href="classripple_1_1PathRequest.html#af195236c8da60b1638c7f81deddeafb9">ripple::PathRequest::raDstAccount</a></div><div class="ttdeci">boost::optional&lt; AccountID &gt; raDstAccount</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8h_source.html#l00143">PathRequest.h:143</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_abf4fdbb06cf59de1a826fe69494da766"><div class="ttname"><a href="classripple_1_1PathRequest.html#abf4fdbb06cf59de1a826fe69494da766">ripple::PathRequest::jvStatus</a></div><div class="ttdeci">Json::Value jvStatus</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8h_source.html#l00139">PathRequest.h:139</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_a44c5a32448be6762426bbc5fb2ea58d8"><div class="ttname"><a href="classripple_1_1PathRequest.html#a44c5a32448be6762426bbc5fb2ea58d8">ripple::PathRequest::convert_all_</a></div><div class="ttdeci">bool convert_all_</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8h_source.html#l00150">PathRequest.h:150</a></div></div>
<div class="ttc" id="arecursive_mutex_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/thread/recursive_mutex.html">std::recursive_mutex</a></div><div class="ttdoc">STL class.</div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_ab324991f586a3dd494a3c874b7b193b2"><div class="ttname"><a href="classripple_1_1PathRequest.html#ab324991f586a3dd494a3c874b7b193b2">ripple::PathRequest::full_reply_</a></div><div class="ttdeci">std::chrono::steady_clock::time_point full_reply_</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8h_source.html#l00163">PathRequest.h:163</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_a88e1e61c4832e514f214e836ff933d9d"><div class="ttname"><a href="classripple_1_1PathRequest.html#a88e1e61c4832e514f214e836ff933d9d">ripple::PathRequest::mIndexLock</a></div><div class="ttdeci">std::recursive_mutex mIndexLock</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8h_source.html#l00152">PathRequest.h:152</a></div></div>
<div class="ttc" id="afunction_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_a929efe86ae5b04f853e1bf54a61cd44a"><div class="ttname"><a href="classripple_1_1PathRequest.html#a929efe86ae5b04f853e1bf54a61cd44a">ripple::PathRequest::consumer_</a></div><div class="ttdeci">Resource::Consumer &amp; consumer_</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8h_source.html#l00136">PathRequest.h:136</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_a0c9bbbcbb22fe8dd97a0105524fa7fb4"><div class="ttname"><a href="classripple_1_1PathRequest.html#a0c9bbbcbb22fe8dd97a0105524fa7fb4">ripple::PathRequest::fCompletion</a></div><div class="ttdeci">std::function&lt; void(void)&gt; fCompletion</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8h_source.html#l00135">PathRequest.h:135</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_acddfaf10d9bf36572a85c8cb2ef5eb46"><div class="ttname"><a href="classripple_1_1PathRequest.html#acddfaf10d9bf36572a85c8cb2ef5eb46">ripple::PathRequest::quick_reply_</a></div><div class="ttdeci">std::chrono::steady_clock::time_point quick_reply_</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8h_source.html#l00162">PathRequest.h:162</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&lt; 160, detail::CurrencyTag &gt;</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_a55aa6fba11252368b1b70f6613092eab"><div class="ttname"><a href="classripple_1_1PathRequest.html#a55aa6fba11252368b1b70f6613092eab">ripple::PathRequest::PathRequest</a></div><div class="ttdeci">PathRequest(Application &amp;app, std::shared_ptr&lt; InfoSub &gt; const &amp;subscriber, int id, PathRequests &amp;, beast::Journal journal)</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8cpp_source.html#l00040">PathRequest.cpp:40</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_acdef7fb0f5df2d845e13207c2e37cbd5"><div class="ttname"><a href="classripple_1_1PathRequest.html#acdef7fb0f5df2d845e13207c2e37cbd5">ripple::PathRequest::max_paths_</a></div><div class="ttdeci">static unsigned const int max_paths_</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8h_source.html#l00165">PathRequest.h:165</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_a491fc9c5e46cc89223a7d17191a7b775"><div class="ttname"><a href="classripple_1_1PathRequest.html#a491fc9c5e46cc89223a7d17191a7b775">ripple::PathRequest::sciSourceCurrencies</a></div><div class="ttdeci">std::set&lt; Issue &gt; sciSourceCurrencies</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8h_source.html#l00147">PathRequest.h:147</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_a9f7d1f0ef48e575cae94991d61e1d5d7"><div class="ttname"><a href="classripple_1_1PathRequest.html#a9f7d1f0ef48e575cae94991d61e1d5d7">ripple::PathRequest::~PathRequest</a></div><div class="ttdeci">~PathRequest()</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8cpp_source.html#l00085">PathRequest.cpp:85</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_a2b653d382565dba579e9902ff15b09c0"><div class="ttname"><a href="classripple_1_1PathRequest.html#a2b653d382565dba579e9902ff15b09c0">ripple::PathRequest::getSubscriber</a></div><div class="ttdeci">InfoSub::pointer getSubscriber()</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8cpp_source.html#l00731">PathRequest.cpp:731</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_a8f8cc5acf991ff3dd84c349aaef8c7a1"><div class="ttname"><a href="classripple_1_1PathRequest.html#a8f8cc5acf991ff3dd84c349aaef8c7a1">ripple::PathRequest::bLastSuccess</a></div><div class="ttdeci">bool bLastSuccess</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8h_source.html#l00157">PathRequest.h:157</a></div></div>
<div class="ttc" id="aenable_shared_from_this_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/enable_shared_from_this.html">std::enable_shared_from_this</a></div></div>
<div class="ttc" id="aclassripple_1_1STAmount_html"><div class="ttname"><a href="classripple_1_1STAmount.html">ripple::STAmount</a></div><div class="ttdef"><b>Definition:</b> <a href="STAmount_8h_source.html#l00042">STAmount.h:42</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_a934dd0426b974a5b88ff84f32e573149"><div class="ttname"><a href="classripple_1_1PathRequest.html#a934dd0426b974a5b88ff84f32e573149">ripple::PathRequest::findPaths</a></div><div class="ttdeci">bool findPaths(std::shared_ptr&lt; RippleLineCache &gt; const &amp;, int const, Json::Value &amp;)</div><div class="ttdoc">Finds and sets a PathSet in the JSON argument.</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8cpp_source.html#l00486">PathRequest.cpp:486</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_abed473dbc8bd4714792065168aa8f0df"><div class="ttname"><a href="classripple_1_1PathRequest.html#abed473dbc8bd4714792065168aa8f0df">ripple::PathRequest::app_</a></div><div class="ttdeci">Application &amp; app_</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8h_source.html#l00127">PathRequest.h:127</a></div></div>
<div class="ttc" id="aclassbeast_1_1Journal_html"><div class="ttname"><a href="classbeast_1_1Journal.html">beast::Journal</a></div><div class="ttdoc">A generic endpoint for log messages.</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00058">Journal.h:58</a></div></div>
<div class="ttc" id="ainteger_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a></div></div>
<div class="ttc" id="amap_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/map.html">map</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_af8988e8f3e041e9d189bf6adb6164035"><div class="ttname"><a href="classripple_1_1PathRequest.html#af8988e8f3e041e9d189bf6adb6164035">ripple::PathRequest::isValid</a></div><div class="ttdeci">bool isValid(std::shared_ptr&lt; RippleLineCache &gt; const &amp;crCache)</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8cpp_source.html#l00170">PathRequest.cpp:170</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_a797efb0d134fdcc1919ac8929db21e28"><div class="ttname"><a href="classripple_1_1PathRequest.html#a797efb0d134fdcc1919ac8929db21e28">ripple::PathRequest::updateComplete</a></div><div class="ttdeci">void updateComplete()</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8cpp_source.html#l00155">PathRequest.cpp:155</a></div></div>
<div class="ttc" id="aweak_ptr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/weak_ptr.html">std::weak_ptr</a></div><div class="ttdoc">STL class.</div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_aba2a5de2c738f201757048b3d501e90c"><div class="ttname"><a href="classripple_1_1PathRequest.html#aba2a5de2c738f201757048b3d501e90c">ripple::PathRequest::doCreate</a></div><div class="ttdeci">std::pair&lt; bool, Json::Value &gt; doCreate(std::shared_ptr&lt; RippleLineCache &gt; const &amp;, Json::Value const &amp;)</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8cpp_source.html#l00242">PathRequest.cpp:242</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="aclassripple_1_1PathRequest_html_a5bb1666a0e4c88a5c2f686e2e794cfba"><div class="ttname"><a href="classripple_1_1PathRequest.html#a5bb1666a0e4c88a5c2f686e2e794cfba">ripple::PathRequest::mLock</a></div><div class="ttdeci">std::recursive_mutex mLock</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8h_source.html#l00130">PathRequest.h:130</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_ad76483e4b0e52fd59ef819d7107e0522"><div class="ttname"><a href="classripple_1_1PathRequest.html#ad76483e4b0e52fd59ef819d7107e0522">ripple::PathRequest::created_</a></div><div class="ttdeci">const std::chrono::steady_clock::time_point created_</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8h_source.html#l00161">PathRequest.h:161</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html"><div class="ttname"><a href="classripple_1_1PathRequest.html">ripple::PathRequest</a></div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8h_source.html#l00048">PathRequest.h:48</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_a1c768c91db09df17dc03cf9c34f780ef"><div class="ttname"><a href="classripple_1_1PathRequest.html#a1c768c91db09df17dc03cf9c34f780ef">ripple::PathRequest::doUpdate</a></div><div class="ttdeci">Json::Value doUpdate(std::shared_ptr&lt; RippleLineCache &gt; const &amp;, bool fast)</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8cpp_source.html#l00629">PathRequest.cpp:629</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_a1c9f204488b264c4687833281f6feff1"><div class="ttname"><a href="classripple_1_1PathRequest.html#a1c9f204488b264c4687833281f6feff1">ripple::PathRequest::wpSubscriber</a></div><div class="ttdeci">std::weak_ptr&lt; InfoSub &gt; wpSubscriber</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8h_source.html#l00134">PathRequest.h:134</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_a9f26ed7be0c83e819150ec6c5d3d2d19"><div class="ttname"><a href="classripple_1_1PathRequest.html#a9f26ed7be0c83e819150ec6c5d3d2d19">ripple::PathRequest::doStatus</a></div><div class="ttdeci">Json::Value doStatus(Json::Value const &amp;)</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8cpp_source.html#l00451">PathRequest.cpp:451</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_afcf36a0515c122854ad9072d3ddee305"><div class="ttname"><a href="classripple_1_1PathRequest.html#afcf36a0515c122854ad9072d3ddee305">ripple::PathRequest::iIdentifier</a></div><div class="ttdeci">int iIdentifier</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8h_source.html#l00159">PathRequest.h:159</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_a0ccb7562e22e0cde9a6001a14686fb96"><div class="ttname"><a href="classripple_1_1PathRequest.html#a0ccb7562e22e0cde9a6001a14686fb96">ripple::PathRequest::isNew</a></div><div class="ttdeci">bool isNew()</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8cpp_source.html#l00114">PathRequest.cpp:114</a></div></div>
<div class="ttc" id="aclassripple_1_1Resource_1_1Consumer_html"><div class="ttname"><a href="classripple_1_1Resource_1_1Consumer.html">ripple::Resource::Consumer</a></div><div class="ttdoc">An endpoint that consumes resources.</div><div class="ttdef"><b>Definition:</b> <a href="Consumer_8h_source.html#l00033">Consumer.h:33</a></div></div>
<div class="ttc" id="amutex_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/mutex.html">mutex</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_a04d3dabe322b1332e4ec93a1086970ed"><div class="ttname"><a href="classripple_1_1PathRequest.html#a04d3dabe322b1332e4ec93a1086970ed">ripple::PathRequest::saSendMax</a></div><div class="ttdeci">boost::optional&lt; STAmount &gt; saSendMax</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8h_source.html#l00145">PathRequest.h:145</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequests_html"><div class="ttname"><a href="classripple_1_1PathRequests.html">ripple::PathRequests</a></div><div class="ttdef"><b>Definition:</b> <a href="PathRequests_8h_source.html#l00033">PathRequests.h:33</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_aeef2937bd7c3518fe6d2f6c0ebdcb632"><div class="ttname"><a href="classripple_1_1PathRequest.html#aeef2937bd7c3518fe6d2f6c0ebdcb632">ripple::PathRequest::hasCompletion</a></div><div class="ttdeci">bool hasCompletion()</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8cpp_source.html#l00149">PathRequest.cpp:149</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_acf6871dc3427b403cfa9aaa573a5f311"><div class="ttname"><a href="classripple_1_1PathRequest.html#acf6871dc3427b403cfa9aaa573a5f311">ripple::PathRequest::jvId</a></div><div class="ttdeci">Json::Value jvId</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8h_source.html#l00138">PathRequest.h:138</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_aa8a240eee2299e40e166ab2cf6ad4064"><div class="ttname"><a href="classripple_1_1PathRequest.html#aa8a240eee2299e40e166ab2cf6ad4064">ripple::PathRequest::mOwner</a></div><div class="ttdeci">PathRequests &amp; mOwner</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8h_source.html#l00132">PathRequest.h:132</a></div></div>
<div class="ttc" id="aunique_ptr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr</a></div><div class="ttdoc">STL class.</div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_a55754d5143d9a6330aadac7f801dbd3d"><div class="ttname"><a href="classripple_1_1PathRequest.html#a55754d5143d9a6330aadac7f801dbd3d">ripple::PathRequest::needsUpdate</a></div><div class="ttdeci">bool needsUpdate(bool newOnly, LedgerIndex index)</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8cpp_source.html#l00123">PathRequest.cpp:123</a></div></div>
<div class="ttc" id="aunordered_map_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/unordered_map.html">std::unordered_map</a></div><div class="ttdoc">STL class.</div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_aefda25bb1bf52929a28009e108deaf35"><div class="ttname"><a href="classripple_1_1PathRequest.html#aefda25bb1bf52929a28009e108deaf35">ripple::PathRequest::m_journal</a></div><div class="ttdeci">beast::Journal m_journal</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8h_source.html#l00128">PathRequest.h:128</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_a4d376ec8708712e490e77a1117dadda0"><div class="ttname"><a href="classripple_1_1PathRequest.html#a4d376ec8708712e490e77a1117dadda0">ripple::PathRequest::parseJson</a></div><div class="ttdeci">int parseJson(Json::Value const &amp;)</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8cpp_source.html#l00272">PathRequest.cpp:272</a></div></div>
<div class="ttc" id="aset_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/set.html">set</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_aeb87b30df16719c87e6deaa50cbf734b"><div class="ttname"><a href="classripple_1_1PathRequest.html#aeb87b30df16719c87e6deaa50cbf734b">ripple::PathRequest::iLevel</a></div><div class="ttdeci">int iLevel</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8h_source.html#l00156">PathRequest.h:156</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_a666b00228db15e546d031f7d31847203"><div class="ttname"><a href="classripple_1_1PathRequest.html#a666b00228db15e546d031f7d31847203">ripple::PathRequest::mInProgress</a></div><div class="ttdeci">bool mInProgress</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8h_source.html#l00154">PathRequest.h:154</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequest_html_a4ce4dcc8f618cac6cad809cea9df6576"><div class="ttname"><a href="classripple_1_1PathRequest.html#a4ce4dcc8f618cac6cad809cea9df6576">ripple::PathRequest::raSrcAccount</a></div><div class="ttdeci">boost::optional&lt; AccountID &gt; raSrcAccount</div><div class="ttdef"><b>Definition:</b> <a href="PathRequest_8h_source.html#l00142">PathRequest.h:142</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html"><div class="ttname"><a href="classJson_1_1Value.html">Json::Value</a></div><div class="ttdoc">Represents a JSON value.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8h_source.html#l00145">json_value.h:145</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>