Skip to content

Commit

Permalink
Deploying to gh-pages from @ c9b4300 🚀
Browse files Browse the repository at this point in the history
  • Loading branch information
github-merge-queue[bot] committed Feb 19, 2024
1 parent 09f0be3 commit f930dcd
Show file tree
Hide file tree
Showing 39 changed files with 393 additions and 144 deletions.
2 changes: 1 addition & 1 deletion pallet_subspace/pallet/struct.Pallet.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion search-index.js

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions sp_domains/core_api/trait.DomainCoreApi.html
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
<span class="item-spacer"></span> fn <a href="#method.construct_timestamp_extrinsic" class="fn">construct_timestamp_extrinsic</a>(
&amp;self,
__runtime_api_at_param__: &lt;Block as BlockT&gt;::Hash,
moment: <a class="type" href="../../subspace_runtime_primitives/type.Moment.html" title="type subspace_runtime_primitives::Moment">Moment</a>
moment: Moment
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Block::Extrinsic, ApiError&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.construct_consensus_chain_byte_fee_extrinsic" class="fn">construct_consensus_chain_byte_fee_extrinsic</a>(
&amp;self,
Expand Down Expand Up @@ -123,7 +123,7 @@
</div></details><details class="toggle method-toggle" open><summary><section id="method.construct_timestamp_extrinsic" class="method"><a class="src rightside" href="../../src/sp_domains/core_api.rs.html#13-82">source</a><h4 class="code-header">fn <a href="#method.construct_timestamp_extrinsic" class="fn">construct_timestamp_extrinsic</a>(
&amp;self,
__runtime_api_at_param__: &lt;Block as BlockT&gt;::Hash,
moment: <a class="type" href="../../subspace_runtime_primitives/type.Moment.html" title="type subspace_runtime_primitives::Moment">Moment</a>
moment: Moment
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Block::Extrinsic, ApiError&gt;</h4></section></summary><div class="docblock"><p>Returns an encoded extrinsic to set timestamp.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.construct_consensus_chain_byte_fee_extrinsic" class="method"><a class="src rightside" href="../../src/sp_domains/core_api.rs.html#13-82">source</a><h4 class="code-header">fn <a href="#method.construct_consensus_chain_byte_fee_extrinsic" class="fn">construct_consensus_chain_byte_fee_extrinsic</a>(
&amp;self,
Expand Down
36 changes: 18 additions & 18 deletions sp_domains/trait.DomainsApi.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion src-files.js
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ var srcIndex = new Map(JSON.parse('[\
["subspace_archiving",["",[["archiver",[],["incremental_record_commitments.rs"]]],["archiver.rs","lib.rs","piece_reconstructor.rs","reconstructor.rs"]]],\
["subspace_core_primitives",["",[["crypto",[],["kzg.rs"]],["pieces",[],["serde.rs"]]],["checksum.rs","crypto.rs","lib.rs","objects.rs","pieces.rs","segments.rs","serde.rs"]]],\
["subspace_erasure_coding",["",[],["lib.rs"]]],\
["subspace_farmer",["",[["node_client",[],["node_rpc_client.rs"]],["single_disk_farm",[["farming",[],["rayon_files.rs"]]],["farming.rs","piece_cache.rs","piece_reader.rs","plotting.rs"]],["utils",[],["farmer_piece_getter.rs","piece_validator.rs","plotted_pieces.rs","ss58.rs"]]],["identity.rs","lib.rs","node_client.rs","piece_cache.rs","reward_signing.rs","single_disk_farm.rs","thread_pool_manager.rs","utils.rs"]]],\
["subspace_farmer",["",[["node_client",[],["node_rpc_client.rs"]],["single_disk_farm",[["farming",[],["rayon_files.rs"]]],["farming.rs","piece_cache.rs","piece_reader.rs","plotting.rs"]],["utils",[],["farmer_piece_getter.rs","piece_validator.rs","plotted_pieces.rs","ss58.rs"]]],["farmer_cache.rs","identity.rs","lib.rs","node_client.rs","reward_signing.rs","single_disk_farm.rs","thread_pool_manager.rs","utils.rs"]]],\
["subspace_farmer_components",["",[],["auditing.rs","file_ext.rs","lib.rs","plotting.rs","proving.rs","reading.rs","sector.rs","segment_reconstruction.rs"]]],\
["subspace_malicious_operator",["",[],["chain_spec.rs","lib.rs","malicious_bundle_producer.rs","malicious_bundle_tamper.rs","malicious_domain_instance_starter.rs"]]],\
["subspace_metrics",["",[],["lib.rs"]]],\
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `crates/subspace-farmer/src/piece_cache.rs`."><title>piece_cache.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-4e54bb2b497cc83f.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="subspace_farmer" data-themes="" data-resource-suffix="" data-rustdoc-version="1.77.0-nightly (25f8d01fd 2024-01-18)" data-channel="nightly" data-search-js="search-dd67cee4cfa65049.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-0b2e2def73e61cbe.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-04d5337699b92874.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title">
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `crates/subspace-farmer/src/farmer_cache.rs`."><title>farmer_cache.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-4e54bb2b497cc83f.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="subspace_farmer" data-themes="" data-resource-suffix="" data-rustdoc-version="1.77.0-nightly (25f8d01fd 2024-01-18)" data-channel="nightly" data-search-js="search-dd67cee4cfa65049.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="../../static.files/src-script-e66d777a5a92e9b2.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-0b2e2def73e61cbe.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-04d5337699b92874.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="src-sidebar-title">
<h2>Files</h2></div></nav><div class="sidebar-resizer"></div>
<main><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../subspace_farmer/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
<a href="#2" id="2">2</a>
Expand Down Expand Up @@ -894,6 +894,7 @@ <h2>Files</h2></div></nav><div class="sidebar-resizer"></div>
<a href="#892" id="892">892</a>
<a href="#893" id="893">893</a>
<a href="#894" id="894">894</a>
<a href="#895" id="895">895</a>
</pre></div><pre class="rust"><code><span class="attr">#[cfg(test)]
</span><span class="kw">mod </span>tests;

Expand Down Expand Up @@ -961,10 +962,10 @@ <h2>Files</h2></div></nav><div class="sidebar-resizer"></div>
last_segment_index: SegmentIndex,
}

<span class="doccomment">/// Cache worker used to drive the cache
<span class="doccomment">/// Farmer cache worker used to drive the farmer cache backend
</span><span class="attr">#[derive(Debug)]
#[must_use = <span class="string">"Cache will not work unless its worker is running"</span>]
</span><span class="kw">pub struct </span>CacheWorker&lt;NC&gt;
#[must_use = <span class="string">"Farmer cache will not work unless its worker is running"</span>]
</span><span class="kw">pub struct </span>FarmerCacheWorker&lt;NC&gt;
<span class="kw">where
</span>NC: fmt::Debug,
{
Expand All @@ -975,11 +976,13 @@ <h2>Files</h2></div></nav><div class="sidebar-resizer"></div>
worker_receiver: <span class="prelude-ty">Option</span>&lt;mpsc::Receiver&lt;WorkerCommand&gt;&gt;,
}

<span class="kw">impl</span>&lt;NC&gt; CacheWorker&lt;NC&gt;
<span class="kw">impl</span>&lt;NC&gt; FarmerCacheWorker&lt;NC&gt;
<span class="kw">where
</span>NC: NodeClient,
{
<span class="doccomment">/// Run the cache worker with provided piece getter
<span class="doccomment">/// Run the cache worker with provided piece getter.
///
/// NOTE: Piece getter must not depend on farmer cache in order to avoid reference cycles!
</span><span class="kw">pub async fn </span>run&lt;PG&gt;(<span class="kw-2">mut </span><span class="self">self</span>, piece_getter: PG)
<span class="kw">where
</span>PG: PieceGetter,
Expand Down Expand Up @@ -1650,23 +1653,23 @@ <h2>Files</h2></div></nav><div class="sidebar-resizer"></div>
}
}

<span class="doccomment">/// Piece cache that aggregates caches of multiple disks
<span class="doccomment">/// Farmer cache that aggregates different kinds of caches of multiple disks
</span><span class="attr">#[derive(Debug, Clone)]
</span><span class="kw">pub struct </span>PieceCache {
</span><span class="kw">pub struct </span>FarmerCache {
peer_id: PeerId,
<span class="doccomment">/// Individual disk caches where pieces are stored
</span>caches: Arc&lt;RwLock&lt;Vec&lt;DiskPieceCacheState&gt;&gt;&gt;,
handlers: Arc&lt;Handlers&gt;,
<span class="comment">// We do not want to increase capacity unnecessarily on clone
</span>worker_sender: mpsc::Sender&lt;WorkerCommand&gt;,
</span>worker_sender: Arc&lt;mpsc::Sender&lt;WorkerCommand&gt;&gt;,
}

<span class="kw">impl </span>PieceCache {
<span class="kw">impl </span>FarmerCache {
<span class="doccomment">/// Create new piece cache instance and corresponding worker.
///
/// NOTE: Returned future is async, but does blocking operations and should be running in
/// dedicated thread.
</span><span class="kw">pub fn </span>new&lt;NC&gt;(node_client: NC, peer_id: PeerId) -&gt; (<span class="self">Self</span>, CacheWorker&lt;NC&gt;)
</span><span class="kw">pub fn </span>new&lt;NC&gt;(node_client: NC, peer_id: PeerId) -&gt; (<span class="self">Self</span>, FarmerCacheWorker&lt;NC&gt;)
<span class="kw">where
</span>NC: NodeClient,
{
Expand All @@ -1678,9 +1681,9 @@ <h2>Files</h2></div></nav><div class="sidebar-resizer"></div>
peer_id,
caches: Arc::clone(<span class="kw-2">&amp;</span>caches),
handlers: Arc::clone(<span class="kw-2">&amp;</span>handlers),
worker_sender,
worker_sender: Arc::new(worker_sender),
};
<span class="kw">let </span>worker = CacheWorker {
<span class="kw">let </span>worker = FarmerCacheWorker {
peer_id,
node_client,
caches,
Expand All @@ -1693,11 +1696,10 @@ <h2>Files</h2></div></nav><div class="sidebar-resizer"></div>

<span class="doccomment">/// Get piece from cache
</span><span class="kw">pub async fn </span>get_piece(<span class="kw-2">&amp;</span><span class="self">self</span>, key: RecordKey) -&gt; <span class="prelude-ty">Option</span>&lt;Piece&gt; {
<span class="kw">let </span>caches = Arc::clone(<span class="kw-2">&amp;</span><span class="self">self</span>.caches);

<span class="kw">let </span>maybe_piece_fut = tokio::task::spawn_blocking({
<span class="kw">let </span>key = key.clone();
<span class="kw">let </span>worker_sender = <span class="self">self</span>.worker_sender.clone();
<span class="kw">let </span>caches = Arc::clone(<span class="kw-2">&amp;</span><span class="self">self</span>.caches);
<span class="kw">let </span>worker_sender = Arc::clone(<span class="kw-2">&amp;</span><span class="self">self</span>.worker_sender);

<span class="kw">move </span>|| {
<span class="kw">for </span>(disk_farm_index, cache) <span class="kw">in </span>caches.read().iter().enumerate() {
Expand Down Expand Up @@ -1768,7 +1770,7 @@ <h2>Files</h2></div></nav><div class="sidebar-resizer"></div>
}
}

<span class="kw">impl </span>LocalRecordProvider <span class="kw">for </span>PieceCache {
<span class="kw">impl </span>LocalRecordProvider <span class="kw">for </span>FarmerCache {
<span class="kw">fn </span>record(<span class="kw-2">&amp;</span><span class="self">self</span>, key: <span class="kw-2">&amp;</span>RecordKey) -&gt; <span class="prelude-ty">Option</span>&lt;ProviderRecord&gt; {
<span class="comment">// It is okay to take read lock here, writes locks are very infrequent and very short
</span><span class="kw">for </span>cache <span class="kw">in </span><span class="self">self</span>.caches.read().iter() {
Expand Down
4 changes: 2 additions & 2 deletions src/subspace_farmer/lib.rs.html
Original file line number Diff line number Diff line change
Expand Up @@ -92,9 +92,9 @@ <h2>Files</h2></div></nav><div class="sidebar-resizer"></div>
//! are `target ± ½ * solution range` (while also handing overflow/underflow) when interpreted as
//! 64-bit unsigned integers.

</span><span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">mod </span>identity;
</span><span class="kw">pub mod </span>farmer_cache;
<span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">mod </span>identity;
<span class="kw">pub mod </span>node_client;
<span class="kw">pub mod </span>piece_cache;
<span class="kw">pub mod </span>reward_signing;
<span class="kw">pub mod </span>single_disk_farm;
<span class="kw">pub mod </span>thread_pool_manager;
Expand Down
24 changes: 3 additions & 21 deletions src/subspace_farmer/single_disk_farm/piece_cache.rs.html
Original file line number Diff line number Diff line change
Expand Up @@ -256,15 +256,6 @@ <h2>Files</h2></div></nav><div class="sidebar-resizer"></div>
<a href="#254" id="254">254</a>
<a href="#255" id="255">255</a>
<a href="#256" id="256">256</a>
<a href="#257" id="257">257</a>
<a href="#258" id="258">258</a>
<a href="#259" id="259">259</a>
<a href="#260" id="260">260</a>
<a href="#261" id="261">261</a>
<a href="#262" id="262">262</a>
<a href="#263" id="263">263</a>
<a href="#264" id="264">264</a>
<a href="#265" id="265">265</a>
</pre></div><pre class="rust"><code><span class="attr">#[cfg(test)]
</span><span class="kw">mod </span>tests;

Expand Down Expand Up @@ -315,7 +306,8 @@ <h2>Files</h2></div></nav><div class="sidebar-resizer"></div>
num_elements: usize,
}

<span class="doccomment">/// Piece cache stored on one disk
<span class="doccomment">/// Dedicated piece cache stored on one disk, is used both to accelerate DSN queries and to plot
/// faster
</span><span class="attr">#[derive(Debug, Clone)]
</span><span class="kw">pub struct </span>DiskPieceCache {
inner: Arc&lt;Inner&gt;,
Expand All @@ -324,17 +316,7 @@ <h2>Files</h2></div></nav><div class="sidebar-resizer"></div>
<span class="kw">impl </span>DiskPieceCache {
<span class="kw">pub</span>(<span class="kw">super</span>) <span class="kw">const </span>FILE_NAME: <span class="kw-2">&amp;</span><span class="lifetime">'static </span>str = <span class="string">"piece_cache.bin"</span>;

<span class="attr">#[cfg(not(test))]
</span><span class="kw">pub</span>(<span class="kw">super</span>) <span class="kw">fn </span>open(directory: <span class="kw-2">&amp;</span>Path, capacity: usize) -&gt; <span class="prelude-ty">Result</span>&lt;<span class="self">Self</span>, DiskPieceCacheError&gt; {
<span class="self">Self</span>::open_internal(directory, capacity)
}

<span class="attr">#[cfg(test)]
</span><span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn </span>open(directory: <span class="kw-2">&amp;</span>Path, capacity: usize) -&gt; <span class="prelude-ty">Result</span>&lt;<span class="self">Self</span>, DiskPieceCacheError&gt; {
<span class="self">Self</span>::open_internal(directory, capacity)
}

<span class="kw">pub</span>(<span class="kw">super</span>) <span class="kw">fn </span>open_internal(
<span class="kw">pub</span>(<span class="kw">in </span><span class="kw">super</span>::<span class="kw">super</span>) <span class="kw">fn </span>open(
directory: <span class="kw-2">&amp;</span>Path,
capacity: usize,
) -&gt; <span class="prelude-ty">Result</span>&lt;<span class="self">Self</span>, DiskPieceCacheError&gt; {
Expand Down
Loading

0 comments on commit f930dcd

Please sign in to comment.