Deploying to gh-pages from @ GreptimeTeam/greptimedb@c1b0418377 🚀

This commit is contained in:
github-merge-queue[bot]
2026-06-02 04:59:31 +00:00
commit c8e3a4771a
21976 changed files with 2584110 additions and 0 deletions

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,6 @@
<!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="API documentation for the Rust `maybe_dedup_one` fn in crate `mito2`."><title>maybe_dedup_one in mito2::flush - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-17e0aaed.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="mito2" data-themes="" data-resource-suffix="" data-rustdoc-version="1.96.0-nightly (ac7f9ec7d 2026-03-20)" data-channel="nightly" data-search-js="search-63369b7b.js" data-stringdex-js="stringdex-2da4960a.js" data-settings-js="settings-170eb4bf.js" ><script src="../../static.files/storage-41dd4d93.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-5013f961.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-f7c3ffd8.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc fn"><a class="skip-main-content" href="#main-content">Skip to main content</a><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">maybe_dedup_one</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../mito2/index.html">mito2</a><span class="version">1.1.0</span></h2></div><div class="sidebar-elems"><div id="rustdoc-modnav"><h2><a href="index.html">In mito2::<wbr>flush</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content" tabindex="-1"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">mito2</a>::<wbr><a href="index.html">flush</a></div><h1>Function <span class="fn">maybe_<wbr>dedup_<wbr>one</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/mito2/flush.rs.html#938-959">Source</a> </span></div><pre class="rust item-decl"><code>pub fn maybe_dedup_one(
append_mode: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
merge_mode: <a class="enum" href="../region/options/enum.MergeMode.html" title="enum mito2::region::options::MergeMode">MergeMode</a>,
field_column_start: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
input_iter: <a class="type" href="../memtable/type.BoxedRecordBatchIterator.html" title="type mito2::memtable::BoxedRecordBatchIterator">BoxedRecordBatchIterator</a>,
) -&gt; <a class="type" href="../memtable/type.BoxedRecordBatchIterator.html" title="type mito2::memtable::BoxedRecordBatchIterator">BoxedRecordBatchIterator</a></code></pre></section></div></main></body></html>

View File

@@ -0,0 +1,7 @@
<!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="Returns the max sequence and FlatSource for the given memtable."><title>memtable_flat_sources in mito2::flush - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-17e0aaed.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="mito2" data-themes="" data-resource-suffix="" data-rustdoc-version="1.96.0-nightly (ac7f9ec7d 2026-03-20)" data-channel="nightly" data-search-js="search-63369b7b.js" data-stringdex-js="stringdex-2da4960a.js" data-settings-js="settings-170eb4bf.js" ><script src="../../static.files/storage-41dd4d93.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-5013f961.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-f7c3ffd8.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc fn"><a class="skip-main-content" href="#main-content">Skip to main content</a><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">memtable_flat_sources</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../mito2/index.html">mito2</a><span class="version">1.1.0</span></h2></div><div class="sidebar-elems"><div id="rustdoc-modnav"><h2><a href="index.html">In mito2::<wbr>flush</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content" tabindex="-1"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">mito2</a>::<wbr><a href="index.html">flush</a></div><h1>Function <span class="fn">memtable_<wbr>flat_<wbr>sources</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/mito2/flush.rs.html#733-866">Source</a> </span></div><pre class="rust item-decl"><code>fn memtable_flat_sources(
schema: SchemaRef,
mem_ranges: <a class="struct" href="../memtable/struct.MemtableRanges.html" title="struct mito2::memtable::MemtableRanges">MemtableRanges</a>,
options: &amp;<a class="struct" href="../region/options/struct.RegionOptions.html" title="struct mito2::region::options::RegionOptions">RegionOptions</a>,
field_column_start: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
) -&gt; <a class="type" href="../error/type.Result.html" title="type mito2::error::Result">Result</a>&lt;<a class="struct" href="struct.FlatSources.html" title="struct mito2::flush::FlatSources">FlatSources</a>&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Returns the max sequence and <a href="../read/struct.FlatSource.html" title="struct mito2::read::FlatSource">FlatSource</a> for the given memtable.</p>
</div></details></section></div></main></body></html>

View File

@@ -0,0 +1,49 @@
<!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="Merges multiple record batch iterators and applies deduplication based on the specified mode."><title>merge_and_dedup in mito2::flush - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-17e0aaed.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="mito2" data-themes="" data-resource-suffix="" data-rustdoc-version="1.96.0-nightly (ac7f9ec7d 2026-03-20)" data-channel="nightly" data-search-js="search-63369b7b.js" data-stringdex-js="stringdex-2da4960a.js" data-settings-js="settings-170eb4bf.js" ><script src="../../static.files/storage-41dd4d93.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-5013f961.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-f7c3ffd8.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc fn"><a class="skip-main-content" href="#main-content">Skip to main content</a><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">merge_and_dedup</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../mito2/index.html">mito2</a><span class="version">1.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">merge_<wbr>and_<wbr>dedup</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#arguments" title="Arguments">Arguments</a></li><li><a href="#returns" title="Returns">Returns</a></li><li><a href="#behavior" title="Behavior">Behavior</a></li><li><a href="#examples" title="Examples">Examples</a></li></ul></section><div id="rustdoc-modnav"><h2><a href="index.html">In mito2::<wbr>flush</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content" tabindex="-1"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">mito2</a>::<wbr><a href="index.html">flush</a></div><h1>Function <span class="fn">merge_<wbr>and_<wbr>dedup</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/mito2/flush.rs.html#912-936">Source</a> </span></div><pre class="rust item-decl"><code>pub fn merge_and_dedup(
schema: &amp;SchemaRef,
append_mode: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
merge_mode: <a class="enum" href="../region/options/enum.MergeMode.html" title="enum mito2::region::options::MergeMode">MergeMode</a>,
field_column_start: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
input_iters: <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="type" href="../memtable/type.BoxedRecordBatchIterator.html" title="type mito2::memtable::BoxedRecordBatchIterator">BoxedRecordBatchIterator</a>&gt;,
) -&gt; <a class="type" href="../error/type.Result.html" title="type mito2::error::Result">Result</a>&lt;<a class="type" href="../memtable/type.BoxedRecordBatchIterator.html" title="type mito2::memtable::BoxedRecordBatchIterator">BoxedRecordBatchIterator</a>&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Merges multiple record batch iterators and applies deduplication based on the specified mode.</p>
<p>This function is used during the flush process to combine data from multiple memtable ranges
into a single stream while handling duplicate records according to the configured merge strategy.</p>
<h2 id="arguments"><a class="doc-anchor" href="#arguments">§</a>Arguments</h2>
<ul>
<li><code>schema</code> - The Arrow schema reference that defines the structure of the record batches</li>
<li><code>append_mode</code> - When true, no deduplication is performed and all records are preserved.
This is used for append-only workloads where duplicate handling is not required.</li>
<li><code>merge_mode</code> - The strategy used for deduplication when not in append mode:
<ul>
<li><code>MergeMode::LastRow</code>: Keeps the last record for each primary key</li>
<li><code>MergeMode::LastNonNull</code>: Keeps the last non-null values for each field</li>
</ul>
</li>
<li><code>field_column_start</code> - The starting column index for fields in the record batch.
Used when <code>MergeMode::LastNonNull</code> to identify which columns
contain field values versus primary key columns.</li>
<li><code>input_iters</code> - A vector of record batch iterators to be merged and deduplicated</li>
</ul>
<h2 id="returns"><a class="doc-anchor" href="#returns">§</a>Returns</h2>
<p>Returns a boxed record batch iterator that yields the merged and potentially deduplicated
record batches.</p>
<h2 id="behavior"><a class="doc-anchor" href="#behavior">§</a>Behavior</h2>
<ol>
<li>Creates a <code>FlatMergeIterator</code> to merge all input iterators in sorted order based on
primary key and timestamp</li>
<li>If <code>append_mode</code> is true, returns the merge iterator directly without deduplication</li>
<li>If <code>append_mode</code> is false, wraps the merge iterator with a <code>FlatDedupIterator</code> that
applies the specified merge mode:
<ul>
<li><code>LastRow</code>: Removes duplicate rows, keeping only the last one</li>
<li><code>LastNonNull</code>: Removes duplicates but preserves the last non-null value for each field</li>
</ul>
</li>
</ol>
<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2>
<div class="example-wrap ignore"><a href="#" class="tooltip" title="This example is not tested"></a><pre class="rust rust-example-rendered"><code><span class="kw">let </span>merged_iter = merge_and_dedup(
<span class="kw-2">&amp;</span>schema,
<span class="bool-val">false</span>, <span class="comment">// not append mode, apply dedup
</span>MergeMode::LastRow,
<span class="number">2</span>, <span class="comment">// fields start at column 2 after primary key columns
</span><span class="macro">vec!</span>[iter1, iter2, iter3],
)<span class="question-mark">?</span>;</code></pre></div></div></details></section></div></main></body></html>

2
mito2/flush/index.html Normal file
View File

@@ -0,0 +1,2 @@
<!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="Flush related utilities and structs."><title>mito2::flush - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-17e0aaed.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="mito2" data-themes="" data-resource-suffix="" data-rustdoc-version="1.96.0-nightly (ac7f9ec7d 2026-03-20)" data-channel="nightly" data-search-js="search-63369b7b.js" data-stringdex-js="stringdex-2da4960a.js" data-settings-js="settings-170eb4bf.js" ><script src="../../static.files/storage-41dd4d93.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../static.files/main-5013f961.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-f7c3ffd8.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><a class="skip-main-content" href="#main-content">Skip to main content</a><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Module flush</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../mito2/index.html">mito2</a><span class="version">1.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module flush</a></h2><h3><a href="#structs">Module Items</a></h3><ul class="block"><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#enums" title="Enums">Enums</a></li><li><a href="#traits" title="Traits">Traits</a></li><li><a href="#functions" title="Functions">Functions</a></li><li><a href="#types" title="Type Aliases">Type Aliases</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="../index.html">In crate mito2</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content" tabindex="-1"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">mito2</a></div><h1>Module <span>flush</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/mito2/flush.rs.html#15-1657">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Flush related utilities and structs.</p>
</div></details><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.DoFlushMemtablesResult.html" title="struct mito2::flush::DoFlushMemtablesResult">DoFlush<wbr>Memtables<wbr>Result</a><span title="Restricted Visibility">&nbsp;🔒</span> </dt><dt><a class="struct" href="struct.FlatSources.html" title="struct mito2::flush::FlatSources">Flat<wbr>Sources</a><span title="Restricted Visibility">&nbsp;🔒</span> </dt><dt><a class="struct" href="struct.FlushFlatMemResult.html" title="struct mito2::flush::FlushFlatMemResult">Flush<wbr>Flat<wbr>MemResult</a><span title="Restricted Visibility">&nbsp;🔒</span> </dt><dt><a class="struct" href="struct.FlushScheduler.html" title="struct mito2::flush::FlushScheduler">Flush<wbr>Scheduler</a><span title="Restricted Visibility">&nbsp;🔒</span> </dt><dd>Manages background flushes of a worker.</dd><dt><a class="struct" href="struct.FlushStatus.html" title="struct mito2::flush::FlushStatus">Flush<wbr>Status</a><span title="Restricted Visibility">&nbsp;🔒</span> </dt><dd>Flush status of a region scheduled by the <a href="struct.FlushScheduler.html" title="struct mito2::flush::FlushScheduler">FlushScheduler</a>.</dd><dt><a class="struct" href="struct.RegionFlushTask.html" title="struct mito2::flush::RegionFlushTask">Region<wbr>Flush<wbr>Task</a><span title="Restricted Visibility">&nbsp;🔒</span> </dt><dd>Task to flush a region.</dd><dt><a class="struct" href="struct.WriteBufferManagerImpl.html" title="struct mito2::flush::WriteBufferManagerImpl">Write<wbr>Buffer<wbr>Manager<wbr>Impl</a></dt><dd>Default <a href="trait.WriteBufferManager.html" title="trait mito2::flush::WriteBufferManager">WriteBufferManager</a> implementation.</dd></dl><h2 id="enums" class="section-header">Enums<a href="#enums" class="anchor">§</a></h2><dl class="item-table"><dt><a class="enum" href="enum.FlushReason.html" title="enum mito2::flush::FlushReason">Flush<wbr>Reason</a></dt><dd>Reason of a flush task.</dd></dl><h2 id="traits" class="section-header">Traits<a href="#traits" class="anchor">§</a></h2><dl class="item-table"><dt><a class="trait" href="trait.WriteBufferManager.html" title="trait mito2::flush::WriteBufferManager">Write<wbr>Buffer<wbr>Manager</a></dt><dd>Global write buffer (memtable) manager.</dd></dl><h2 id="functions" class="section-header">Functions<a href="#functions" class="anchor">§</a></h2><dl class="item-table"><dt><a class="fn" href="fn.maybe_dedup_one.html" title="fn mito2::flush::maybe_dedup_one">maybe_<wbr>dedup_<wbr>one</a></dt><dt><a class="fn" href="fn.memtable_flat_sources.html" title="fn mito2::flush::memtable_flat_sources">memtable_<wbr>flat_<wbr>sources</a><span title="Restricted Visibility">&nbsp;🔒</span> </dt><dd>Returns the max sequence and <a href="../read/struct.FlatSource.html" title="struct mito2::read::FlatSource">FlatSource</a> for the given memtable.</dd><dt><a class="fn" href="fn.merge_and_dedup.html" title="fn mito2::flush::merge_and_dedup">merge_<wbr>and_<wbr>dedup</a></dt><dd>Merges multiple record batch iterators and applies deduplication based on the specified mode.</dd></dl><h2 id="types" class="section-header">Type Aliases<a href="#types" class="anchor">§</a></h2><dl class="item-table"><dt><a class="type" href="type.WriteBufferManagerRef.html" title="type mito2::flush::WriteBufferManagerRef">Write<wbr>Buffer<wbr>Manager<wbr>Ref</a></dt></dl></section></div></main></body></html>

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"enum":["FlushReason"],"fn":["maybe_dedup_one","memtable_flat_sources","merge_and_dedup"],"struct":["DoFlushMemtablesResult","FlatSources","FlushFlatMemResult","FlushScheduler","FlushStatus","RegionFlushTask","WriteBufferManagerImpl"],"trait":["WriteBufferManager"],"type":["WriteBufferManagerRef"]};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,26 @@
<!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="Global write buffer (memtable) manager."><title>WriteBufferManager in mito2::flush - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-17e0aaed.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="mito2" data-themes="" data-resource-suffix="" data-rustdoc-version="1.96.0-nightly (ac7f9ec7d 2026-03-20)" data-channel="nightly" data-search-js="search-63369b7b.js" data-stringdex-js="stringdex-2da4960a.js" data-settings-js="settings-170eb4bf.js" ><script src="../../static.files/storage-41dd4d93.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-5013f961.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-f7c3ffd8.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc trait"><a class="skip-main-content" href="#main-content">Skip to main content</a><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">WriteBufferManager</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../mito2/index.html">mito2</a><span class="version">1.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Write<wbr>Buffer<wbr>Manager</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.flush_limit" title="flush_limit">flush_limit</a></li><li><a href="#tymethod.free_mem" title="free_mem">free_mem</a></li><li><a href="#tymethod.memory_usage" title="memory_usage">memory_usage</a></li><li><a href="#tymethod.reserve_mem" title="reserve_mem">reserve_mem</a></li><li><a href="#tymethod.schedule_free_mem" title="schedule_free_mem">schedule_free_mem</a></li><li><a href="#tymethod.should_flush_engine" title="should_flush_engine">should_flush_engine</a></li><li><a href="#tymethod.should_stall" title="should_stall">should_stall</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In mito2::<wbr>flush</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content" tabindex="-1"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">mito2</a>::<wbr><a href="index.html">flush</a></div><h1>Trait <span class="trait">Write<wbr>Buffer<wbr>Manager</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/mito2/flush.rs.html#72-99">Source</a> </span></div><pre class="rust item-decl"><code>pub trait WriteBufferManager:
<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>
+ <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>
+ <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> {
// Required methods
fn <a href="#tymethod.should_flush_engine" class="fn">should_flush_engine</a>(&amp;self) -&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.should_stall" class="fn">should_stall</a>(&amp;self) -&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.reserve_mem" class="fn">reserve_mem</a>(&amp;self, mem: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>);
<span class="item-spacer"></span> fn <a href="#tymethod.schedule_free_mem" class="fn">schedule_free_mem</a>(&amp;self, mem: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>);
<span class="item-spacer"></span> fn <a href="#tymethod.free_mem" class="fn">free_mem</a>(&amp;self, mem: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>);
<span class="item-spacer"></span> fn <a href="#tymethod.memory_usage" class="fn">memory_usage</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>;
<span class="item-spacer"></span> fn <a href="#tymethod.flush_limit" class="fn">flush_limit</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>;
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Global write buffer (memtable) manager.</p>
<p>Tracks write buffer (memtable) usages and decide whether the engine needs to flush.</p>
</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.should_flush_engine" class="method"><a class="src rightside" href="../../src/mito2/flush.rs.html#74">Source</a><h4 class="code-header">fn <a href="#tymethod.should_flush_engine" class="fn">should_flush_engine</a>(&amp;self) -&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 whether to trigger the engine.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.should_stall" class="method"><a class="src rightside" href="../../src/mito2/flush.rs.html#77">Source</a><h4 class="code-header">fn <a href="#tymethod.should_stall" class="fn">should_stall</a>(&amp;self) -&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 whether to stall write requests.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.reserve_mem" class="method"><a class="src rightside" href="../../src/mito2/flush.rs.html#80">Source</a><h4 class="code-header">fn <a href="#tymethod.reserve_mem" class="fn">reserve_mem</a>(&amp;self, mem: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</h4></section></summary><div class="docblock"><p>Reserves <code>mem</code> bytes.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.schedule_free_mem" class="method"><a class="src rightside" href="../../src/mito2/flush.rs.html#86">Source</a><h4 class="code-header">fn <a href="#tymethod.schedule_free_mem" class="fn">schedule_free_mem</a>(&amp;self, mem: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</h4></section></summary><div class="docblock"><p>Tells the manager we are freeing <code>mem</code> bytes.</p>
<p>We are in the process of freeing <code>mem</code> bytes, so it is not considered
when checking the soft limit.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.free_mem" class="method"><a class="src rightside" href="../../src/mito2/flush.rs.html#89">Source</a><h4 class="code-header">fn <a href="#tymethod.free_mem" class="fn">free_mem</a>(&amp;self, mem: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</h4></section></summary><div class="docblock"><p>We have freed <code>mem</code> bytes.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.memory_usage" class="method"><a class="src rightside" href="../../src/mito2/flush.rs.html#92">Source</a><h4 class="code-header">fn <a href="#tymethod.memory_usage" class="fn">memory_usage</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the total memory used by memtables.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.flush_limit" class="method"><a class="src rightside" href="../../src/mito2/flush.rs.html#98">Source</a><h4 class="code-header">fn <a href="#tymethod.flush_limit" class="fn">flush_limit</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the mutable memtable memory limit.</p>
<p>The write buffer manager should flush memtables when the mutable memory usage
exceeds this limit.</p>
</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><div class="negative-marker"></div><section id="impl-WriteBufferManager-for-WriteBufferManagerImpl" class="impl"><a class="src rightside" href="../../src/mito2/flush.rs.html#152-204">Source</a><a href="#impl-WriteBufferManager-for-WriteBufferManagerImpl" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.WriteBufferManager.html" title="trait mito2::flush::WriteBufferManager">WriteBufferManager</a> for <a class="struct" href="struct.WriteBufferManagerImpl.html" title="struct mito2::flush::WriteBufferManagerImpl">WriteBufferManagerImpl</a></h3></section></div><script src="../../trait.impl/mito2/flush/trait.WriteBufferManager.js" async></script></section></div></main></body></html>

View File

@@ -0,0 +1 @@
<!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="API documentation for the Rust `WriteBufferManagerRef` type in crate `mito2`."><title>WriteBufferManagerRef in mito2::flush - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-17e0aaed.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="mito2" data-themes="" data-resource-suffix="" data-rustdoc-version="1.96.0-nightly (ac7f9ec7d 2026-03-20)" data-channel="nightly" data-search-js="search-63369b7b.js" data-stringdex-js="stringdex-2da4960a.js" data-settings-js="settings-170eb4bf.js" ><script src="../../static.files/storage-41dd4d93.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-5013f961.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-f7c3ffd8.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc type"><a class="skip-main-content" href="#main-content">Skip to main content</a><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">WriteBufferManagerRef</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../mito2/index.html">mito2</a><span class="version">1.1.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Write<wbr>Buffer<wbr>Manager<wbr>Ref</a></h2><h3><a href="#aliased-type">Aliased Type</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In mito2::<wbr>flush</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content" tabindex="-1"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">mito2</a>::<wbr><a href="index.html">flush</a></div><h1>Type Alias <span class="type">Write<wbr>Buffer<wbr>Manager<wbr>Ref</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/mito2/flush.rs.html#101">Source</a> </span></div><pre class="rust item-decl"><code>pub type WriteBufferManagerRef = <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="trait.WriteBufferManager.html" title="trait mito2::flush::WriteBufferManager">WriteBufferManager</a>&gt;;</code></pre><h2 id="aliased-type" class="section-header">Aliased Type<a href="#aliased-type" class="anchor">§</a></h2><pre class="rust item-decl"><code>pub struct WriteBufferManagerRef { <span class="comment">/* private fields */</span> }</code></pre><script src="../../type.impl/alloc/sync/struct.Arc.js" data-self-path="mito2::flush::WriteBufferManagerRef" async></script></section></div></main></body></html>