This commit is contained in:
manojsdoshi
2020-04-24 01:09:47 +00:00
parent 4ad595bf18
commit 430f6c0cf3
2864 changed files with 304301 additions and 292875 deletions

View File

@@ -91,8 +91,8 @@ $(function() {
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#ifndef RIPPLE_NODESTORE_TASKQUEUE_H_INCLUDED</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#define RIPPLE_NODESTORE_TASKQUEUE_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/core/impl/Workers.h&gt;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &lt;ripple/core/Stoppable.h&gt;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &lt;ripple/core/Stoppable.h&gt;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &lt;ripple/core/impl/Workers.h&gt;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; </div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &lt;<a class="codeRef" href="http://en.cppreference.com/w/cpp/header/functional.html">functional</a>&gt;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &lt;<a class="codeRef" href="http://en.cppreference.com/w/cpp/header/queue.html">queue</a>&gt;</span></div>
@@ -100,50 +100,47 @@ $(function() {
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceripple.html">ripple</a> {</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="keyword">namespace </span>NodeStore {</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; </div>
<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="classripple_1_1NodeStore_1_1TaskQueue.html"> 32</a></span>&#160;<span class="keyword">class </span><a class="code" href="classripple_1_1NodeStore_1_1TaskQueue.html">TaskQueue</a></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; : <span class="keyword">public</span> <a class="code" href="classripple_1_1Stoppable.html">Stoppable</a></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; , <span class="keyword">private</span> <a class="code" href="structripple_1_1Workers_1_1Callback.html">Workers::Callback</a></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;{</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keyword">explicit</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <a class="code" href="classripple_1_1NodeStore_1_1TaskQueue.html#ae59691f4ad2a8f7c6cd2be7c1fc772d1">TaskQueue</a>(<a class="code" href="classripple_1_1Stoppable.html">Stoppable</a>&amp; parent);</div>
<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="classripple_1_1NodeStore_1_1TaskQueue.html"> 32</a></span>&#160;<span class="keyword">class </span><a class="code" href="classripple_1_1NodeStore_1_1TaskQueue.html">TaskQueue</a> : <span class="keyword">public</span> <a class="code" href="classripple_1_1Stoppable.html">Stoppable</a>, <span class="keyword">private</span> <a class="code" href="structripple_1_1Workers_1_1Callback.html">Workers::Callback</a></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;{</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classripple_1_1NodeStore_1_1TaskQueue.html#ae59691f4ad2a8f7c6cd2be7c1fc772d1">TaskQueue</a>(<a class="code" href="classripple_1_1Stoppable.html">Stoppable</a>&amp; parent);</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="keywordtype">void</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <a class="code" href="classripple_1_1NodeStore_1_1TaskQueue.html#a621ef5d4bf00e8499bef58c8789686c3">onStop</a>() <span class="keyword">override</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="keywordtype">void</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <a class="code" href="classripple_1_1NodeStore_1_1TaskQueue.html#a621ef5d4bf00e8499bef58c8789686c3">onStop</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; </div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordtype">void</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="classripple_1_1NodeStore_1_1TaskQueue.html#adfc47d4a87f6cfe28c4885d4318b87ff">addTask</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a>&lt;<span class="keywordtype">void</span>()&gt; task);</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; </div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classripple_1_1NodeStore_1_1TaskQueue.html#a8175de06ffcfceb698815efe924b7bcc"> 51</a></span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/thread/mutex.html">std::mutex</a> <a class="code" href="classripple_1_1NodeStore_1_1TaskQueue.html#a8175de06ffcfceb698815efe924b7bcc">mutex_</a>;</div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classripple_1_1NodeStore_1_1TaskQueue.html#ad7eb2cb13ace6f9a38b211e54b9cd85f"> 52</a></span>&#160; <a class="code" href="classripple_1_1Workers.html">Workers</a> <a class="code" href="classripple_1_1NodeStore_1_1TaskQueue.html#ad7eb2cb13ace6f9a38b211e54b9cd85f">workers_</a>;</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classripple_1_1NodeStore_1_1TaskQueue.html#ade3310509bcac3cdf02521df9f9d2c34"> 53</a></span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/queue.html">std::queue</a>&lt;<a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a>&lt;void()&gt;&gt; <a class="code" href="classripple_1_1NodeStore_1_1TaskQueue.html#ade3310509bcac3cdf02521df9f9d2c34">tasks_</a>;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; </div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordtype">void</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="classripple_1_1NodeStore_1_1TaskQueue.html#adcd8d9fd3d2912c2de3042b982de9b86">processTask</a>(<span class="keywordtype">int</span> instance) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;};</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordtype">void</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="classripple_1_1NodeStore_1_1TaskQueue.html#adfc47d4a87f6cfe28c4885d4318b87ff">addTask</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a>&lt;<span class="keywordtype">void</span>()&gt; task);</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; </div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="classripple_1_1NodeStore_1_1TaskQueue.html#a8175de06ffcfceb698815efe924b7bcc"> 48</a></span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/thread/mutex.html">std::mutex</a> <a class="code" href="classripple_1_1NodeStore_1_1TaskQueue.html#a8175de06ffcfceb698815efe924b7bcc">mutex_</a>;</div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classripple_1_1NodeStore_1_1TaskQueue.html#ad7eb2cb13ace6f9a38b211e54b9cd85f"> 49</a></span>&#160; <a class="code" href="classripple_1_1Workers.html">Workers</a> <a class="code" href="classripple_1_1NodeStore_1_1TaskQueue.html#ad7eb2cb13ace6f9a38b211e54b9cd85f">workers_</a>;</div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classripple_1_1NodeStore_1_1TaskQueue.html#ade3310509bcac3cdf02521df9f9d2c34"> 50</a></span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/queue.html">std::queue</a>&lt;<a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a>&lt;void()&gt;&gt; <a class="code" href="classripple_1_1NodeStore_1_1TaskQueue.html#ade3310509bcac3cdf02521df9f9d2c34">tasks_</a>;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordtype">void</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="classripple_1_1NodeStore_1_1TaskQueue.html#adcd8d9fd3d2912c2de3042b982de9b86">processTask</a>(<span class="keywordtype">int</span> instance) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;};</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; </div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;} <span class="comment">// namespace NodeStore</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;} <span class="comment">// namespace ripple</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; </div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;} <span class="comment">// NodeStore</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;} <span class="comment">// ripple</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; </div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="afunctional_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/functional.html">functional</a></div></div>
<div class="ttc" id="aclassripple_1_1NodeStore_1_1TaskQueue_html_ad7eb2cb13ace6f9a38b211e54b9cd85f"><div class="ttname"><a href="classripple_1_1NodeStore_1_1TaskQueue.html#ad7eb2cb13ace6f9a38b211e54b9cd85f">ripple::NodeStore::TaskQueue::workers_</a></div><div class="ttdeci">Workers workers_</div><div class="ttdef"><b>Definition:</b> <a href="TaskQueue_8h_source.html#l00052">TaskQueue.h:52</a></div></div>
<div class="ttc" id="aclassripple_1_1NodeStore_1_1TaskQueue_html_ad7eb2cb13ace6f9a38b211e54b9cd85f"><div class="ttname"><a href="classripple_1_1NodeStore_1_1TaskQueue.html#ad7eb2cb13ace6f9a38b211e54b9cd85f">ripple::NodeStore::TaskQueue::workers_</a></div><div class="ttdeci">Workers workers_</div><div class="ttdef"><b>Definition:</b> <a href="TaskQueue_8h_source.html#l00049">TaskQueue.h:49</a></div></div>
<div class="ttc" id="aclassripple_1_1NodeStore_1_1TaskQueue_html_adcd8d9fd3d2912c2de3042b982de9b86"><div class="ttname"><a href="classripple_1_1NodeStore_1_1TaskQueue.html#adcd8d9fd3d2912c2de3042b982de9b86">ripple::NodeStore::TaskQueue::processTask</a></div><div class="ttdeci">void processTask(int instance) override</div><div class="ttdoc">Perform a task.</div><div class="ttdef"><b>Definition:</b> <a href="TaskQueue_8cpp_source.html#l00050">TaskQueue.cpp:50</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_1NodeStore_1_1TaskQueue_html_ade3310509bcac3cdf02521df9f9d2c34"><div class="ttname"><a href="classripple_1_1NodeStore_1_1TaskQueue.html#ade3310509bcac3cdf02521df9f9d2c34">ripple::NodeStore::TaskQueue::tasks_</a></div><div class="ttdeci">std::queue&lt; std::function&lt; void()&gt; &gt; tasks_</div><div class="ttdef"><b>Definition:</b> <a href="TaskQueue_8h_source.html#l00053">TaskQueue.h:53</a></div></div>
<div class="ttc" id="aclassripple_1_1NodeStore_1_1TaskQueue_html_ade3310509bcac3cdf02521df9f9d2c34"><div class="ttname"><a href="classripple_1_1NodeStore_1_1TaskQueue.html#ade3310509bcac3cdf02521df9f9d2c34">ripple::NodeStore::TaskQueue::tasks_</a></div><div class="ttdeci">std::queue&lt; std::function&lt; void()&gt; &gt; tasks_</div><div class="ttdef"><b>Definition:</b> <a href="TaskQueue_8h_source.html#l00050">TaskQueue.h:50</a></div></div>
<div class="ttc" id="aqueue_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/queue.html">queue</a></div></div>
<div class="ttc" id="astructripple_1_1Workers_1_1Callback_html"><div class="ttname"><a href="structripple_1_1Workers_1_1Callback.html">ripple::Workers::Callback</a></div><div class="ttdoc">Called to perform tasks as needed.</div><div class="ttdef"><b>Definition:</b> <a href="Workers_8h_source.html#l00044">Workers.h:44</a></div></div>
<div class="ttc" id="astructripple_1_1Workers_1_1Callback_html"><div class="ttname"><a href="structripple_1_1Workers_1_1Callback.html">ripple::Workers::Callback</a></div><div class="ttdoc">Called to perform tasks as needed.</div><div class="ttdef"><b>Definition:</b> <a href="Workers_8h_source.html#l00043">Workers.h:43</a></div></div>
<div class="ttc" id="aclassripple_1_1NodeStore_1_1TaskQueue_html"><div class="ttname"><a href="classripple_1_1NodeStore_1_1TaskQueue.html">ripple::NodeStore::TaskQueue</a></div><div class="ttdef"><b>Definition:</b> <a href="TaskQueue_8h_source.html#l00032">TaskQueue.h:32</a></div></div>
<div class="ttc" id="aclassripple_1_1Stoppable_html"><div class="ttname"><a href="classripple_1_1Stoppable.html">ripple::Stoppable</a></div><div class="ttdoc">Provides an interface for starting and stopping.</div><div class="ttdef"><b>Definition:</b> <a href="Stoppable_8h_source.html#l00200">Stoppable.h:200</a></div></div>
<div class="ttc" id="aclassripple_1_1NodeStore_1_1TaskQueue_html_adfc47d4a87f6cfe28c4885d4318b87ff"><div class="ttname"><a href="classripple_1_1NodeStore_1_1TaskQueue.html#adfc47d4a87f6cfe28c4885d4318b87ff">ripple::NodeStore::TaskQueue::addTask</a></div><div class="ttdeci">void addTask(std::function&lt; void()&gt; task)</div><div class="ttdoc">Adds a task to the queue.</div><div class="ttdef"><b>Definition:</b> <a href="TaskQueue_8cpp_source.html#l00041">TaskQueue.cpp:41</a></div></div>
<div class="ttc" id="aclassripple_1_1Workers_html"><div class="ttname"><a href="classripple_1_1Workers.html">ripple::Workers</a></div><div class="ttdoc">A group of threads that process tasks.</div><div class="ttdef"><b>Definition:</b> <a href="Workers_8h_source.html#l00040">Workers.h:40</a></div></div>
<div class="ttc" id="aclassripple_1_1Workers_html"><div class="ttname"><a href="classripple_1_1Workers.html">ripple::Workers</a></div><div class="ttdoc">A group of threads that process tasks.</div><div class="ttdef"><b>Definition:</b> <a href="Workers_8h_source.html#l00039">Workers.h:39</a></div></div>
<div class="ttc" id="aclassripple_1_1NodeStore_1_1TaskQueue_html_ae59691f4ad2a8f7c6cd2be7c1fc772d1"><div class="ttname"><a href="classripple_1_1NodeStore_1_1TaskQueue.html#ae59691f4ad2a8f7c6cd2be7c1fc772d1">ripple::NodeStore::TaskQueue::TaskQueue</a></div><div class="ttdeci">TaskQueue(Stoppable &amp;parent)</div><div class="ttdef"><b>Definition:</b> <a href="TaskQueue_8cpp_source.html#l00027">TaskQueue.cpp:27</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_1NodeStore_1_1TaskQueue_html_a621ef5d4bf00e8499bef58c8789686c3"><div class="ttname"><a href="classripple_1_1NodeStore_1_1TaskQueue.html#a621ef5d4bf00e8499bef58c8789686c3">ripple::NodeStore::TaskQueue::onStop</a></div><div class="ttdeci">void onStop() override</div><div class="ttdoc">Override called when the stop notification is issued.</div><div class="ttdef"><b>Definition:</b> <a href="TaskQueue_8cpp_source.html#l00034">TaskQueue.cpp:34</a></div></div>
<div class="ttc" id="amutex_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/thread/mutex.html">std::mutex</a></div><div class="ttdoc">STL class.</div></div>
<div class="ttc" id="aclassripple_1_1NodeStore_1_1TaskQueue_html_a8175de06ffcfceb698815efe924b7bcc"><div class="ttname"><a href="classripple_1_1NodeStore_1_1TaskQueue.html#a8175de06ffcfceb698815efe924b7bcc">ripple::NodeStore::TaskQueue::mutex_</a></div><div class="ttdeci">std::mutex mutex_</div><div class="ttdef"><b>Definition:</b> <a href="TaskQueue_8h_source.html#l00051">TaskQueue.h:51</a></div></div>
<div class="ttc" id="aclassripple_1_1NodeStore_1_1TaskQueue_html_a8175de06ffcfceb698815efe924b7bcc"><div class="ttname"><a href="classripple_1_1NodeStore_1_1TaskQueue.html#a8175de06ffcfceb698815efe924b7bcc">ripple::NodeStore::TaskQueue::mutex_</a></div><div class="ttdeci">std::mutex mutex_</div><div class="ttdef"><b>Definition:</b> <a href="TaskQueue_8h_source.html#l00048">TaskQueue.h:48</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">