aquavm/avm_data_store/trait.DataStore.html

69 lines
14 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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="This trait is used for"><title>DataStore in avm_data_store - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-c5d6553a23f1e5a6.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="avm_data_store" data-themes="" data-resource-suffix="" data-rustdoc-version="1.81.0-nightly (506985649 2024-07-20)" data-channel="nightly" data-search-js="search-d234aafac6c221dd.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-d2fab2bf619172d3.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-df360f571f6edeae.css"></noscript><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 trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../avm_data_store/index.html">avm_data_store</a><span class="version">0.7.9</span></h2></div><h2 class="location"><a href="#">DataStore</a></h2><div class="sidebar-elems"><section><h3><a href="#required-associated-types">Required Associated Types</a></h3><ul class="block"><li><a href="#associatedtype.Error">Error</a></li></ul><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.cleanup_data">cleanup_data</a></li><li><a href="#tymethod.collect_anomaly_data">collect_anomaly_data</a></li><li><a href="#tymethod.detect_anomaly">detect_anomaly</a></li><li><a href="#tymethod.initialize">initialize</a></li><li><a href="#tymethod.read_data">read_data</a></li><li><a href="#tymethod.store_data">store_data</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In crate avm_data_store</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Trait <a href="index.html">avm_data_store</a>::<wbr><a class="trait" href="#">DataStore</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/avm_data_store/lib.rs.html#42-83">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub trait DataStore {
type <a href="#associatedtype.Error" class="associatedtype">Error</a>;
// Required methods
fn <a href="#tymethod.initialize" class="fn">initialize</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.DataStore.html#associatedtype.Error" title="type avm_data_store::DataStore::Error">Error</a>&gt;;
<span class="item-spacer"></span> fn <a href="#tymethod.store_data" class="fn">store_data</a>(
&amp;mut self,
data: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>],
particle_id: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>,
current_peer_id: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.DataStore.html#associatedtype.Error" title="type avm_data_store::DataStore::Error">Error</a>&gt;;
<span class="item-spacer"></span> fn <a href="#tymethod.read_data" class="fn">read_data</a>(
&amp;mut self,
particle_id: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>,
current_peer_id: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>&gt;, Self::<a class="associatedtype" href="trait.DataStore.html#associatedtype.Error" title="type avm_data_store::DataStore::Error">Error</a>&gt;;
<span class="item-spacer"></span> fn <a href="#tymethod.cleanup_data" class="fn">cleanup_data</a>(
&amp;mut self,
particle_id: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>,
current_peer_id: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.DataStore.html#associatedtype.Error" title="type avm_data_store::DataStore::Error">Error</a>&gt;;
<span class="item-spacer"></span> fn <a href="#tymethod.detect_anomaly" class="fn">detect_anomaly</a>(
&amp;self,
execution_time: <a class="struct" href="https://doc.rust-lang.org/nightly/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a>,
memory_delta: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
outcome: &amp;RawAVMOutcome,
) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>;
<span class="item-spacer"></span> fn <a href="#tymethod.collect_anomaly_data" class="fn">collect_anomaly_data</a>(
&amp;mut self,
particle_id: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>,
current_peer_id: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>,
anomaly_data: <a class="struct" href="struct.AnomalyData.html" title="struct avm_data_store::AnomalyData">AnomalyData</a>&lt;'_&gt;,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.DataStore.html#associatedtype.Error" title="type avm_data_store::DataStore::Error">Error</a>&gt;;
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>This trait is used for</p>
<ul>
<li>persisting prev_data between successive calls of an interpreter</li>
<li>logging previous, current, and new data in case of spikes</li>
</ul>
</div></details><h2 id="required-associated-types" class="section-header">Required Associated Types<a href="#required-associated-types" class="anchor">§</a></h2><div class="methods"><section id="associatedtype.Error" class="method"><a class="src rightside" href="../src/avm_data_store/lib.rs.html#43">source</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a></h4></section></div><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><section id="tymethod.initialize" class="method"><a class="src rightside" href="../src/avm_data_store/lib.rs.html#45">source</a><h4 class="code-header">fn <a href="#tymethod.initialize" class="fn">initialize</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.DataStore.html#associatedtype.Error" title="type avm_data_store::DataStore::Error">Error</a>&gt;</h4></section><section id="tymethod.store_data" class="method"><a class="src rightside" href="../src/avm_data_store/lib.rs.html#47-52">source</a><h4 class="code-header">fn <a href="#tymethod.store_data" class="fn">store_data</a>(
&amp;mut self,
data: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>],
particle_id: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>,
current_peer_id: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.DataStore.html#associatedtype.Error" title="type avm_data_store::DataStore::Error">Error</a>&gt;</h4></section><section id="tymethod.read_data" class="method"><a class="src rightside" href="../src/avm_data_store/lib.rs.html#54-58">source</a><h4 class="code-header">fn <a href="#tymethod.read_data" class="fn">read_data</a>(
&amp;mut self,
particle_id: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>,
current_peer_id: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>&gt;, Self::<a class="associatedtype" href="trait.DataStore.html#associatedtype.Error" title="type avm_data_store::DataStore::Error">Error</a>&gt;</h4></section><details class="toggle method-toggle" open><summary><section id="tymethod.cleanup_data" class="method"><a class="src rightside" href="../src/avm_data_store/lib.rs.html#61-62">source</a><h4 class="code-header">fn <a href="#tymethod.cleanup_data" class="fn">cleanup_data</a>(
&amp;mut self,
particle_id: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>,
current_peer_id: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.DataStore.html#associatedtype.Error" title="type avm_data_store::DataStore::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Cleanup data that become obsolete.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.detect_anomaly" class="method"><a class="src rightside" href="../src/avm_data_store/lib.rs.html#70-75">source</a><h4 class="code-header">fn <a href="#tymethod.detect_anomaly" class="fn">detect_anomaly</a>(
&amp;self,
execution_time: <a class="struct" href="https://doc.rust-lang.org/nightly/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a>,
memory_delta: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
outcome: &amp;RawAVMOutcome,
) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if an anomaly happened and its necessary to save execution data
for debugging purposes.
execution_time - time taken by the interpreter to execute provided script
memory_delta - count of bytes on which an interpreter heap has been extended
during execution of a particle
outcome - a result of AquaVM invocation</p>
</div></details><section id="tymethod.collect_anomaly_data" class="method"><a class="src rightside" href="../src/avm_data_store/lib.rs.html#77-82">source</a><h4 class="code-header">fn <a href="#tymethod.collect_anomaly_data" class="fn">collect_anomaly_data</a>(
&amp;mut self,
particle_id: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>,
current_peer_id: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>,
anomaly_data: <a class="struct" href="struct.AnomalyData.html" title="struct avm_data_store::AnomalyData">AnomalyData</a>&lt;'_&gt;,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Self::<a class="associatedtype" href="trait.DataStore.html#associatedtype.Error" title="type avm_data_store::DataStore::Error">Error</a>&gt;</h4></section></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"></div><script src="../trait.impl/avm_data_store/trait.DataStore.js" async></script></section></div></main></body></html>