dash-docs/en/doxygen/html/classCDBWrapper.html

977 lines
56 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Dash Core: CDBWrapper Class Reference</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="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</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="projectlogo"><img alt="Logo" src="bitcoin_logo_doxygen.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Dash Core
&#160;<span id="projectnumber">0.12.2.1</span>
</div>
<div id="projectbrief">P2P Digital Currency</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<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>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classCDBWrapper.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- 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 class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="#pri-static-attribs">Static Private Attributes</a> &#124;
<a href="classCDBWrapper-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">CDBWrapper Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="dbwrapper_8h_source.html">dbwrapper.h</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for CDBWrapper:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center">
<img src="classCDBWrapper.png" usemap="#CDBWrapper_map" alt=""/>
<map id="CDBWrapper_map" name="CDBWrapper_map">
<area href="classCBlockTreeDB.html" alt="CBlockTreeDB" shape="rect" coords="0,56,95,80"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a196335b21f6416e63acc5be8c747b7db"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDBWrapper.html#a196335b21f6416e63acc5be8c747b7db">CDBWrapper</a> (const boost::filesystem::path &amp;path, size_t nCacheSize, bool fMemory=false, bool fWipe=false, bool obfuscate=false)</td></tr>
<tr class="separator:a196335b21f6416e63acc5be8c747b7db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa20c87d7d2e57782b628cc50678dad32"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDBWrapper.html#aa20c87d7d2e57782b628cc50678dad32">~CDBWrapper</a> ()</td></tr>
<tr class="separator:aa20c87d7d2e57782b628cc50678dad32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38084dd7b2870e6ac3082e7521d88a29"><td class="memTemplParams" colspan="2">template&lt;typename K , typename V &gt; </td></tr>
<tr class="memitem:a38084dd7b2870e6ac3082e7521d88a29"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classCDBWrapper.html#a38084dd7b2870e6ac3082e7521d88a29">Read</a> (const K &amp;key, V &amp;value) const throw (dbwrapper_error)</td></tr>
<tr class="separator:a38084dd7b2870e6ac3082e7521d88a29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6600aa8c2b30880dd7e032ea21f74aed"><td class="memTemplParams" colspan="2">template&lt;typename K , typename V &gt; </td></tr>
<tr class="memitem:a6600aa8c2b30880dd7e032ea21f74aed"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classCDBWrapper.html#a6600aa8c2b30880dd7e032ea21f74aed">Write</a> (const K &amp;key, const V &amp;value, bool fSync=false) throw (dbwrapper_error)</td></tr>
<tr class="separator:a6600aa8c2b30880dd7e032ea21f74aed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6abcb2368561b33b005666aa88315ed7"><td class="memTemplParams" colspan="2">template&lt;typename K &gt; </td></tr>
<tr class="memitem:a6abcb2368561b33b005666aa88315ed7"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classCDBWrapper.html#a6abcb2368561b33b005666aa88315ed7">Exists</a> (const K &amp;key) const throw (dbwrapper_error)</td></tr>
<tr class="separator:a6abcb2368561b33b005666aa88315ed7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a583311ba1b0eb24d07511aad3325d61f"><td class="memTemplParams" colspan="2">template&lt;typename K &gt; </td></tr>
<tr class="memitem:a583311ba1b0eb24d07511aad3325d61f"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classCDBWrapper.html#a583311ba1b0eb24d07511aad3325d61f">Erase</a> (const K &amp;key, bool fSync=false) throw (dbwrapper_error)</td></tr>
<tr class="separator:a583311ba1b0eb24d07511aad3325d61f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3624c2e99b0d4e9a4edc679b304fa180"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDBWrapper.html#a3624c2e99b0d4e9a4edc679b304fa180">WriteBatch</a> (<a class="el" href="classCDBBatch.html">CDBBatch</a> &amp;batch, bool fSync=false) throw (dbwrapper_error)</td></tr>
<tr class="separator:a3624c2e99b0d4e9a4edc679b304fa180"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44f619b897dc1fd4f3879093b03db832"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDBWrapper.html#a44f619b897dc1fd4f3879093b03db832">Flush</a> ()</td></tr>
<tr class="separator:a44f619b897dc1fd4f3879093b03db832"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae63843f0967f5c37ae2918b764b642d4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDBWrapper.html#ae63843f0967f5c37ae2918b764b642d4">Sync</a> () throw (dbwrapper_error)</td></tr>
<tr class="separator:ae63843f0967f5c37ae2918b764b642d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a086e9b6d6756642cb5d60778ea948c8f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCDBIterator.html">CDBIterator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDBWrapper.html#a086e9b6d6756642cb5d60778ea948c8f">NewIterator</a> ()</td></tr>
<tr class="separator:a086e9b6d6756642cb5d60778ea948c8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec1b8db7dc13b64ba599ddb8141118ca"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDBWrapper.html#aec1b8db7dc13b64ba599ddb8141118ca">IsEmpty</a> ()</td></tr>
<tr class="separator:aec1b8db7dc13b64ba599ddb8141118ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87dba4369a5444d490998c6f57e6d2ba"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; unsigned char &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDBWrapper.html#a87dba4369a5444d490998c6f57e6d2ba">GetObfuscateKey</a> () const</td></tr>
<tr class="separator:a87dba4369a5444d490998c6f57e6d2ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3b23518d0fe232794d23bd8e43bc15d"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDBWrapper.html#ab3b23518d0fe232794d23bd8e43bc15d">GetObfuscateKeyHex</a> () const</td></tr>
<tr class="separator:ab3b23518d0fe232794d23bd8e43bc15d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:ad1b9f0d554cd7e62d2789b7d3fca753a"><td class="memItemLeft" align="right" valign="top">std::vector&lt; unsigned char &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDBWrapper.html#ad1b9f0d554cd7e62d2789b7d3fca753a">CreateObfuscateKey</a> () const</td></tr>
<tr class="separator:ad1b9f0d554cd7e62d2789b7d3fca753a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a35d77fd25139ca46b82be7cd9f9f43c6"><td class="memItemLeft" align="right" valign="top">leveldb::Env *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDBWrapper.html#a35d77fd25139ca46b82be7cd9f9f43c6">penv</a></td></tr>
<tr class="memdesc:a35d77fd25139ca46b82be7cd9f9f43c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">custom environment this database is using (may be NULL in case of default environment) <a href="#a35d77fd25139ca46b82be7cd9f9f43c6">More...</a><br /></td></tr>
<tr class="separator:a35d77fd25139ca46b82be7cd9f9f43c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9137387b16dfc67a3af758576c5f8606"><td class="memItemLeft" align="right" valign="top">leveldb::Options&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDBWrapper.html#a9137387b16dfc67a3af758576c5f8606">options</a></td></tr>
<tr class="memdesc:a9137387b16dfc67a3af758576c5f8606"><td class="mdescLeft">&#160;</td><td class="mdescRight">database options used <a href="#a9137387b16dfc67a3af758576c5f8606">More...</a><br /></td></tr>
<tr class="separator:a9137387b16dfc67a3af758576c5f8606"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb339cf3fd16de13f20217e4c475c79e"><td class="memItemLeft" align="right" valign="top">leveldb::ReadOptions&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDBWrapper.html#afb339cf3fd16de13f20217e4c475c79e">readoptions</a></td></tr>
<tr class="memdesc:afb339cf3fd16de13f20217e4c475c79e"><td class="mdescLeft">&#160;</td><td class="mdescRight">options used when reading from the database <a href="#afb339cf3fd16de13f20217e4c475c79e">More...</a><br /></td></tr>
<tr class="separator:afb339cf3fd16de13f20217e4c475c79e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb9487dea70007f9a85d2bb5a2b09608"><td class="memItemLeft" align="right" valign="top">leveldb::ReadOptions&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDBWrapper.html#adb9487dea70007f9a85d2bb5a2b09608">iteroptions</a></td></tr>
<tr class="memdesc:adb9487dea70007f9a85d2bb5a2b09608"><td class="mdescLeft">&#160;</td><td class="mdescRight">options used when iterating over values of the database <a href="#adb9487dea70007f9a85d2bb5a2b09608">More...</a><br /></td></tr>
<tr class="separator:adb9487dea70007f9a85d2bb5a2b09608"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e8fd519131e35de3bb211f7388d9a18"><td class="memItemLeft" align="right" valign="top">leveldb::WriteOptions&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDBWrapper.html#a9e8fd519131e35de3bb211f7388d9a18">writeoptions</a></td></tr>
<tr class="memdesc:a9e8fd519131e35de3bb211f7388d9a18"><td class="mdescLeft">&#160;</td><td class="mdescRight">options used when writing to the database <a href="#a9e8fd519131e35de3bb211f7388d9a18">More...</a><br /></td></tr>
<tr class="separator:a9e8fd519131e35de3bb211f7388d9a18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac0086b6867ab79acc706f93a2908de0"><td class="memItemLeft" align="right" valign="top">leveldb::WriteOptions&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDBWrapper.html#aac0086b6867ab79acc706f93a2908de0">syncoptions</a></td></tr>
<tr class="memdesc:aac0086b6867ab79acc706f93a2908de0"><td class="mdescLeft">&#160;</td><td class="mdescRight">options used when sync writing to the database <a href="#aac0086b6867ab79acc706f93a2908de0">More...</a><br /></td></tr>
<tr class="separator:aac0086b6867ab79acc706f93a2908de0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace0085a1acbdd70330cd3cee562fd099"><td class="memItemLeft" align="right" valign="top">leveldb::DB *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDBWrapper.html#ace0085a1acbdd70330cd3cee562fd099">pdb</a></td></tr>
<tr class="memdesc:ace0085a1acbdd70330cd3cee562fd099"><td class="mdescLeft">&#160;</td><td class="mdescRight">the database itself <a href="#ace0085a1acbdd70330cd3cee562fd099">More...</a><br /></td></tr>
<tr class="separator:ace0085a1acbdd70330cd3cee562fd099"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6baaceaa7825b0adfc078c59fddd0f1c"><td class="memItemLeft" align="right" valign="top">std::vector&lt; unsigned char &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDBWrapper.html#a6baaceaa7825b0adfc078c59fddd0f1c">obfuscate_key</a></td></tr>
<tr class="memdesc:a6baaceaa7825b0adfc078c59fddd0f1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">a key used for optional XOR-obfuscation of the database <a href="#a6baaceaa7825b0adfc078c59fddd0f1c">More...</a><br /></td></tr>
<tr class="separator:a6baaceaa7825b0adfc078c59fddd0f1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-static-attribs"></a>
Static Private Attributes</h2></td></tr>
<tr class="memitem:a991c2ad52d45664e17bcfc588022e71c"><td class="memItemLeft" align="right" valign="top">static const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDBWrapper.html#a991c2ad52d45664e17bcfc588022e71c">OBFUSCATE_KEY_KEY</a></td></tr>
<tr class="memdesc:a991c2ad52d45664e17bcfc588022e71c"><td class="mdescLeft">&#160;</td><td class="mdescRight">the key under which the obfuscation key is stored <a href="#a991c2ad52d45664e17bcfc588022e71c">More...</a><br /></td></tr>
<tr class="separator:a991c2ad52d45664e17bcfc588022e71c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a958103a454c991c03dd0efb7bf3a10cf"><td class="memItemLeft" align="right" valign="top">static const unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCDBWrapper.html#a958103a454c991c03dd0efb7bf3a10cf">OBFUSCATE_KEY_NUM_BYTES</a> = 8</td></tr>
<tr class="memdesc:a958103a454c991c03dd0efb7bf3a10cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">the length of the obfuscate key in number of bytes <a href="#a958103a454c991c03dd0efb7bf3a10cf">More...</a><br /></td></tr>
<tr class="separator:a958103a454c991c03dd0efb7bf3a10cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="dbwrapper_8h_source.html#l00135">135</a> of file <a class="el" href="dbwrapper_8h_source.html">dbwrapper.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a196335b21f6416e63acc5be8c747b7db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a196335b21f6416e63acc5be8c747b7db">&#9670;&nbsp;</a></span>CDBWrapper()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">CDBWrapper::CDBWrapper </td>
<td>(</td>
<td class="paramtype">const boost::filesystem::path &amp;&#160;</td>
<td class="paramname"><em>path</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>nCacheSize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>fMemory</em> = <code>false</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>fWipe</em> = <code>false</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>obfuscate</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>Location in the filesystem where leveldb data will be stored. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nCacheSize</td><td>Configures various leveldb cache settings. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">fMemory</td><td>If true, use leveldb's memory environment. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">fWipe</td><td>If true, remove all existing data. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">obfuscate</td><td>If true, store data obfuscated via simple XOR. If false, XOR with a zero'd byte array. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="dbwrapper_8cpp_source.html#l00048">48</a> of file <a class="el" href="dbwrapper_8cpp_source.html">dbwrapper.cpp</a>.</p>
</div>
</div>
<a id="aa20c87d7d2e57782b628cc50678dad32"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa20c87d7d2e57782b628cc50678dad32">&#9670;&nbsp;</a></span>~CDBWrapper()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">CDBWrapper::~CDBWrapper </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbwrapper_8cpp_source.html#l00093">93</a> of file <a class="el" href="dbwrapper_8cpp_source.html">dbwrapper.cpp</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ad1b9f0d554cd7e62d2789b7d3fca753a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad1b9f0d554cd7e62d2789b7d3fca753a">&#9670;&nbsp;</a></span>CreateObfuscateKey()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; unsigned char &gt; CDBWrapper::CreateObfuscateKey </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a string (consisting of 8 random bytes) suitable for use as an obfuscating XOR key. </p>
<p class="definition">Definition at line <a class="el" href="dbwrapper_8cpp_source.html#l00124">124</a> of file <a class="el" href="dbwrapper_8cpp_source.html">dbwrapper.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbwrapper_8cpp_source.html#l00048">CDBWrapper()</a>.</p>
</div>
</div>
<a id="a583311ba1b0eb24d07511aad3325d61f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a583311ba1b0eb24d07511aad3325d61f">&#9670;&nbsp;</a></span>Erase()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename K &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool CDBWrapper::Erase </td>
<td>(</td>
<td class="paramtype">const K &amp;&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>fSync</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
<tr>
<td align="right">throw </td><td>(</td><td colspan="2"><a class="el" href="classdbwrapper__error.html">dbwrapper_error</a></td>
</tr>
<tr>
<td align="right"></td><td>)</td><td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbwrapper_8h_source.html#l00236">236</a> of file <a class="el" href="dbwrapper_8h_source.html">dbwrapper.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="txdb_8cpp_source.html#l00085">CBlockTreeDB::WriteReindexing()</a>.</p>
</div>
</div>
<a id="a6abcb2368561b33b005666aa88315ed7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6abcb2368561b33b005666aa88315ed7">&#9670;&nbsp;</a></span>Exists()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename K &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool CDBWrapper::Exists </td>
<td>(</td>
<td class="paramtype">const K &amp;&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td> const</td>
</tr>
<tr>
<td align="right">throw </td><td>(</td><td colspan="2"><a class="el" href="classdbwrapper__error.html">dbwrapper_error</a></td>
</tr>
<tr>
<td align="right"></td><td>)</td><td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbwrapper_8h_source.html#l00217">217</a> of file <a class="el" href="dbwrapper_8h_source.html">dbwrapper.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="txdb_8cpp_source.html#l00044">CCoinsViewDB::HaveCoins()</a>, and <a class="el" href="txdb_8cpp_source.html#l00092">CBlockTreeDB::ReadReindexing()</a>.</p>
</div>
</div>
<a id="a44f619b897dc1fd4f3879093b03db832"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44f619b897dc1fd4f3879093b03db832">&#9670;&nbsp;</a></span>Flush()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool CDBWrapper::Flush </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbwrapper_8h_source.html#l00246">246</a> of file <a class="el" href="dbwrapper_8h_source.html">dbwrapper.h</a>.</p>
</div>
</div>
<a id="a87dba4369a5444d490998c6f57e6d2ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a87dba4369a5444d490998c6f57e6d2ba">&#9670;&nbsp;</a></span>GetObfuscateKey()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const std::vector&lt; unsigned char &gt; &amp; CDBWrapper::GetObfuscateKey </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Accessor for obfuscate_key. </p>
<p class="definition">Definition at line <a class="el" href="dbwrapper_8cpp_source.html#l00139">139</a> of file <a class="el" href="dbwrapper_8cpp_source.html">dbwrapper.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="txdb_8cpp_source.html#l00055">CCoinsViewDB::BatchWrite()</a>, <a class="el" href="txdb_8cpp_source.html#l00231">CBlockTreeDB::EraseAddressIndex()</a>, <a class="el" href="txdb_8cpp_source.html#l00186">CBlockTreeDB::UpdateAddressUnspentIndex()</a>, <a class="el" href="txdb_8cpp_source.html#l00174">CBlockTreeDB::UpdateSpentIndex()</a>, <a class="el" href="txdb_8cpp_source.html#l00224">CBlockTreeDB::WriteAddressIndex()</a>, <a class="el" href="txdb_8cpp_source.html#l00147">CBlockTreeDB::WriteBatchSync()</a>, <a class="el" href="txdb_8cpp_source.html#l00272">CBlockTreeDB::WriteTimestampIndex()</a>, and <a class="el" href="txdb_8cpp_source.html#l00163">CBlockTreeDB::WriteTxIndex()</a>.</p>
</div>
</div>
<a id="ab3b23518d0fe232794d23bd8e43bc15d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab3b23518d0fe232794d23bd8e43bc15d">&#9670;&nbsp;</a></span>GetObfuscateKeyHex()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string CDBWrapper::GetObfuscateKeyHex </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the obfuscate_key as a hex-formatted string. </p>
<p class="definition">Definition at line <a class="el" href="dbwrapper_8cpp_source.html#l00144">144</a> of file <a class="el" href="dbwrapper_8cpp_source.html">dbwrapper.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbwrapper_8cpp_source.html#l00048">CDBWrapper()</a>.</p>
</div>
</div>
<a id="aec1b8db7dc13b64ba599ddb8141118ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec1b8db7dc13b64ba599ddb8141118ca">&#9670;&nbsp;</a></span>IsEmpty()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool CDBWrapper::IsEmpty </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return true if the database managed by this class contains no entries. </p>
<p class="definition">Definition at line <a class="el" href="dbwrapper_8cpp_source.html#l00132">132</a> of file <a class="el" href="dbwrapper_8cpp_source.html">dbwrapper.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbwrapper_8cpp_source.html#l00048">CDBWrapper()</a>.</p>
</div>
</div>
<a id="a086e9b6d6756642cb5d60778ea948c8f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a086e9b6d6756642cb5d60778ea948c8f">&#9670;&nbsp;</a></span>NewIterator()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classCDBIterator.html">CDBIterator</a>* CDBWrapper::NewIterator </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbwrapper_8h_source.html#l00257">257</a> of file <a class="el" href="dbwrapper_8h_source.html">dbwrapper.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbwrapper_8cpp_source.html#l00132">IsEmpty()</a>, <a class="el" href="txdb_8cpp_source.html#l00310">CBlockTreeDB::LoadBlockIndexGuts()</a>, <a class="el" href="txdb_8cpp_source.html#l00238">CBlockTreeDB::ReadAddressIndex()</a>, <a class="el" href="txdb_8cpp_source.html#l00198">CBlockTreeDB::ReadAddressUnspentIndex()</a>, and <a class="el" href="txdb_8cpp_source.html#l00278">CBlockTreeDB::ReadTimestampIndex()</a>.</p>
</div>
</div>
<a id="a38084dd7b2870e6ac3082e7521d88a29"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38084dd7b2870e6ac3082e7521d88a29">&#9670;&nbsp;</a></span>Read()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename K , typename V &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool CDBWrapper::Read </td>
<td>(</td>
<td class="paramtype">const K &amp;&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">V &amp;&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
<tr>
<td align="right">throw </td><td>(</td><td colspan="2"><a class="el" href="classdbwrapper__error.html">dbwrapper_error</a></td>
</tr>
<tr>
<td align="right"></td><td>)</td><td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbwrapper_8h_source.html#l00183">183</a> of file <a class="el" href="dbwrapper_8h_source.html">dbwrapper.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbwrapper_8cpp_source.html#l00048">CDBWrapper()</a>, <a class="el" href="txdb_8cpp_source.html#l00048">CCoinsViewDB::GetBestBlock()</a>, <a class="el" href="txdb_8cpp_source.html#l00040">CCoinsViewDB::GetCoins()</a>, <a class="el" href="txdb_8cpp_source.html#l00081">CBlockTreeDB::ReadBlockFileInfo()</a>, <a class="el" href="txdb_8cpp_source.html#l00302">CBlockTreeDB::ReadFlag()</a>, <a class="el" href="txdb_8cpp_source.html#l00097">CBlockTreeDB::ReadLastBlockFile()</a>, <a class="el" href="txdb_8cpp_source.html#l00170">CBlockTreeDB::ReadSpentIndex()</a>, and <a class="el" href="txdb_8cpp_source.html#l00159">CBlockTreeDB::ReadTxIndex()</a>.</p>
</div>
</div>
<a id="ae63843f0967f5c37ae2918b764b642d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae63843f0967f5c37ae2918b764b642d4">&#9670;&nbsp;</a></span>Sync()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool CDBWrapper::Sync </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
<tr>
<td align="right">throw </td><td>(</td><td colspan="2"><a class="el" href="classdbwrapper__error.html">dbwrapper_error</a></td>
</tr>
<tr>
<td align="right"></td><td>)</td><td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbwrapper_8h_source.html#l00251">251</a> of file <a class="el" href="dbwrapper_8h_source.html">dbwrapper.h</a>.</p>
</div>
</div>
<a id="a6600aa8c2b30880dd7e032ea21f74aed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6600aa8c2b30880dd7e032ea21f74aed">&#9670;&nbsp;</a></span>Write()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename K , typename V &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool CDBWrapper::Write </td>
<td>(</td>
<td class="paramtype">const K &amp;&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const V &amp;&#160;</td>
<td class="paramname"><em>value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>fSync</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
<tr>
<td align="right">throw </td><td>(</td><td colspan="2"><a class="el" href="classdbwrapper__error.html">dbwrapper_error</a></td>
</tr>
<tr>
<td align="right"></td><td>)</td><td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbwrapper_8h_source.html#l00209">209</a> of file <a class="el" href="dbwrapper_8h_source.html">dbwrapper.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbwrapper_8cpp_source.html#l00048">CDBWrapper()</a>, <a class="el" href="txdb_8cpp_source.html#l00298">CBlockTreeDB::WriteFlag()</a>, and <a class="el" href="txdb_8cpp_source.html#l00085">CBlockTreeDB::WriteReindexing()</a>.</p>
</div>
</div>
<a id="a3624c2e99b0d4e9a4edc679b304fa180"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3624c2e99b0d4e9a4edc679b304fa180">&#9670;&nbsp;</a></span>WriteBatch()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool CDBWrapper::WriteBatch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classCDBBatch.html">CDBBatch</a> &amp;&#160;</td>
<td class="paramname"><em>batch</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>fSync</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
<tr>
<td align="right">throw </td><td>(</td><td colspan="2"><a class="el" href="classdbwrapper__error.html">dbwrapper_error</a></td>
</tr>
<tr>
<td align="right"></td><td>)</td><td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbwrapper_8cpp_source.html#l00105">105</a> of file <a class="el" href="dbwrapper_8cpp_source.html">dbwrapper.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="txdb_8cpp_source.html#l00055">CCoinsViewDB::BatchWrite()</a>, <a class="el" href="dbwrapper_8h_source.html#l00236">Erase()</a>, <a class="el" href="txdb_8cpp_source.html#l00231">CBlockTreeDB::EraseAddressIndex()</a>, <a class="el" href="dbwrapper_8h_source.html#l00251">Sync()</a>, <a class="el" href="txdb_8cpp_source.html#l00186">CBlockTreeDB::UpdateAddressUnspentIndex()</a>, <a class="el" href="txdb_8cpp_source.html#l00174">CBlockTreeDB::UpdateSpentIndex()</a>, <a class="el" href="dbwrapper_8h_source.html#l00209">Write()</a>, <a class="el" href="txdb_8cpp_source.html#l00224">CBlockTreeDB::WriteAddressIndex()</a>, <a class="el" href="txdb_8cpp_source.html#l00147">CBlockTreeDB::WriteBatchSync()</a>, <a class="el" href="txdb_8cpp_source.html#l00272">CBlockTreeDB::WriteTimestampIndex()</a>, and <a class="el" href="txdb_8cpp_source.html#l00163">CBlockTreeDB::WriteTxIndex()</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="adb9487dea70007f9a85d2bb5a2b09608"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb9487dea70007f9a85d2bb5a2b09608">&#9670;&nbsp;</a></span>iteroptions</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">leveldb::ReadOptions CDBWrapper::iteroptions</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>options used when iterating over values of the database </p>
<p class="definition">Definition at line <a class="el" href="dbwrapper_8h_source.html#l00148">148</a> of file <a class="el" href="dbwrapper_8h_source.html">dbwrapper.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbwrapper_8cpp_source.html#l00048">CDBWrapper()</a>, and <a class="el" href="dbwrapper_8h_source.html#l00257">NewIterator()</a>.</p>
</div>
</div>
<a id="a6baaceaa7825b0adfc078c59fddd0f1c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6baaceaa7825b0adfc078c59fddd0f1c">&#9670;&nbsp;</a></span>obfuscate_key</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;unsigned char&gt; CDBWrapper::obfuscate_key</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>a key used for optional XOR-obfuscation of the database </p>
<p class="definition">Definition at line <a class="el" href="dbwrapper_8h_source.html#l00160">160</a> of file <a class="el" href="dbwrapper_8h_source.html">dbwrapper.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbwrapper_8cpp_source.html#l00048">CDBWrapper()</a>, <a class="el" href="dbwrapper_8h_source.html#l00236">Erase()</a>, <a class="el" href="dbwrapper_8cpp_source.html#l00139">GetObfuscateKey()</a>, <a class="el" href="dbwrapper_8cpp_source.html#l00144">GetObfuscateKeyHex()</a>, <a class="el" href="dbwrapper_8h_source.html#l00257">NewIterator()</a>, <a class="el" href="dbwrapper_8h_source.html#l00183">Read()</a>, <a class="el" href="dbwrapper_8h_source.html#l00251">Sync()</a>, and <a class="el" href="dbwrapper_8h_source.html#l00209">Write()</a>.</p>
</div>
</div>
<a id="a991c2ad52d45664e17bcfc588022e71c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a991c2ad52d45664e17bcfc588022e71c">&#9670;&nbsp;</a></span>OBFUSCATE_KEY_KEY</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::string CDBWrapper::OBFUSCATE_KEY_KEY</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>the key under which the obfuscation key is stored </p>
<p class="definition">Definition at line <a class="el" href="dbwrapper_8h_source.html#l00163">163</a> of file <a class="el" href="dbwrapper_8h_source.html">dbwrapper.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbwrapper_8cpp_source.html#l00048">CDBWrapper()</a>.</p>
</div>
</div>
<a id="a958103a454c991c03dd0efb7bf3a10cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a958103a454c991c03dd0efb7bf3a10cf">&#9670;&nbsp;</a></span>OBFUSCATE_KEY_NUM_BYTES</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const unsigned int CDBWrapper::OBFUSCATE_KEY_NUM_BYTES = 8</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>the length of the obfuscate key in number of bytes </p>
<p class="definition">Definition at line <a class="el" href="dbwrapper_8h_source.html#l00166">166</a> of file <a class="el" href="dbwrapper_8h_source.html">dbwrapper.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbwrapper_8cpp_source.html#l00048">CDBWrapper()</a>, and <a class="el" href="dbwrapper_8cpp_source.html#l00124">CreateObfuscateKey()</a>.</p>
</div>
</div>
<a id="a9137387b16dfc67a3af758576c5f8606"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9137387b16dfc67a3af758576c5f8606">&#9670;&nbsp;</a></span>options</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">leveldb::Options CDBWrapper::options</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>database options used </p>
<p class="definition">Definition at line <a class="el" href="dbwrapper_8h_source.html#l00142">142</a> of file <a class="el" href="dbwrapper_8h_source.html">dbwrapper.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbwrapper_8cpp_source.html#l00048">CDBWrapper()</a>, <a class="el" href="pruning_8py_source.html#l00087">pruning.PruneTest::create_chain_with_staleblocks()</a>, <a class="el" href="walletbackup_8py_source.html#l00097">walletbackup.WalletBackupTest::erase_three()</a>, <a class="el" href="test__framework_8py_source.html#l00097">test_framework.test_framework.BitcoinTestFramework::main()</a>, <a class="el" href="reindex_8py_source.html#l00024">reindex.ReindexTest::reindex()</a>, <a class="el" href="pruning_8py_source.html#l00117">pruning.PruneTest::reorg_test()</a>, <a class="el" href="keypool-hd_8py_source.html#l00015">keypool-hd.KeyPoolTest::run_test()</a>, <a class="el" href="keypool_8py_source.html#l00015">keypool.KeyPoolTest::run_test()</a>, <a class="el" href="abandonconflict_8py_source.html#l00022">abandonconflict.AbandonConflictTest::run_test()</a>, <a class="el" href="nodehandling_8py_source.html#l00023">nodehandling.NodeHandlingTest::run_test()</a>, <a class="el" href="txn__clone_8py_source.html#l00023">txn_clone.TxnMallTest::run_test()</a>, <a class="el" href="txn__doublespend_8py_source.html#l00023">txn_doublespend.TxnMallTest::run_test()</a>, <a class="el" href="zapwallettxes_8py_source.html#l00024">zapwallettxes.ZapWalletTXesTest::run_test()</a>, <a class="el" href="invalidtxrequest_8py_source.html#l00025">invalidtxrequest.InvalidTxRequestTest::run_test()</a>, <a class="el" href="wallet-hd_8py_source.html#l00025">wallet-hd.WalletHDTest::run_test()</a>, <a class="el" href="fundrawtransaction-hd_8py_source.html#l00027">fundrawtransaction-hd.RawTransactionsTest::run_test()</a>, <a class="el" href="fundrawtransaction_8py_source.html#l00027">fundrawtransaction.RawTransactionsTest::run_test()</a>, <a class="el" href="invalidblockrequest_8py_source.html#l00031">invalidblockrequest.InvalidBlockRequestTest::run_test()</a>, <a class="el" href="wallet_8py_source.html#l00036">wallet.WalletTest::run_test()</a>, <a class="el" href="p2p-fullblocktest_8py_source.html#l00043">p2p-fullblocktest.FullBlockTest::run_test()</a>, <a class="el" href="bip65-cltv-p2p_8py_source.html#l00049">bip65-cltv-p2p.BIP65Test::run_test()</a>, <a class="el" href="bipdersig-p2p_8py_source.html#l00057">bipdersig-p2p.BIP66Test::run_test()</a>, <a class="el" href="p2p-versionbits-warning_8py_source.html#l00100">p2p-versionbits-warning.VersionBitsWarningTest::run_test()</a>, <a class="el" href="walletbackup_8py_source.html#l00102">walletbackup.WalletBackupTest::run_test()</a>, <a class="el" href="bip68-112-113-p2p_8py_source.html#l00106">bip68-112-113-p2p.BIP68_112_113Test::run_test()</a>, <a class="el" href="maxuploadtarget_8py_source.html#l00126">maxuploadtarget.MaxUploadTest::run_test()</a>, <a class="el" href="fundrawtransaction-hd_8py_source.html#l00012">fundrawtransaction-hd.RawTransactionsTest::setup_chain()</a>, <a class="el" href="fundrawtransaction_8py_source.html#l00012">fundrawtransaction.RawTransactionsTest::setup_chain()</a>, <a class="el" href="zapwallettxes_8py_source.html#l00012">zapwallettxes.ZapWalletTXesTest::setup_chain()</a>, <a class="el" href="signrawtransactions_8py_source.html#l00013">signrawtransactions.SignRawTransactionsTest::setup_chain()</a>, <a class="el" href="decodescript_8py_source.html#l00014">decodescript.DecodeScriptTest::setup_chain()</a>, <a class="el" href="wallet-hd_8py_source.html#l00014">wallet-hd.WalletHDTest::setup_chain()</a>, <a class="el" href="reindex_8py_source.html#l00015">reindex.ReindexTest::setup_chain()</a>, <a class="el" href="merkle__blocks_8py_source.html#l00015">merkle_blocks.MerkleBlockTest::setup_chain()</a>, <a class="el" href="disablewallet_8py_source.html#l00016">disablewallet.DisableWalletTest::setup_chain()</a>, <a class="el" href="invalidateblock_8py_source.html#l00016">invalidateblock.InvalidateTest::setup_chain()</a>, <a class="el" href="rawtransactions_8py_source.html#l00017">rawtransactions.RawTransactionsTest::setup_chain()</a>, <a class="el" href="timestampindex_8py_source.html#l00018">timestampindex.TimestampIndexTest::setup_chain()</a>, <a class="el" href="addressindex_8py_source.html#l00019">addressindex.AddressIndexTest::setup_chain()</a>, <a class="el" href="prioritise__transaction_8py_source.html#l00019">prioritise_transaction.PrioritiseTransactionTest::setup_chain()</a>, <a class="el" href="txindex_8py_source.html#l00019">txindex.TxIndexTest::setup_chain()</a>, <a class="el" href="spentindex_8py_source.html#l00019">spentindex.SpentIndexTest::setup_chain()</a>, <a class="el" href="mempool__limit_8py_source.html#l00023">mempool_limit.MempoolLimitTest::setup_chain()</a>, <a class="el" href="wallet_8py_source.html#l00024">wallet.WalletTest::setup_chain()</a>, <a class="el" href="pruning_8py_source.html#l00027">pruning.PruneTest::setup_chain()</a>, <a class="el" href="multi__rpc_8py_source.html#l00027">multi_rpc.HTTPBasicsTest::setup_chain()</a>, <a class="el" href="blockchain_8py_source.html#l00035">blockchain.BlockchainTest::setup_chain()</a>, <a class="el" href="walletbackup_8py_source.html#l00044">walletbackup.WalletBackupTest::setup_chain()</a>, <a class="el" href="rest_8py_source.html#l00057">rest.RESTTest::setup_chain()</a>, <a class="el" href="p2p-versionbits-warning_8py_source.html#l00063">p2p-versionbits-warning.VersionBitsWarningTest::setup_chain()</a>, <a class="el" href="keypool_8py_source.html#l00068">keypool.KeyPoolTest::setup_chain()</a>, <a class="el" href="maxblocksinflight_8py_source.html#l00080">maxblocksinflight.MaxBlocksInFlightTest::setup_chain()</a>, <a class="el" href="maxuploadtarget_8py_source.html#l00093">maxuploadtarget.MaxUploadTest::setup_chain()</a>, <a class="el" href="keypool-hd_8py_source.html#l00101">keypool-hd.KeyPoolTest::setup_chain()</a>, <a class="el" href="p2p-acceptblock_8py_source.html#l00115">p2p-acceptblock.AcceptBlockTest::setup_chain()</a>, <a class="el" href="test__framework_8py_source.html#l00188">test_framework.test_framework.ComparisonTestFramework::setup_chain()</a>, <a class="el" href="sendheaders_8py_source.html#l00212">sendheaders.SendHeadersTest::setup_chain()</a>, <a class="el" href="listtransactions_8py_source.html#l00021">listtransactions.ListTransactionsTest::setup_nodes()</a>, <a class="el" href="httpbasics_8py_source.html#l00023">httpbasics.HTTPBasicsTest::setup_nodes()</a>, <a class="el" href="multi__rpc_8py_source.html#l00024">multi_rpc.HTTPBasicsTest::setup_nodes()</a>, <a class="el" href="receivedby_8py_source.html#l00030">receivedby.ReceivedByTest::setup_nodes()</a>, <a class="el" href="test__framework_8py_source.html#l00047">test_framework.test_framework.BitcoinTestFramework::setup_nodes()</a>, <a class="el" href="proxy__test_8py_source.html#l00068">proxy_test.ProxyTest::setup_nodes()</a>, <a class="el" href="walletbackup_8py_source.html#l00083">walletbackup.WalletBackupTest::start_three()</a>, and <a class="el" href="dbwrapper_8cpp_source.html#l00093">~CDBWrapper()</a>.</p>
</div>
</div>
<a id="ace0085a1acbdd70330cd3cee562fd099"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace0085a1acbdd70330cd3cee562fd099">&#9670;&nbsp;</a></span>pdb</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">leveldb::DB* CDBWrapper::pdb</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>the database itself </p>
<p class="definition">Definition at line <a class="el" href="dbwrapper_8h_source.html#l00157">157</a> of file <a class="el" href="dbwrapper_8h_source.html">dbwrapper.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbwrapper_8cpp_source.html#l00048">CDBWrapper()</a>, <a class="el" href="dbwrapper_8h_source.html#l00217">Exists()</a>, <a class="el" href="dbwrapper_8h_source.html#l00257">NewIterator()</a>, <a class="el" href="dbwrapper_8h_source.html#l00183">Read()</a>, and <a class="el" href="dbwrapper_8cpp_source.html#l00093">~CDBWrapper()</a>.</p>
</div>
</div>
<a id="a35d77fd25139ca46b82be7cd9f9f43c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a35d77fd25139ca46b82be7cd9f9f43c6">&#9670;&nbsp;</a></span>penv</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">leveldb::Env* CDBWrapper::penv</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>custom environment this database is using (may be NULL in case of default environment) </p>
<p class="definition">Definition at line <a class="el" href="dbwrapper_8h_source.html#l00139">139</a> of file <a class="el" href="dbwrapper_8h_source.html">dbwrapper.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbwrapper_8cpp_source.html#l00048">CDBWrapper()</a>, and <a class="el" href="dbwrapper_8cpp_source.html#l00093">~CDBWrapper()</a>.</p>
</div>
</div>
<a id="afb339cf3fd16de13f20217e4c475c79e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb339cf3fd16de13f20217e4c475c79e">&#9670;&nbsp;</a></span>readoptions</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">leveldb::ReadOptions CDBWrapper::readoptions</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>options used when reading from the database </p>
<p class="definition">Definition at line <a class="el" href="dbwrapper_8h_source.html#l00145">145</a> of file <a class="el" href="dbwrapper_8h_source.html">dbwrapper.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbwrapper_8cpp_source.html#l00048">CDBWrapper()</a>, <a class="el" href="dbwrapper_8h_source.html#l00217">Exists()</a>, and <a class="el" href="dbwrapper_8h_source.html#l00183">Read()</a>.</p>
</div>
</div>
<a id="aac0086b6867ab79acc706f93a2908de0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac0086b6867ab79acc706f93a2908de0">&#9670;&nbsp;</a></span>syncoptions</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">leveldb::WriteOptions CDBWrapper::syncoptions</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>options used when sync writing to the database </p>
<p class="definition">Definition at line <a class="el" href="dbwrapper_8h_source.html#l00154">154</a> of file <a class="el" href="dbwrapper_8h_source.html">dbwrapper.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbwrapper_8cpp_source.html#l00048">CDBWrapper()</a>.</p>
</div>
</div>
<a id="a9e8fd519131e35de3bb211f7388d9a18"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e8fd519131e35de3bb211f7388d9a18">&#9670;&nbsp;</a></span>writeoptions</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">leveldb::WriteOptions CDBWrapper::writeoptions</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>options used when writing to the database </p>
<p class="definition">Definition at line <a class="el" href="dbwrapper_8h_source.html#l00151">151</a> of file <a class="el" href="dbwrapper_8h_source.html">dbwrapper.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>src/<a class="el" href="dbwrapper_8h_source.html">dbwrapper.h</a></li>
<li>src/<a class="el" href="dbwrapper_8cpp_source.html">dbwrapper.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="classCDBWrapper.html">CDBWrapper</a></li>
<li class="footer">Generated on Thu Dec 14 2017 13:15:12 for Dash Core by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
</ul>
</div>
</body>
</html>