Files
greptimedb/flow/index.html
2025-12-25 19:26:42 +00:00

8 lines
17 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 crate manage dataflow in Greptime, including adapter, expr, plan, repr and utils. It can transform substrait plan into its own plan and execute it. It also contains definition of expression, adapter and plan, and internal state management."><title>flow - 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-e56847b5.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="flow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.92.0-nightly (fa3155a64 2025-09-30)" data-channel="nightly" data-search-js="search-e256b49e.js" data-stringdex-js="stringdex-828709d0.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="../crates.js"></script><script defer src="../static.files/main-ce535bd0.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.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 crate"><!--[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="#">Crate flow</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../flow/index.html">flow</a><span class="version">1.0.0-beta.3</span></h2></div><div class="sidebar-elems"><ul class="block"><li><a id="all-types" href="all.html">All Items</a></li></ul><section id="rustdoc-toc"><h3><a href="#reexports">Crate Items</a></h3><ul class="block"><li><a href="#reexports" title="Re-exports">Re-exports</a></li><li><a href="#modules" title="Modules">Modules</a></li><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"></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><h1>Crate <span>flow</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/flow/lib.rs.html#15-55">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>This crate manage dataflow in Greptime, including adapter, expr, plan, repr and utils.
It can transform substrait plan into its own plan and execute it.
It also contains definition of expression, adapter and plan, and internal state management.</p>
</div></details><h2 id="reexports" class="section-header">Re-exports<a href="#reexports" class="anchor">§</a></h2><dl class="item-table reexports"><dt id="reexport.Error"><code>pub use error::<a class="enum" href="error/enum.Error.html" title="enum flow::error::Error">Error</a>;</code></dt><dt id="reexport.Result"><code>pub use error::<a class="type" href="error/type.Result.html" title="type flow::error::Result">Result</a>;</code></dt></dl><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><dl class="item-table"><dt><a class="mod" href="adapter/index.html" title="mod flow::adapter">adapter</a><span title="Restricted Visibility">&nbsp;🔒</span> </dt><dd>for getting data from source and sending results to sink
and communicating with other parts of the database</dd><dt><a class="mod" href="batching_mode/index.html" title="mod flow::batching_mode">batching_<wbr>mode</a><span title="Restricted Visibility">&nbsp;🔒</span> </dt><dd>Run flow as batching mode which is time-window-aware normal query triggered when new data arrives</dd><dt><a class="mod" href="compute/index.html" title="mod flow::compute">compute</a><span title="Restricted Visibility">&nbsp;🔒</span> </dt><dd>Build and Compute the dataflow</dd><dt><a class="mod" href="df_optimizer/index.html" title="mod flow::df_optimizer">df_<wbr>optimizer</a><span title="Restricted Visibility">&nbsp;🔒</span> </dt><dd>Datafusion optimizer for flow plan</dd><dt><a class="mod" href="engine/index.html" title="mod flow::engine">engine</a><span title="Restricted Visibility">&nbsp;🔒</span> </dt><dd>Define a trait for flow engine, which is used by both streaming engine and batch engine</dd><dt><a class="mod" href="error/index.html" title="mod flow::error">error</a></dt><dd>Error definition for flow module</dd><dt><a class="mod" href="expr/index.html" title="mod flow::expr">expr</a><span title="Restricted Visibility">&nbsp;🔒</span> </dt><dd>for declare Expression in dataflow, including map, reduce, id and join(TODO!) etc.</dd><dt><a class="mod" href="heartbeat/index.html" title="mod flow::heartbeat">heartbeat</a></dt><dd>Send heartbeat from flownode to metasrv</dd><dt><a class="mod" href="metrics/index.html" title="mod flow::metrics">metrics</a><span title="Restricted Visibility">&nbsp;🔒</span> </dt><dd>Some of the metrics used in the flow module.</dd><dt><a class="mod" href="plan/index.html" title="mod flow::plan">plan</a><span title="Restricted Visibility">&nbsp;🔒</span> </dt><dd>This module contain basic definition for dataflows plan
that can be translate to hydro dataflow</dd><dt><a class="mod" href="repr/index.html" title="mod flow::repr">repr</a><span title="Restricted Visibility">&nbsp;🔒</span> </dt><dd>basically a wrapper around the <code>datatype</code> crate
for basic Data Representation</dd><dt><a class="mod" href="server/index.html" title="mod flow::server">server</a><span title="Restricted Visibility">&nbsp;🔒</span> </dt><dd>Implementation of grpc service for flow node</dd><dt><a class="mod" href="transform/index.html" title="mod flow::transform">transform</a><span title="Restricted Visibility">&nbsp;🔒</span> </dt><dd>Transform Substrait into execution plan</dd><dt><a class="mod" href="utils/index.html" title="mod flow::utils">utils</a><span title="Restricted Visibility">&nbsp;🔒</span> </dt><dd>utilities for managing state of dataflow execution</dd></dl><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.FlowAuthHeader.html" title="struct flow::FlowAuthHeader">Flow<wbr>Auth<wbr>Header</a></dt><dt><a class="struct" href="struct.FlowConfig.html" title="struct flow::FlowConfig">Flow<wbr>Config</a></dt><dd>Flow config that exists both in standalone&amp;distributed mode</dd><dt><a class="struct" href="struct.FlownodeBuilder.html" title="struct flow::FlownodeBuilder">Flownode<wbr>Builder</a></dt><dd><a href="struct.FlownodeInstance.html" title="struct flow::FlownodeInstance"><code>FlownodeInstance</code></a> Builder</dd><dt><a class="struct" href="struct.FlownodeInstance.html" title="struct flow::FlownodeInstance">Flownode<wbr>Instance</a></dt><dd>The flownode server instance.</dd><dt><a class="struct" href="struct.FlownodeOptions.html" title="struct flow::FlownodeOptions">Flownode<wbr>Options</a></dt><dd>Options for flow node</dd><dt><a class="struct" href="struct.FlownodeServer.html" title="struct flow::FlownodeServer">Flownode<wbr>Server</a></dt><dt><a class="struct" href="struct.FlownodeServiceBuilder.html" title="struct flow::FlownodeServiceBuilder">Flownode<wbr>Service<wbr>Builder</a></dt><dd>Useful in distributed mode</dd><dt><a class="struct" href="struct.FrontendInvoker.html" title="struct flow::FrontendInvoker">Frontend<wbr>Invoker</a></dt><dd>Basically a tiny frontend that communicates with datanode, different from <a href="enum.FrontendClient.html" title="enum flow::FrontendClient"><code>FrontendClient</code></a> which
connect to a real frontend instead, this is used for flows streaming engine. And is for simple query.</dd><dt><a class="struct" href="struct.StreamingEngine.html" title="struct flow::StreamingEngine">Streaming<wbr>Engine</a></dt><dd>FlowNodeManager manages the state of all tasks in the flow node, which should be run on the same thread</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.FrontendClient.html" title="enum flow::FrontendClient">Frontend<wbr>Client</a></dt><dd>A simple frontend client able to execute sql using grpc protocol</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.GrpcQueryHandlerWithBoxedError.html" title="trait flow::GrpcQueryHandlerWithBoxedError">Grpc<wbr>Query<wbr>Handler<wbr>With<wbr>Boxed<wbr>Error</a></dt><dd>Just like [<code>GrpcQueryHandler</code>] but use BoxedError</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.get_flow_auth_options.html" title="fn flow::get_flow_auth_options">get_<wbr>flow_<wbr>auth_<wbr>options</a></dt></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.FlowStreamingEngineRef.html" title="type flow::FlowStreamingEngineRef">Flow<wbr>Streaming<wbr>Engine<wbr>Ref</a></dt><dd>Arc-ed FlowNodeManager, cheaper to clone</dd></dl><script type="text/json" id="notable-traits-data">{"&'slf <Arc<T> as AsSelf<'slf>>::Ref":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html\" title=\"struct alloc::sync::Arc\">Arc</a>&lt;<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/std/fs/struct.File.html\" title=\"struct std::fs::File\">File</a>&gt;</code></h3><pre><code><div class=\"where\">impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.Read.html\" title=\"trait std::io::Read\">Read</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html\" title=\"struct alloc::sync::Arc\">Arc</a>&lt;<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/std/fs/struct.File.html\" title=\"struct std::fs::File\">File</a>&gt;</div><div class=\"where\">impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.Write.html\" title=\"trait std::io::Write\">Write</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html\" title=\"struct alloc::sync::Arc\">Arc</a>&lt;<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/std/fs/struct.File.html\" title=\"struct std::fs::File\">File</a>&gt;</div>","&BitSlice<T, O>":"<h3>Notable traits for <code>&amp;BitSlice&lt;T, O&gt;</code></h3><pre><code><div class=\"where\">impl&lt;T, O&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.Read.html\" title=\"trait std::io::Read\">Read</a> for &amp;BitSlice&lt;T, O&gt;<div class=\"where\">where\n T: BitStore,\n O: BitOrder,\n BitSlice&lt;T, O&gt;: BitField,</div></div>","&[u8]":"<h3>Notable traits for <code>&amp;[<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>]</code></h3><pre><code><div class=\"where\">impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.Read.html\" title=\"trait std::io::Read\">Read</a> for &amp;[<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>]</div>","&mut BitSlice<T, O>":"<h3>Notable traits for <code>&amp;mut BitSlice&lt;T, O&gt;</code></h3><pre><code><div class=\"where\">impl&lt;T, O&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.Write.html\" title=\"trait std::io::Write\">Write</a> for &amp;mut BitSlice&lt;T, O&gt;<div class=\"where\">where\n T: BitStore,\n O: BitOrder,\n BitSlice&lt;T, O&gt;: BitField,</div></div>","&mut Vec<u8>":"<h3>Notable traits for <code><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>, A&gt;</code></h3><pre><code><div class=\"where\">impl&lt;A&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.Write.html\" title=\"trait std::io::Write\">Write</a> for <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>, A&gt;<div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a>,</div></div>","&mut [u8]":"<h3>Notable traits for <code>&amp;mut [<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>]</code></h3><pre><code><div class=\"where\">impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.Write.html\" title=\"trait std::io::Write\">Write</a> for &amp;mut [<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>]</div>","<Arc<S> as Service<Request>>::Future":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html\" title=\"struct alloc::sync::Arc\">Arc</a>&lt;<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/std/fs/struct.File.html\" title=\"struct std::fs::File\">File</a>&gt;</code></h3><pre><code><div class=\"where\">impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.Read.html\" title=\"trait std::io::Read\">Read</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html\" title=\"struct alloc::sync::Arc\">Arc</a>&lt;<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/std/fs/struct.File.html\" title=\"struct std::fs::File\">File</a>&gt;</div><div class=\"where\">impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.Write.html\" title=\"trait std::io::Write\">Write</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html\" title=\"struct alloc::sync::Arc\">Arc</a>&lt;<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/std/fs/struct.File.html\" title=\"struct std::fs::File\">File</a>&gt;</div>","<Arc<W> as MakeWriter<'a>>::Writer":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html\" title=\"struct alloc::sync::Arc\">Arc</a>&lt;<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/std/fs/struct.File.html\" title=\"struct std::fs::File\">File</a>&gt;</code></h3><pre><code><div class=\"where\">impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.Read.html\" title=\"trait std::io::Read\">Read</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html\" title=\"struct alloc::sync::Arc\">Arc</a>&lt;<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/std/fs/struct.File.html\" title=\"struct std::fs::File\">File</a>&gt;</div><div class=\"where\">impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.Write.html\" title=\"trait std::io::Write\">Write</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html\" title=\"struct alloc::sync::Arc\">Arc</a>&lt;<a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/std/fs/struct.File.html\" title=\"struct std::fs::File\">File</a>&gt;</div>","Vec<u8>":"<h3>Notable traits for <code><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>, A&gt;</code></h3><pre><code><div class=\"where\">impl&lt;A&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.Write.html\" title=\"trait std::io::Write\">Write</a> for <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>, A&gt;<div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a>,</div></div>"}</script></section></div></main></body></html>