mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-06 17:27:55 +00:00
deploy: 8eb233c2ea
This commit is contained in:
@@ -74,7 +74,7 @@ $(document).ready(function() { init_codefold(0); });
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_a62226f9e3a6c7c5a3be455e2f87ae01.html">xrpld</a></li><li class="navelem"><a class="el" href="dir_7ce8509406ee125b7d32b7e664ae4e18.html">nodestore</a></li><li class="navelem"><a class="el" href="dir_9316ae2f34c7b7c8d3f14ce0f886f64c.html">detail</a></li> </ul>
|
||||
<li class="navelem"><a class="el" href="dir_90ffdbabf412cfdffe6b2193e0ce938a.html">libxrpl</a></li><li class="navelem"><a class="el" href="dir_a59c1a58e5e6f521a28fe23865b09e68.html">nodestore</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
@@ -100,7 +100,7 @@ $(document).ready(function() { init_codefold(0); });
|
||||
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment">*/</span></div>
|
||||
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment">//==============================================================================</span></div>
|
||||
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
|
||||
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#include <xrpld/nodestore/detail/BatchWriter.h></span></div>
|
||||
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#include <xrpl/nodestore/detail/BatchWriter.h></span></div>
|
||||
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
|
||||
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespaceripple.html">ripple</a> {</div>
|
||||
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="keyword">namespace </span>NodeStore {</div>
|
||||
@@ -112,7 +112,7 @@ $(document).ready(function() { init_codefold(0); });
|
||||
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> , mWriteLoad(0)</div>
|
||||
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> , mWritePending(false)</div>
|
||||
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span>{</div>
|
||||
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <a class="code hl_variable" href="classripple_1_1NodeStore_1_1BatchWriter.html#a3764d56b2e80ee3345a2427f06192abb">mWriteSet</a>.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/reserve.html">reserve</a>(<a class="code hl_enumvalue" href="namespaceripple_1_1NodeStore.html#aa58826ecc5365c32e57504172cc6c827a3e7cbb590a2149da2328925f4ac5978a">batchWritePreallocationSize</a>);</div>
|
||||
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <a class="code hl_variable" href="classripple_1_1NodeStore_1_1BatchWriter.html#a3764d56b2e80ee3345a2427f06192abb">mWriteSet</a>.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/reserve.html">reserve</a>(<a class="code hl_enumvalue" href="namespaceripple_1_1NodeStore.html#ada76834b5c97fc907bd3e24a2b771a5aa3e7cbb590a2149da2328925f4ac5978a">batchWritePreallocationSize</a>);</div>
|
||||
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> </div>
|
||||
@@ -131,7 +131,7 @@ $(document).ready(function() { init_codefold(0); });
|
||||
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> </div>
|
||||
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="comment">// If the batch has reached its limit, we wait</span></div>
|
||||
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="comment">// until the batch writer is finished</span></div>
|
||||
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keywordflow">while</span> (<a class="code hl_variable" href="classripple_1_1NodeStore_1_1BatchWriter.html#a3764d56b2e80ee3345a2427f06192abb">mWriteSet</a>.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() >= <a class="code hl_enumvalue" href="namespaceripple_1_1NodeStore.html#aa58826ecc5365c32e57504172cc6c827a03b8818e1ee729cf3a62bf6697aff257">batchWriteLimitSize</a>)</div>
|
||||
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keywordflow">while</span> (<a class="code hl_variable" href="classripple_1_1NodeStore_1_1BatchWriter.html#a3764d56b2e80ee3345a2427f06192abb">mWriteSet</a>.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() >= <a class="code hl_enumvalue" href="namespaceripple_1_1NodeStore.html#ada76834b5c97fc907bd3e24a2b771a5aa03b8818e1ee729cf3a62bf6697aff257">batchWriteLimitSize</a>)</div>
|
||||
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <a class="code hl_variable" href="classripple_1_1NodeStore_1_1BatchWriter.html#ae99b6e34ec47a86bcdc8de5a5a49eff4">mWriteCondition</a>.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/thread/condition_variable_any/wait.html">wait</a>(sl);</div>
|
||||
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> </div>
|
||||
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <a class="code hl_variable" href="classripple_1_1NodeStore_1_1BatchWriter.html#a3764d56b2e80ee3345a2427f06192abb">mWriteSet</a>.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(<span class="keywordtype">object</span>);</div>
|
||||
@@ -171,7 +171,7 @@ $(document).ready(function() { init_codefold(0); });
|
||||
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> {</div>
|
||||
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::shared_ptr<NodeObject></a>> <a class="code hl_function" href="namespaceripple.html#a53f80df10254751781250aa20704e98f">set</a>;</div>
|
||||
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> </div>
|
||||
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <a class="code hl_function" href="namespaceripple.html#a53f80df10254751781250aa20704e98f">set</a>.reserve(<a class="code hl_enumvalue" href="namespaceripple_1_1NodeStore.html#aa58826ecc5365c32e57504172cc6c827a3e7cbb590a2149da2328925f4ac5978a">batchWritePreallocationSize</a>);</div>
|
||||
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <a class="code hl_function" href="namespaceripple.html#a53f80df10254751781250aa20704e98f">set</a>.reserve(<a class="code hl_enumvalue" href="namespaceripple_1_1NodeStore.html#ada76834b5c97fc907bd3e24a2b771a5aa3e7cbb590a2149da2328925f4ac5978a">batchWritePreallocationSize</a>);</div>
|
||||
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> </div>
|
||||
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> {</div>
|
||||
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> sl(<a class="code hl_variable" href="classripple_1_1NodeStore_1_1BatchWriter.html#a8446bde66ae915ce1e8a23c1d9e03932">mWriteMutex</a>);</div>
|
||||
@@ -233,14 +233,14 @@ $(document).ready(function() { init_codefold(0); });
|
||||
<div class="ttc" id="aclassripple_1_1NodeStore_1_1BatchWriter_html_ad2bd82080d5ae1a6f10eac76d6ef7874"><div class="ttname"><a href="classripple_1_1NodeStore_1_1BatchWriter.html#ad2bd82080d5ae1a6f10eac76d6ef7874">ripple::NodeStore::BatchWriter::BatchWriter</a></div><div class="ttdeci">BatchWriter(Callback &callback, Scheduler &scheduler)</div><div class="ttdoc">Create a batch writer.</div><div class="ttdef"><b>Definition</b> <a href="BatchWriter_8cpp_source.html#l00025">BatchWriter.cpp:25</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NodeStore_1_1BatchWriter_html_ae99b6e34ec47a86bcdc8de5a5a49eff4"><div class="ttname"><a href="classripple_1_1NodeStore_1_1BatchWriter.html#ae99b6e34ec47a86bcdc8de5a5a49eff4">ripple::NodeStore::BatchWriter::mWriteCondition</a></div><div class="ttdeci">CondvarType mWriteCondition</div><div class="ttdef"><b>Definition</b> <a href="BatchWriter_8h_source.html#l00093">BatchWriter.h:93</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NodeStore_1_1BatchWriter_html_af79bad700133763e550a4750fcae40d7"><div class="ttname"><a href="classripple_1_1NodeStore_1_1BatchWriter.html#af79bad700133763e550a4750fcae40d7">ripple::NodeStore::BatchWriter::~BatchWriter</a></div><div class="ttdeci">~BatchWriter()</div><div class="ttdoc">Destroy a batch writer.</div><div class="ttdef"><b>Definition</b> <a href="BatchWriter_8cpp_source.html#l00034">BatchWriter.cpp:34</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NodeStore_1_1Scheduler_html"><div class="ttname"><a href="classripple_1_1NodeStore_1_1Scheduler.html">ripple::NodeStore::Scheduler</a></div><div class="ttdoc">Scheduling for asynchronous backend activity.</div><div class="ttdef"><b>Definition</b> <a href="xrpld_2nodestore_2Scheduler_8h_source.html#l00061">xrpld/nodestore/Scheduler.h:62</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NodeStore_1_1Scheduler_html"><div class="ttname"><a href="classripple_1_1NodeStore_1_1Scheduler.html">ripple::NodeStore::Scheduler</a></div><div class="ttdoc">Scheduling for asynchronous backend activity.</div><div class="ttdef"><b>Definition</b> <a href="include_2xrpl_2nodestore_2Scheduler_8h_source.html#l00061">include/xrpl/nodestore/Scheduler.h:62</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NodeStore_1_1Scheduler_html_a0adffe6c4e42f062bd47864f4e615a39"><div class="ttname"><a href="classripple_1_1NodeStore_1_1Scheduler.html#a0adffe6c4e42f062bd47864f4e615a39">ripple::NodeStore::Scheduler::onBatchWrite</a></div><div class="ttdeci">virtual void onBatchWrite(BatchWriteReport const &report)=0</div><div class="ttdoc">Reports the completion of a batch write Allows the scheduler to monitor the node store's performance.</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NodeStore_1_1Scheduler_html_af3734617d65f9903e3b33d3ee6de8102"><div class="ttname"><a href="classripple_1_1NodeStore_1_1Scheduler.html#af3734617d65f9903e3b33d3ee6de8102">ripple::NodeStore::Scheduler::scheduleTask</a></div><div class="ttdeci">virtual void scheduleTask(Task &task)=0</div><div class="ttdoc">Schedules a task.</div></div>
|
||||
<div class="ttc" id="aempty_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/empty.html">std::vector::empty</a></div><div class="ttdeci">T empty(T... args)</div></div>
|
||||
<div class="ttc" id="alock_guard_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a></div></div>
|
||||
<div class="ttc" id="amax_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/max.html">std::max</a></div><div class="ttdeci">T max(T... args)</div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1NodeStore_html_aa58826ecc5365c32e57504172cc6c827a03b8818e1ee729cf3a62bf6697aff257"><div class="ttname"><a href="namespaceripple_1_1NodeStore.html#aa58826ecc5365c32e57504172cc6c827a03b8818e1ee729cf3a62bf6697aff257">ripple::NodeStore::batchWriteLimitSize</a></div><div class="ttdeci">@ batchWriteLimitSize</div><div class="ttdef"><b>Definition</b> <a href="src_2xrpld_2nodestore_2Types_8h_source.html#l00041">src/xrpld/nodestore/Types.h:40</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1NodeStore_html_aa58826ecc5365c32e57504172cc6c827a3e7cbb590a2149da2328925f4ac5978a"><div class="ttname"><a href="namespaceripple_1_1NodeStore.html#aa58826ecc5365c32e57504172cc6c827a3e7cbb590a2149da2328925f4ac5978a">ripple::NodeStore::batchWritePreallocationSize</a></div><div class="ttdeci">@ batchWritePreallocationSize</div><div class="ttdef"><b>Definition</b> <a href="src_2xrpld_2nodestore_2Types_8h_source.html#l00034">src/xrpld/nodestore/Types.h:34</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1NodeStore_html_ada76834b5c97fc907bd3e24a2b771a5aa03b8818e1ee729cf3a62bf6697aff257"><div class="ttname"><a href="namespaceripple_1_1NodeStore.html#ada76834b5c97fc907bd3e24a2b771a5aa03b8818e1ee729cf3a62bf6697aff257">ripple::NodeStore::batchWriteLimitSize</a></div><div class="ttdeci">@ batchWriteLimitSize</div><div class="ttdef"><b>Definition</b> <a href="nodestore_2Types_8h_source.html#l00041">nodestore/Types.h:40</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1NodeStore_html_ada76834b5c97fc907bd3e24a2b771a5aa3e7cbb590a2149da2328925f4ac5978a"><div class="ttname"><a href="namespaceripple_1_1NodeStore.html#ada76834b5c97fc907bd3e24a2b771a5aa3e7cbb590a2149da2328925f4ac5978a">ripple::NodeStore::batchWritePreallocationSize</a></div><div class="ttdeci">@ batchWritePreallocationSize</div><div class="ttdef"><b>Definition</b> <a href="nodestore_2Types_8h_source.html#l00034">nodestore/Types.h:34</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="algorithm_8h_source.html#l00025">algorithm.h:25</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a53f80df10254751781250aa20704e98f"><div class="ttname"><a href="namespaceripple.html#a53f80df10254751781250aa20704e98f">ripple::set</a></div><div class="ttdeci">bool set(T &target, std::string const &name, Section const &section)</div><div class="ttdoc">Set a value from a configuration Section If the named value is not found or doesn't parse as a T,...</div><div class="ttdef"><b>Definition</b> <a href="BasicConfig_8h_source.html#l00315">BasicConfig.h:315</a></div></div>
|
||||
<div class="ttc" id="anotify_all_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/thread/condition_variable_any/notify_all.html">std::condition_variable_any::notify_all</a></div><div class="ttdeci">T notify_all(T... args)</div></div>
|
||||
@@ -249,9 +249,9 @@ $(document).ready(function() { init_codefold(0); });
|
||||
<div class="ttc" id="areserve_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/reserve.html">std::vector::reserve</a></div><div class="ttdeci">T reserve(T... args)</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>
|
||||
<div class="ttc" id="asize_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/size.html">std::vector::size</a></div><div class="ttdeci">T size(T... args)</div></div>
|
||||
<div class="ttc" id="astructripple_1_1NodeStore_1_1BatchWriteReport_html"><div class="ttname"><a href="structripple_1_1NodeStore_1_1BatchWriteReport.html">ripple::NodeStore::BatchWriteReport</a></div><div class="ttdoc">Contains information about a batch write operation.</div><div class="ttdef"><b>Definition</b> <a href="xrpld_2nodestore_2Scheduler_8h_source.html#l00045">xrpld/nodestore/Scheduler.h:46</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1NodeStore_1_1BatchWriteReport_html_a183bf74eb142fef4d3dd5d18905d9a22"><div class="ttname"><a href="structripple_1_1NodeStore_1_1BatchWriteReport.html#a183bf74eb142fef4d3dd5d18905d9a22">ripple::NodeStore::BatchWriteReport::elapsed</a></div><div class="ttdeci">std::chrono::milliseconds elapsed</div><div class="ttdef"><b>Definition</b> <a href="xrpld_2nodestore_2Scheduler_8h_source.html#l00049">xrpld/nodestore/Scheduler.h:49</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1NodeStore_1_1BatchWriteReport_html_a357c5cc140aa8da903855175e07b4d0b"><div class="ttname"><a href="structripple_1_1NodeStore_1_1BatchWriteReport.html#a357c5cc140aa8da903855175e07b4d0b">ripple::NodeStore::BatchWriteReport::writeCount</a></div><div class="ttdeci">int writeCount</div><div class="ttdef"><b>Definition</b> <a href="xrpld_2nodestore_2Scheduler_8h_source.html#l00050">xrpld/nodestore/Scheduler.h:50</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1NodeStore_1_1BatchWriteReport_html"><div class="ttname"><a href="structripple_1_1NodeStore_1_1BatchWriteReport.html">ripple::NodeStore::BatchWriteReport</a></div><div class="ttdoc">Contains information about a batch write operation.</div><div class="ttdef"><b>Definition</b> <a href="include_2xrpl_2nodestore_2Scheduler_8h_source.html#l00045">include/xrpl/nodestore/Scheduler.h:46</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1NodeStore_1_1BatchWriteReport_html_a183bf74eb142fef4d3dd5d18905d9a22"><div class="ttname"><a href="structripple_1_1NodeStore_1_1BatchWriteReport.html#a183bf74eb142fef4d3dd5d18905d9a22">ripple::NodeStore::BatchWriteReport::elapsed</a></div><div class="ttdeci">std::chrono::milliseconds elapsed</div><div class="ttdef"><b>Definition</b> <a href="include_2xrpl_2nodestore_2Scheduler_8h_source.html#l00049">include/xrpl/nodestore/Scheduler.h:49</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1NodeStore_1_1BatchWriteReport_html_a357c5cc140aa8da903855175e07b4d0b"><div class="ttname"><a href="structripple_1_1NodeStore_1_1BatchWriteReport.html#a357c5cc140aa8da903855175e07b4d0b">ripple::NodeStore::BatchWriteReport::writeCount</a></div><div class="ttdeci">int writeCount</div><div class="ttdef"><b>Definition</b> <a href="include_2xrpl_2nodestore_2Scheduler_8h_source.html#l00050">include/xrpl/nodestore/Scheduler.h:50</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1NodeStore_1_1BatchWriter_1_1Callback_html"><div class="ttname"><a href="structripple_1_1NodeStore_1_1BatchWriter_1_1Callback.html">ripple::NodeStore::BatchWriter::Callback</a></div><div class="ttdoc">This callback does the actual writing.</div><div class="ttdef"><b>Definition</b> <a href="BatchWriter_8h_source.html#l00045">BatchWriter.h:46</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1NodeStore_1_1BatchWriter_1_1Callback_html_a44ada568a17a0b6f3256005476e68638"><div class="ttname"><a href="structripple_1_1NodeStore_1_1BatchWriter_1_1Callback.html#a44ada568a17a0b6f3256005476e68638">ripple::NodeStore::BatchWriter::Callback::writeBatch</a></div><div class="ttdeci">virtual void writeBatch(Batch const &batch)=0</div></div>
|
||||
<div class="ttc" id="aswap_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/swap.html">std::vector::swap</a></div><div class="ttdeci">T swap(T... args)</div></div>
|
||||
|
||||
Reference in New Issue
Block a user