469 lines
23 KiB
HTML
469 lines
23 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<title>CompactBlockProcessor Class Reference</title>
|
||
<link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
|
||
<link rel="stylesheet" type="text/css" href="../css/highlight.css" />
|
||
<meta charset='utf-8'>
|
||
<script src="../js/jquery.min.js" defer></script>
|
||
<script src="../js/jazzy.js" defer></script>
|
||
|
||
</head>
|
||
<body>
|
||
<a name="//apple_ref/swift/Class/CompactBlockProcessor" class="dashAnchor"></a>
|
||
<a title="CompactBlockProcessor Class Reference"></a>
|
||
<header>
|
||
<div class="content-wrapper">
|
||
<p><a href="../index.html">ZcashLightClientKit Docs</a> (71% documented)</p>
|
||
</div>
|
||
</header>
|
||
<div class="content-wrapper">
|
||
<p id="breadcrumbs">
|
||
<a href="../index.html">ZcashLightClientKit Reference</a>
|
||
<img id="carat" src="../img/carat.png" />
|
||
CompactBlockProcessor Class Reference
|
||
</p>
|
||
</div>
|
||
<div class="content-wrapper">
|
||
<nav class="sidebar">
|
||
<ul class="nav-groups">
|
||
<li class="nav-group-name">
|
||
<a href="../Classes.html">Classes</a>
|
||
<ul class="nav-group-tasks">
|
||
<li class="nav-group-task">
|
||
<a href="../Classes/CompactBlockProcessor.html">CompactBlockProcessor</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Classes/CompactBlockProcessor/Configuration.html">– Configuration</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Classes/CompactBlockProcessor/State.html">– State</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Classes/Initializer.html">Initializer</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Classes/LightWalletGRPCService.html">LightWalletGRPCService</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Classes/SDKSynchronizer.html">SDKSynchronizer</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Classes/SDKSynchronizer/NotificationKeys.html">– NotificationKeys</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Classes/ZcashSDK.html">ZcashSDK</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="nav-group-name">
|
||
<a href="../Enums.html">Enumerations</a>
|
||
<ul class="nav-group-tasks">
|
||
<li class="nav-group-task">
|
||
<a href="../Enums/CompactBlockProcessorError.html">CompactBlockProcessorError</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Enums/InitializerError.html">InitializerError</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Enums/LightWalletServiceError.html">LightWalletServiceError</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Enums/ResourceProviderError.html">ResourceProviderError</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Enums/RustWeldingError.html">RustWeldingError</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Enums/Status.html">Status</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Enums/SynchronizerError.html">SynchronizerError</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Enums/TransactionEncoderError.html">TransactionEncoderError</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Enums/TransactionKind.html">TransactionKind</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="nav-group-name">
|
||
<a href="../Extensions.html">Extensions</a>
|
||
<ul class="nav-group-tasks">
|
||
<li class="nav-group-task">
|
||
<a href="../Extensions/Array.html">Array</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Extensions/BlockHeight.html">BlockHeight</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Extensions/Collection.html">Collection</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Extensions/CompactBlockRange.html">CompactBlockRange</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Extensions/Data.html">Data</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Extensions/Data/HexEncodingOptions.html">– HexEncodingOptions</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Extensions/Notification.html">Notification</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Extensions/Notification/Name.html">– Name</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Extensions/String.html">String</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="nav-group-name">
|
||
<a href="../Protocols.html">Protocols</a>
|
||
<ul class="nav-group-tasks">
|
||
<li class="nav-group-task">
|
||
<a href="../Protocols/AbstractTransaction.html">AbstractTransaction</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Protocols/CompactBlockDownloading.html">CompactBlockDownloading</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Protocols/ConfirmedTransactionEntity.html">ConfirmedTransactionEntity</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Protocols/LightWalletService.html">LightWalletService</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Protocols/LightWalletServiceResponse.html">LightWalletServiceResponse</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Protocols/Logger.html">Logger</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Protocols/MinedTransactionEntity.html">MinedTransactionEntity</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Protocols/PaginatedTransactionRepository.html">PaginatedTransactionRepository</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Protocols/PendingTransactionEntity.html">PendingTransactionEntity</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Protocols/RawIdentifiable.html">RawIdentifiable</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Protocols/ResourceProvider.html">ResourceProvider</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Protocols/SeedProvider.html">SeedProvider</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Protocols/SignedTransactionEntity.html">SignedTransactionEntity</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Protocols/Synchronizer.html">Synchronizer</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Protocols/TransactionEntity.html">TransactionEntity</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Protocols/ZcashRustBackendWelding.html">ZcashRustBackendWelding</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="nav-group-name">
|
||
<a href="../Structs.html">Structures</a>
|
||
<ul class="nav-group-tasks">
|
||
<li class="nav-group-task">
|
||
<a href="../Structs/CompactBlockProcessorNotificationKey.html">CompactBlockProcessorNotificationKey</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Structs/DefaultResourceProvider.html">DefaultResourceProvider</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Structs/LightWalletEndpoint.html">LightWalletEndpoint</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Structs/WalletBirthday.html">WalletBirthday</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Structs/ZcashCompactBlock.html">ZcashCompactBlock</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Structs.html#/s:19ZcashLightClientKit0A27RustBackendWeldingConstantsV">ZcashRustBackendWeldingConstants</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="nav-group-name">
|
||
<a href="../Typealiases.html">Type Aliases</a>
|
||
<ul class="nav-group-tasks">
|
||
<li class="nav-group-task">
|
||
<a href="../Typealiases.html#/s:19ZcashLightClientKit11BlockHeighta">BlockHeight</a>
|
||
</li>
|
||
<li class="nav-group-task">
|
||
<a href="../Typealiases.html#/s:19ZcashLightClientKit17CompactBlockRangea">CompactBlockRange</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</nav>
|
||
<article class="main-content">
|
||
<section>
|
||
<section class="section">
|
||
<h1>CompactBlockProcessor</h1>
|
||
<div class="declaration">
|
||
<div class="language">
|
||
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">CompactBlockProcessor</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<p>The compact block processor is in charge of orchestrating the download and caching of compact blocks from a LightWalletEndpoint
|
||
when started the processor downloads does a download - validate - scan cycle until it reaches latest height on the blockchain.</p>
|
||
|
||
</section>
|
||
<section class="section task-group-section">
|
||
<div class="task-group">
|
||
<ul>
|
||
<li class="item">
|
||
<div>
|
||
<code>
|
||
<a name="/s:19ZcashLightClientKit21CompactBlockProcessorC13ConfigurationV"></a>
|
||
<a name="//apple_ref/swift/Struct/Configuration" class="dashAnchor"></a>
|
||
<a class="token" href="#/s:19ZcashLightClientKit21CompactBlockProcessorC13ConfigurationV">Configuration</a>
|
||
</code>
|
||
</div>
|
||
<div class="height-container">
|
||
<div class="pointer-container"></div>
|
||
<section class="section">
|
||
<div class="pointer"></div>
|
||
<div class="abstract">
|
||
<p>Compact Block Processor configuration</p>
|
||
|
||
<p>Property: cacheDbPath absolute file path of the DB where raw, unprocessed compact blocks are stored.
|
||
Property: dataDbPath absolute file path of the DB where all information derived from the cache DB is stored.</p>
|
||
|
||
<a href="../Classes/CompactBlockProcessor/Configuration.html" class="slightly-smaller">See more</a>
|
||
</div>
|
||
<div class="declaration">
|
||
<h4>Declaration</h4>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">Configuration</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
</li>
|
||
<li class="item">
|
||
<div>
|
||
<code>
|
||
<a name="/s:19ZcashLightClientKit21CompactBlockProcessorC5StateO"></a>
|
||
<a name="//apple_ref/swift/Enum/State" class="dashAnchor"></a>
|
||
<a class="token" href="#/s:19ZcashLightClientKit21CompactBlockProcessorC5StateO">State</a>
|
||
</code>
|
||
</div>
|
||
<div class="height-container">
|
||
<div class="pointer-container"></div>
|
||
<section class="section">
|
||
<div class="pointer"></div>
|
||
<div class="abstract">
|
||
<p>Represents the possible states of a CompactBlockProcessor</p>
|
||
|
||
<a href="../Classes/CompactBlockProcessor/State.html" class="slightly-smaller">See more</a>
|
||
</div>
|
||
<div class="declaration">
|
||
<h4>Declaration</h4>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">enum</span> <span class="kt">State</span></code></pre>
|
||
<pre class="highlight swift"><code><span class="kd">extension</span> <span class="kt"><a href="../Classes/CompactBlockProcessor.html">CompactBlockProcessor</a></span><span class="o">.</span><span class="kt">State</span><span class="p">:</span> <span class="kt">Equatable</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
</li>
|
||
<li class="item">
|
||
<div>
|
||
<code>
|
||
<a name="/s:19ZcashLightClientKit21CompactBlockProcessorC5stateAC5StateOvp"></a>
|
||
<a name="//apple_ref/swift/Property/state" class="dashAnchor"></a>
|
||
<a class="token" href="#/s:19ZcashLightClientKit21CompactBlockProcessorC5stateAC5StateOvp">state</a>
|
||
</code>
|
||
</div>
|
||
<div class="height-container">
|
||
<div class="pointer-container"></div>
|
||
<section class="section">
|
||
<div class="pointer"></div>
|
||
<div class="abstract">
|
||
<p>Undocumented</p>
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h4>Declaration</h4>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">private(set)</span> <span class="k">var</span> <span class="nv">state</span><span class="p">:</span> <span class="kt"><a href="../Classes/CompactBlockProcessor/State.html">State</a></span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
</li>
|
||
<li class="item">
|
||
<div>
|
||
<code>
|
||
<a name="/s:19ZcashLightClientKit21CompactBlockProcessorC10downloader7backend6configAcA0eF11Downloading_p_AA0A18RustBackendWelding_pXpAC13ConfigurationVtcfc"></a>
|
||
<a name="//apple_ref/swift/Method/init(downloader:backend:config:)" class="dashAnchor"></a>
|
||
<a class="token" href="#/s:19ZcashLightClientKit21CompactBlockProcessorC10downloader7backend6configAcA0eF11Downloading_p_AA0A18RustBackendWelding_pXpAC13ConfigurationVtcfc">init(downloader:backend:config:)</a>
|
||
</code>
|
||
</div>
|
||
<div class="height-container">
|
||
<div class="pointer-container"></div>
|
||
<section class="section">
|
||
<div class="pointer"></div>
|
||
<div class="abstract">
|
||
<p>Initializes a CompactBlockProcessor instance</p>
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h4>Declaration</h4>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight swift"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">downloader</span><span class="p">:</span> <span class="kt"><a href="../Protocols/CompactBlockDownloading.html">CompactBlockDownloading</a></span><span class="p">,</span> <span class="nv">backend</span><span class="p">:</span> <span class="kt"><a href="../Protocols/ZcashRustBackendWelding.html">ZcashRustBackendWelding</a></span><span class="o">.</span><span class="k">Type</span><span class="p">,</span> <span class="nv">config</span><span class="p">:</span> <span class="kt"><a href="../Classes/CompactBlockProcessor/Configuration.html">Configuration</a></span><span class="p">)</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div>
|
||
<h4>Parameters</h4>
|
||
<table class="graybox">
|
||
<tbody>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>downloader</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>an instance that complies to CompactBlockDownloading protocol</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>backend</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>a class that complies to ZcashRustBackendWelding</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
</li>
|
||
<li class="item">
|
||
<div>
|
||
<code>
|
||
<a name="/s:19ZcashLightClientKit21CompactBlockProcessorC5start5retryySb_tKF"></a>
|
||
<a name="//apple_ref/swift/Method/start(retry:)" class="dashAnchor"></a>
|
||
<a class="token" href="#/s:19ZcashLightClientKit21CompactBlockProcessorC5start5retryySb_tKF">start(retry:)</a>
|
||
</code>
|
||
</div>
|
||
<div class="height-container">
|
||
<div class="pointer-container"></div>
|
||
<section class="section">
|
||
<div class="pointer"></div>
|
||
<div class="abstract">
|
||
<p>Starts the CompactBlockProcessor instance and starts downloading and processing blocks</p>
|
||
|
||
<p>triggers the blockProcessorStartedDownloading notification</p>
|
||
<div class="aside aside-important">
|
||
<p class="aside-title">Important</p>
|
||
subscribe to the notifications before calling this method
|
||
|
||
</div>
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h4>Declaration</h4>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">start</span><span class="p">(</span><span class="nv">retry</span><span class="p">:</span> <span class="kt">Bool</span> <span class="o">=</span> <span class="kc">false</span><span class="p">)</span> <span class="k">throws</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
</li>
|
||
<li class="item">
|
||
<div>
|
||
<code>
|
||
<a name="/s:19ZcashLightClientKit21CompactBlockProcessorC4stop11cancelTasksySb_tF"></a>
|
||
<a name="//apple_ref/swift/Method/stop(cancelTasks:)" class="dashAnchor"></a>
|
||
<a class="token" href="#/s:19ZcashLightClientKit21CompactBlockProcessorC4stop11cancelTasksySb_tF">stop(cancelTasks:)</a>
|
||
</code>
|
||
</div>
|
||
<div class="height-container">
|
||
<div class="pointer-container"></div>
|
||
<section class="section">
|
||
<div class="pointer"></div>
|
||
<div class="abstract">
|
||
<p>Stops the CompactBlockProcessor</p>
|
||
|
||
<p>Note: retry count is reset</p>
|
||
|
||
</div>
|
||
<div class="declaration">
|
||
<h4>Declaration</h4>
|
||
<div class="language">
|
||
<p class="aside-title">Swift</p>
|
||
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">stop</span><span class="p">(</span><span class="nv">cancelTasks</span><span class="p">:</span> <span class="kt">Bool</span> <span class="o">=</span> <span class="kc">true</span><span class="p">)</span></code></pre>
|
||
|
||
</div>
|
||
</div>
|
||
<div>
|
||
<h4>Parameters</h4>
|
||
<table class="graybox">
|
||
<tbody>
|
||
<tr>
|
||
<td>
|
||
<code>
|
||
<em>cancelTasks</em>
|
||
</code>
|
||
</td>
|
||
<td>
|
||
<div>
|
||
<p>cancel the pending tasks. Defaults to true</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</section>
|
||
</section>
|
||
<section id="footer">
|
||
<p>© 2020 <a class="link" href="https://github.com/zcash/ZcashLightClientKit" target="_blank" rel="external">Francisco Gindre and Jack Grigg</a>. All rights reserved. (Last updated: 2020-04-06)</p>
|
||
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.13.1</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
|
||
</section>
|
||
</article>
|
||
</div>
|
||
</body>
|
||
</div>
|
||
</html>
|