mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-05-16 04:50:38 +00:00
494 lines
155 KiB
HTML
494 lines
155 KiB
HTML
<!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 `PromPlanner` struct in crate `query`."><title>PromPlanner in query::promql::planner - 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="query" 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 struct"><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="#">PromPlanner</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../query/index.html">query</a><span class="version">1.0.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Prom<wbr>Planner</a></h2><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.ctx" title="ctx">ctx</a></li><li><a href="#structfield.table_provider" title="table_provider">table_provider</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.agg_modifier_to_col" title="agg_modifier_to_col">agg_modifier_to_col</a></li><li><a href="#method.align_binary_field_columns" title="align_binary_field_columns">align_binary_field_columns</a></li><li><a href="#method.apply_alias" title="apply_alias">apply_alias</a></li><li><a href="#method.binary_join_key_columns" title="binary_join_key_columns">binary_join_key_columns</a></li><li><a href="#method.build_concat_labels_expr" title="build_concat_labels_expr">build_concat_labels_expr</a></li><li><a href="#method.build_regexp_replace_label_expr" title="build_regexp_replace_label_expr">build_regexp_replace_label_expr</a></li><li><a href="#method.build_time_index_filter" title="build_time_index_filter">build_time_index_filter</a></li><li><a href="#method.collect_row_key_tag_columns_from_plan" title="collect_row_key_tag_columns_from_plan">collect_row_key_tag_columns_from_plan</a></li><li><a href="#method.create_absent_plan" title="create_absent_plan">create_absent_plan</a></li><li><a href="#method.create_aggregate_exprs" title="create_aggregate_exprs">create_aggregate_exprs</a></li><li><a href="#method.create_empty_values_filter_expr" title="create_empty_values_filter_expr">create_empty_values_filter_expr</a></li><li><a href="#method.create_field_column_exprs" title="create_field_column_exprs">create_field_column_exprs</a></li><li><a href="#method.create_field_columns_sort_exprs" title="create_field_columns_sort_exprs">create_field_columns_sort_exprs</a></li><li><a href="#method.create_function_args" title="create_function_args">create_function_args</a></li><li><a href="#method.create_function_expr" title="create_function_expr">create_function_expr</a></li><li><a href="#method.create_histogram_plan" title="create_histogram_plan">create_histogram_plan</a></li><li><a href="#method.create_scalar_plan" title="create_scalar_plan">create_scalar_plan</a></li><li><a href="#method.create_sort_exprs_by_tags" title="create_sort_exprs_by_tags">create_sort_exprs_by_tags</a></li><li><a href="#method.create_table_scan_plan" title="create_table_scan_plan">create_table_scan_plan</a></li><li><a href="#method.create_tag_and_time_index_column_sort_exprs" title="create_tag_and_time_index_column_sort_exprs">create_tag_and_time_index_column_sort_exprs</a></li><li><a href="#method.create_tag_column_exprs" title="create_tag_column_exprs">create_tag_column_exprs</a></li><li><a href="#method.create_time_index_column_expr" title="create_time_index_column_expr">create_time_index_column_expr</a></li><li><a href="#method.create_timestamp_func_plan" title="create_timestamp_func_plan">create_timestamp_func_plan</a></li><li><a href="#method.create_vector_plan" title="create_vector_plan">create_vector_plan</a></li><li><a href="#method.create_window_exprs" title="create_window_exprs">create_window_exprs</a></li><li><a href="#method.date_part_on_time_index" title="date_part_on_time_index">date_part_on_time_index</a></li><li><a href="#method.ensure_tag_columns_available" title="ensure_tag_columns_available">ensure_tag_columns_available</a></li><li><a href="#method.filter_on_field_column" title="filter_on_field_column">filter_on_field_column</a></li><li><a href="#method.find_case_sensitive_column" title="find_case_sensitive_column">find_case_sensitive_column</a></li><li><a href="#method.get_param_as_literal_expr" title="get_param_as_literal_expr">get_param_as_literal_expr</a></li><li><a href="#method.get_param_value_as_str" title="get_param_value_as_str">get_param_value_as_str</a></li><li><a href="#method.is_token_a_comparison_op" title="is_token_a_comparison_op">is_token_a_comparison_op</a></li><li><a href="#method.is_token_a_set_op" title="is_token_a_set_op">is_token_a_set_op</a></li><li><a href="#method.join_on_non_field_columns" title="join_on_non_field_columns">join_on_non_field_columns</a></li><li><a href="#method.matchers_to_expr" title="matchers_to_expr">matchers_to_expr</a></li><li><a href="#method.optional_tsid_projection" title="optional_tsid_projection">optional_tsid_projection</a></li><li><a href="#method.or_operator" title="or_operator">or_operator</a></li><li><a href="#method.plan_has_tsid_column" title="plan_has_tsid_column">plan_has_tsid_column</a></li><li><a href="#method.preprocess_label_matchers" title="preprocess_label_matchers">preprocess_label_matchers</a></li><li><a href="#method.project_binary_join_side" title="project_binary_join_side">project_binary_join_side</a></li><li><a href="#method.projection_for_each_field_column" title="projection_for_each_field_column">projection_for_each_field_column</a></li><li><a href="#method.prom_aggr_expr_to_plan" title="prom_aggr_expr_to_plan">prom_aggr_expr_to_plan</a></li><li><a href="#method.prom_binary_expr_to_plan" title="prom_binary_expr_to_plan">prom_binary_expr_to_plan</a></li><li><a href="#method.prom_call_expr_to_plan" title="prom_call_expr_to_plan">prom_call_expr_to_plan</a></li><li><a href="#method.prom_expr_to_plan" title="prom_expr_to_plan">prom_expr_to_plan</a></li><li><a href="#method.prom_expr_to_plan_inner" title="prom_expr_to_plan_inner">prom_expr_to_plan_inner</a></li><li><a href="#method.prom_ext_expr_to_plan" title="prom_ext_expr_to_plan">prom_ext_expr_to_plan</a></li><li><a href="#method.prom_matrix_selector_to_plan" title="prom_matrix_selector_to_plan">prom_matrix_selector_to_plan</a></li><li><a href="#method.prom_number_lit_to_plan" title="prom_number_lit_to_plan">prom_number_lit_to_plan</a></li><li><a href="#method.prom_string_lit_to_plan" title="prom_string_lit_to_plan">prom_string_lit_to_plan</a></li><li><a href="#method.prom_subquery_expr_to_plan" title="prom_subquery_expr_to_plan">prom_subquery_expr_to_plan</a></li><li><a href="#method.prom_token_to_binary_expr_builder" title="prom_token_to_binary_expr_builder">prom_token_to_binary_expr_builder</a></li><li><a href="#method.prom_topk_bottomk_to_plan" title="prom_topk_bottomk_to_plan">prom_topk_bottomk_to_plan</a></li><li><a href="#method.prom_unary_expr_to_plan" title="prom_unary_expr_to_plan">prom_unary_expr_to_plan</a></li><li><a href="#method.prom_vector_selector_to_plan" title="prom_vector_selector_to_plan">prom_vector_selector_to_plan</a></li><li><a href="#method.refresh_tag_columns_from_schema" title="refresh_tag_columns_from_schema">refresh_tag_columns_from_schema</a></li><li><a href="#method.selector_to_series_normalize_plan" title="selector_to_series_normalize_plan">selector_to_series_normalize_plan</a></li><li><a href="#method.set_op_on_non_field_columns" title="set_op_on_non_field_columns">set_op_on_non_field_columns</a></li><li><a href="#method.setup_context" title="setup_context">setup_context</a></li><li><a href="#method.setup_context_for_empty_metric" title="setup_context_for_empty_metric">setup_context_for_empty_metric</a></li><li><a href="#method.stmt_to_plan" title="stmt_to_plan">stmt_to_plan</a></li><li><a href="#method.strip_tsid_column" title="strip_tsid_column">strip_tsid_column</a></li><li><a href="#method.table_from_source" title="table_from_source">table_from_source</a></li><li><a href="#method.table_ref" title="table_ref">table_ref</a></li><li><a href="#method.try_build_float_literal" title="try_build_float_literal">try_build_float_literal</a></li><li><a href="#method.try_build_literal_expr" title="try_build_literal_expr">try_build_literal_expr</a></li><li><a href="#method.try_build_special_time_expr_with_context" title="try_build_special_time_expr_with_context">try_build_special_time_expr_with_context</a></li><li><a href="#method.validate_label_name" title="validate_label_name">validate_label_name</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-PromPlanner" title="!RefUnwindSafe">!RefUnwindSafe</a></li><li><a href="#impl-UnwindSafe-for-PromPlanner" title="!UnwindSafe">!UnwindSafe</a></li><li><a href="#impl-Freeze-for-PromPlanner" title="Freeze">Freeze</a></li><li><a href="#impl-Send-for-PromPlanner" title="Send">Send</a></li><li><a href="#impl-Sync-for-PromPlanner" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-PromPlanner" title="Unpin">Unpin</a></li><li><a href="#impl-UnsafeUnpin-for-PromPlanner" title="UnsafeUnpin">UnsafeUnpin</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Any-for-T-1" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow<T>">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut<T>">BorrowMut<T></a></li><li><a href="#impl-Conv-for-T" title="Conv">Conv</a></li><li><a href="#impl-ErasedDestructor-for-T" title="ErasedDestructor">ErasedDestructor</a></li><li><a href="#impl-FmtForward-for-T" title="FmtForward">FmtForward</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From<T>">From<T></a></li><li><a href="#impl-FutureExt-for-T" title="FutureExt">FutureExt</a></li><li><a href="#impl-Instrument-for-T" title="Instrument">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into<U>">Into<U></a></li><li><a href="#impl-IntoEither-for-T" title="IntoEither">IntoEither</a></li><li><a href="#impl-IntoRequest%3CT%3E-for-T" title="IntoRequest<T>">IntoRequest<T></a></li><li><a href="#impl-IntoRequest%3CT%3E-for-T-1" title="IntoRequest<T>">IntoRequest<T></a></li><li><a href="#impl-LayerExt%3CL%3E-for-L" title="LayerExt<L>">LayerExt<L></a></li><li><a href="#impl-LayerExt%3CL%3E-for-L-1" title="LayerExt<L>">LayerExt<L></a></li><li><a href="#impl-MaybeSend-for-T" title="MaybeSend">MaybeSend</a></li><li><a href="#impl-MaybeSend-for-T-1" title="MaybeSend">MaybeSend</a></li><li><a href="#impl-Pipe-for-T" title="Pipe">Pipe</a></li><li><a href="#impl-Pointable-for-T" title="Pointable">Pointable</a></li><li><a href="#impl-PolicyExt-for-T" title="PolicyExt">PolicyExt</a></li><li><a href="#impl-Same-for-T" title="Same">Same</a></li><li><a href="#impl-ServiceExt-for-T" title="ServiceExt">ServiceExt</a></li><li><a href="#impl-SupersetOf%3CSS%3E-for-SP" title="SupersetOf<SS>">SupersetOf<SS></a></li><li><a href="#impl-Tap-for-T" title="Tap">Tap</a></li><li><a href="#impl-TryConv-for-T" title="TryConv">TryConv</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom<U>">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto<U>">TryInto<U></a></li><li><a href="#impl-VZip%3CV%3E-for-T" title="VZip<V>">VZip<V></a></li><li><a href="#impl-WithSubscriber-for-T" title="WithSubscriber">WithSubscriber</a></li><li><a href="#impl-Within%3CG2%3E-for-G1" title="Within<G2>">Within<G2></a></li></ul></section><div id="rustdoc-modnav"><h2><a href="index.html">In query::<wbr>promql::<wbr>planner</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">query</a>::<wbr><a href="../index.html">promql</a>::<wbr><a href="index.html">planner</a></div><h1>Struct <span class="struct">Prom<wbr>Planner</span> <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/query/promql/planner.rs.html#201-204">Source</a> </span></div><pre class="rust item-decl"><code>pub struct PromPlanner {
|
||
table_provider: DfTableSourceProvider,
|
||
ctx: <a class="struct" href="struct.PromPlannerContext.html" title="struct query::promql::planner::PromPlannerContext">PromPlannerContext</a>,
|
||
}</code></pre><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.table_provider" class="structfield section-header"><a href="#structfield.table_provider" class="anchor field">§</a><code>table_provider: DfTableSourceProvider</code></span><span id="structfield.ctx" class="structfield section-header"><a href="#structfield.ctx" class="anchor field">§</a><code>ctx: <a class="struct" href="struct.PromPlannerContext.html" title="struct query::promql::planner::PromPlannerContext">PromPlannerContext</a></code></span><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-PromPlanner" class="impl"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#206-4064">Source</a><a href="#impl-PromPlanner" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.PromPlanner.html" title="struct query::promql::planner::PromPlanner">PromPlanner</a></h3></section></summary><div class="impl-items"><section id="method.stmt_to_plan" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#207-223">Source</a><h4 class="code-header">pub async fn <a href="#method.stmt_to_plan" class="fn">stmt_to_plan</a>(
|
||
table_provider: DfTableSourceProvider,
|
||
stmt: &EvalStmt,
|
||
query_engine_state: &<a class="struct" href="../../query_engine/struct.QueryEngineState.html" title="struct query::query_engine::QueryEngineState">QueryEngineState</a>,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><LogicalPlan></h4></section><section id="method.prom_expr_to_plan" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#225-232">Source</a><h4 class="code-header">pub async fn <a href="#method.prom_expr_to_plan" class="fn">prom_expr_to_plan</a>(
|
||
&mut self,
|
||
prom_expr: &PromExpr,
|
||
query_engine_state: &<a class="struct" href="../../query_engine/struct.QueryEngineState.html" title="struct query::query_engine::QueryEngineState">QueryEngineState</a>,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><LogicalPlan></h4></section><details class="toggle method-toggle" open><summary><section id="method.prom_expr_to_plan_inner" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#244-290">Source</a><h4 class="code-header">fn <a href="#method.prom_expr_to_plan_inner" class="fn">prom_expr_to_plan_inner</a><'life0, 'life1, 'life_self, 'async_recursion>(
|
||
&'life_self mut self,
|
||
prom_expr: &'life0 PromExpr,
|
||
timestamp_fn: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
|
||
query_engine_state: &'life1 <a class="struct" href="../../query_engine/struct.QueryEngineState.html" title="struct query::query_engine::QueryEngineState">QueryEngineState</a>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><LogicalPlan>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_recursion>><div class="where">where
|
||
'life0: 'async_recursion,
|
||
'life1: 'async_recursion,
|
||
'life_self: 'async_recursion,</div></h4></section></summary><div class="docblock"><p>Converts a PromQL expression to a logical plan.</p>
|
||
<p>NOTE:
|
||
The <code>timestamp_fn</code> indicates whether the PromQL <code>timestamp()</code> function is being evaluated in the current context.
|
||
If <code>true</code>, the planner generates a logical plan that projects the timestamp (time index) column
|
||
as the value column for each input row, implementing the PromQL <code>timestamp()</code> function semantics.
|
||
If <code>false</code>, the planner generates the standard logical plan for the given PromQL expression.</p>
|
||
</div></details><section id="method.prom_subquery_expr_to_plan" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#292-332">Source</a><h4 class="code-header">async fn <a href="#method.prom_subquery_expr_to_plan" class="fn">prom_subquery_expr_to_plan</a>(
|
||
&mut self,
|
||
query_engine_state: &<a class="struct" href="../../query_engine/struct.QueryEngineState.html" title="struct query::query_engine::QueryEngineState">QueryEngineState</a>,
|
||
subquery_expr: &SubqueryExpr,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><LogicalPlan></h4></section><section id="method.prom_aggr_expr_to_plan" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#334-452">Source</a><h4 class="code-header">async fn <a href="#method.prom_aggr_expr_to_plan" class="fn">prom_aggr_expr_to_plan</a>(
|
||
&mut self,
|
||
query_engine_state: &<a class="struct" href="../../query_engine/struct.QueryEngineState.html" title="struct query::query_engine::QueryEngineState">QueryEngineState</a>,
|
||
aggr_expr: &AggregateExpr,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><LogicalPlan></h4></section><details class="toggle method-toggle" open><summary><section id="method.prom_topk_bottomk_to_plan" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#455-541">Source</a><h4 class="code-header">async fn <a href="#method.prom_topk_bottomk_to_plan" class="fn">prom_topk_bottomk_to_plan</a>(
|
||
&mut self,
|
||
aggr_expr: &AggregateExpr,
|
||
input: LogicalPlan,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><LogicalPlan></h4></section></summary><div class="docblock"><p>Create logical plan for PromQL topk and bottomk expr.</p>
|
||
</div></details><section id="method.prom_unary_expr_to_plan" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#543-554">Source</a><h4 class="code-header">async fn <a href="#method.prom_unary_expr_to_plan" class="fn">prom_unary_expr_to_plan</a>(
|
||
&mut self,
|
||
query_engine_state: &<a class="struct" href="../../query_engine/struct.QueryEngineState.html" title="struct query::query_engine::QueryEngineState">QueryEngineState</a>,
|
||
unary_expr: &UnaryExpr,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><LogicalPlan></h4></section><section id="method.prom_binary_expr_to_plan" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#556-777">Source</a><h4 class="code-header">async fn <a href="#method.prom_binary_expr_to_plan" class="fn">prom_binary_expr_to_plan</a>(
|
||
&mut self,
|
||
query_engine_state: &<a class="struct" href="../../query_engine/struct.QueryEngineState.html" title="struct query::query_engine::QueryEngineState">QueryEngineState</a>,
|
||
binary_expr: &PromBinaryExpr,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><LogicalPlan></h4></section><section id="method.project_binary_join_side" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#779-838">Source</a><h4 class="code-header">fn <a href="#method.project_binary_join_side" class="fn">project_binary_join_side</a>(
|
||
&mut self,
|
||
input: LogicalPlan,
|
||
table_ref: &TableReference,
|
||
context: &<a class="struct" href="struct.PromPlannerContext.html" title="struct query::promql::planner::PromPlannerContext">PromPlannerContext</a>,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><LogicalPlan></h4></section><section id="method.prom_number_lit_to_plan" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#840-861">Source</a><h4 class="code-header">fn <a href="#method.prom_number_lit_to_plan" class="fn">prom_number_lit_to_plan</a>(
|
||
&mut self,
|
||
number_literal: &NumberLiteral,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><LogicalPlan></h4></section><section id="method.prom_string_lit_to_plan" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#863-884">Source</a><h4 class="code-header">fn <a href="#method.prom_string_lit_to_plan" class="fn">prom_string_lit_to_plan</a>(
|
||
&mut self,
|
||
string_literal: &StringLiteral,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><LogicalPlan></h4></section><section id="method.prom_vector_selector_to_plan" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#886-933">Source</a><h4 class="code-header">async fn <a href="#method.prom_vector_selector_to_plan" class="fn">prom_vector_selector_to_plan</a>(
|
||
&mut self,
|
||
vector_selector: &VectorSelector,
|
||
timestamp_fn: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><LogicalPlan></h4></section><details class="toggle method-toggle" open><summary><section id="method.create_timestamp_func_plan" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#956-970">Source</a><h4 class="code-header">fn <a href="#method.create_timestamp_func_plan" class="fn">create_timestamp_func_plan</a>(
|
||
&mut self,
|
||
normalize: LogicalPlan,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><LogicalPlan></h4></section></summary><div class="docblock"><p>Builds a projection plan for the PromQL <code>timestamp()</code> function.
|
||
Projects the time index column as the value column for each row.</p>
|
||
<h5 id="arguments"><a class="doc-anchor" href="#arguments">§</a>Arguments</h5>
|
||
<ul>
|
||
<li><code>normalize</code> - Input [<code>LogicalPlan</code>] for the normalized series.</li>
|
||
</ul>
|
||
<h5 id="returns"><a class="doc-anchor" href="#returns">§</a>Returns</h5>
|
||
<p>Returns a <a href="../error/type.Result.html" title="type query::promql::error::Result"><code>Result<LogicalPlan></code></a> where the resulting logical plan projects the timestamp
|
||
column as the value column, along with the original tag and time index columns.</p>
|
||
<h5 id="timestamp-vs-time-function"><a class="doc-anchor" href="#timestamp-vs-time-function">§</a>Timestamp vs. Time Function</h5>
|
||
<ul>
|
||
<li>
|
||
<p><strong>Timestamp Function (<code>timestamp()</code>)</strong>: In PromQL, the <code>timestamp()</code> function returns the
|
||
timestamp (time index) of each sample as the value column.</p>
|
||
</li>
|
||
<li>
|
||
<p><strong>Time Function (<code>time()</code>)</strong>: The <code>time()</code> function returns the evaluation time of the query
|
||
as a scalar value.</p>
|
||
</li>
|
||
</ul>
|
||
<h5 id="side-effects"><a class="doc-anchor" href="#side-effects">§</a>Side Effects</h5>
|
||
<p>Updates the planner context’s field columns to the timestamp column name.</p>
|
||
</div></details><section id="method.prom_matrix_selector_to_plan" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#972-1015">Source</a><h4 class="code-header">async fn <a href="#method.prom_matrix_selector_to_plan" class="fn">prom_matrix_selector_to_plan</a>(
|
||
&mut self,
|
||
matrix_selector: &MatrixSelector,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><LogicalPlan></h4></section><section id="method.prom_call_expr_to_plan" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#1017-1106">Source</a><h4 class="code-header">async fn <a href="#method.prom_call_expr_to_plan" class="fn">prom_call_expr_to_plan</a>(
|
||
&mut self,
|
||
query_engine_state: &<a class="struct" href="../../query_engine/struct.QueryEngineState.html" title="struct query::query_engine::QueryEngineState">QueryEngineState</a>,
|
||
call_expr: &Call,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><LogicalPlan></h4></section><section id="method.prom_ext_expr_to_plan" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#1108-1160">Source</a><h4 class="code-header">async fn <a href="#method.prom_ext_expr_to_plan" class="fn">prom_ext_expr_to_plan</a>(
|
||
&mut self,
|
||
query_engine_state: &<a class="struct" href="../../query_engine/struct.QueryEngineState.html" title="struct query::query_engine::QueryEngineState">QueryEngineState</a>,
|
||
ext_expr: &Extension,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><LogicalPlan></h4></section><details class="toggle method-toggle" open><summary><section id="method.preprocess_label_matchers" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#1172-1226">Source</a><h4 class="code-header">fn <a href="#method.preprocess_label_matchers" class="fn">preprocess_label_matchers</a>(
|
||
&mut self,
|
||
label_matchers: &Matchers,
|
||
name: &<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>>,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><Matchers></h4></section></summary><div class="docblock"><p>Extract metric name from <code>__name__</code> matcher and set it into <a href="struct.PromPlannerContext.html" title="struct query::promql::planner::PromPlannerContext">PromPlannerContext</a>.
|
||
Returns a new [Matchers] that doesn’t contain metric name matcher.</p>
|
||
<p>Each call to this function means new selector is started. Thus, the context will be reset
|
||
at first.</p>
|
||
<p>Name rule:</p>
|
||
<ul>
|
||
<li>if <code>name</code> is some, then the matchers MUST NOT contain <code>__name__</code> matcher.</li>
|
||
<li>if <code>name</code> is none, then the matchers MAY contain NONE OR MULTIPLE <code>__name__</code> matchers.</li>
|
||
</ul>
|
||
</div></details><section id="method.selector_to_series_normalize_plan" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#1228-1397">Source</a><h4 class="code-header">async fn <a href="#method.selector_to_series_normalize_plan" class="fn">selector_to_series_normalize_plan</a>(
|
||
&mut self,
|
||
offset: &<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Offset>,
|
||
label_matchers: Matchers,
|
||
is_range_selector: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><LogicalPlan></h4></section><details class="toggle method-toggle" open><summary><section id="method.agg_modifier_to_col" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#1405-1485">Source</a><h4 class="code-header">fn <a href="#method.agg_modifier_to_col" class="fn">agg_modifier_to_col</a>(
|
||
&mut self,
|
||
input_schema: &DFSchemaRef,
|
||
modifier: &<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><LabelModifier>,
|
||
update_ctx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><DfExpr>></h4></section></summary><div class="docblock"><p>Convert [LabelModifier] to [Column] exprs for aggregation.
|
||
Timestamp column and tag columns will be included.</p>
|
||
<h5 id="side-effect"><a class="doc-anchor" href="#side-effect">§</a>Side effect</h5>
|
||
<p>This method will also change the tag columns in ctx if <code>update_ctx</code> is true.</p>
|
||
</div></details><section id="method.matchers_to_expr" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#1488-1561">Source</a><h4 class="code-header">pub fn <a href="#method.matchers_to_expr" class="fn">matchers_to_expr</a>(
|
||
label_matchers: Matchers,
|
||
table_schema: &DFSchemaRef,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><DfExpr>></h4></section><section id="method.find_case_sensitive_column" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#1563-1572">Source</a><h4 class="code-header">fn <a href="#method.find_case_sensitive_column" class="fn">find_case_sensitive_column</a>(
|
||
schema: &DFSchemaRef,
|
||
column: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>,
|
||
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>></h4></section><section id="method.table_from_source" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#1574-1584">Source</a><h4 class="code-header">fn <a href="#method.table_from_source" class="fn">table_from_source</a>(&self, source: &<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><dyn TableSource>) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><TableRef></h4></section><section id="method.table_ref" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#1586-1601">Source</a><h4 class="code-header">fn <a href="#method.table_ref" class="fn">table_ref</a>(&self) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><TableReference></h4></section><section id="method.build_time_index_filter" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#1603-1670">Source</a><h4 class="code-header">fn <a href="#method.build_time_index_filter" class="fn">build_time_index_filter</a>(
|
||
&self,
|
||
offset_duration: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><DfExpr>></h4></section><details class="toggle method-toggle" open><summary><section id="method.create_table_scan_plan" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#1676-1896">Source</a><h4 class="code-header">async fn <a href="#method.create_table_scan_plan" class="fn">create_table_scan_plan</a>(
|
||
&mut self,
|
||
table_ref: TableReference,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><LogicalPlan></h4></section></summary><div class="docblock"><p>Create a table scan plan and a filter plan with given filter.</p>
|
||
<h5 id="panic"><a class="doc-anchor" href="#panic">§</a>Panic</h5>
|
||
<p>If the filter is empty</p>
|
||
</div></details><section id="method.collect_row_key_tag_columns_from_plan" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#1898-1928">Source</a><h4 class="code-header">fn <a href="#method.collect_row_key_tag_columns_from_plan" class="fn">collect_row_key_tag_columns_from_plan</a>(
|
||
&self,
|
||
plan: &LogicalPlan,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/set/struct.BTreeSet.html" title="struct alloc::collections::btree::set::BTreeSet">BTreeSet</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>>></h4></section><section id="method.ensure_tag_columns_available" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#1930-2035">Source</a><h4 class="code-header">fn <a href="#method.ensure_tag_columns_available" class="fn">ensure_tag_columns_available</a>(
|
||
&self,
|
||
plan: LogicalPlan,
|
||
required_tags: &<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/set/struct.BTreeSet.html" title="struct alloc::collections::btree::set::BTreeSet">BTreeSet</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>>,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><LogicalPlan></h4></section><section id="method.refresh_tag_columns_from_schema" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#2037-2053">Source</a><h4 class="code-header">fn <a href="#method.refresh_tag_columns_from_schema" class="fn">refresh_tag_columns_from_schema</a>(&mut self, schema: &DFSchemaRef)</h4></section><details class="toggle method-toggle" open><summary><section id="method.setup_context" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#2058-2105">Source</a><h4 class="code-header">async fn <a href="#method.setup_context" class="fn">setup_context</a>(&mut self) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><LogicalPlan>></h4></section></summary><div class="docblock"><p>Setup <a href="struct.PromPlannerContext.html" title="struct query::promql::planner::PromPlannerContext">PromPlannerContext</a>’s state fields.</p>
|
||
<p>Returns a logical plan for an empty metric.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.setup_context_for_empty_metric" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#2109-2131">Source</a><h4 class="code-header">fn <a href="#method.setup_context_for_empty_metric" class="fn">setup_context_for_empty_metric</a>(&mut self) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><LogicalPlan></h4></section></summary><div class="docblock"><p>Setup <a href="struct.PromPlannerContext.html" title="struct query::promql::planner::PromPlannerContext">PromPlannerContext</a>’s state fields for a non existent table
|
||
without any rows.</p>
|
||
</div></details><section id="method.create_function_args" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#2134-2167">Source</a><h4 class="code-header">fn <a href="#method.create_function_args" class="fn">create_function_args</a>(&self, args: &[<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><PromExpr>]) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><<a class="struct" href="struct.FunctionArgs.html" title="struct query::promql::planner::FunctionArgs">FunctionArgs</a>></h4></section><details class="toggle method-toggle" open><summary><section id="method.create_function_expr" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#2174-2504">Source</a><h4 class="code-header">fn <a href="#method.create_function_expr" class="fn">create_function_expr</a>(
|
||
&mut self,
|
||
func: &Function,
|
||
other_input_exprs: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><DfExpr>,
|
||
query_engine_state: &<a class="struct" href="../../query_engine/struct.QueryEngineState.html" title="struct query::query_engine::QueryEngineState">QueryEngineState</a>,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><(<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><DfExpr>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>>)></h4></section></summary><div class="docblock"><p>Creates function expressions for projection and returns the expressions and new tags.</p>
|
||
<h5 id="side-effects-1"><a class="doc-anchor" href="#side-effects-1">§</a>Side Effects</h5>
|
||
<p>This method will update <a href="struct.PromPlannerContext.html" title="struct query::promql::planner::PromPlannerContext">PromPlannerContext</a>’s fields and tags if needed.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.validate_label_name" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#2509-2520">Source</a><h4 class="code-header">fn <a href="#method.validate_label_name" class="fn">validate_label_name</a>(label_name: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>></h4></section></summary><div class="docblock"><p>Validate label name according to Prometheus specification.
|
||
Label names must match the regex: [a-zA-Z_][a-zA-Z0-9_]*
|
||
Additionally, label names starting with double underscores are reserved for internal use.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.build_regexp_replace_label_expr" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#2523-2622">Source</a><h4 class="code-header">fn <a href="#method.build_regexp_replace_label_expr" class="fn">build_regexp_replace_label_expr</a>(
|
||
&self,
|
||
other_input_exprs: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/vec_deque/struct.VecDeque.html" title="struct alloc::collections::vec_deque::VecDeque">VecDeque</a><DfExpr>,
|
||
query_engine_state: &<a class="struct" href="../../query_engine/struct.QueryEngineState.html" title="struct query::query_engine::QueryEngineState">QueryEngineState</a>,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><(DfExpr, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>)>></h4></section></summary><div class="docblock"><p>Build expr for <code>label_replace</code> function</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.build_concat_labels_expr" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#2625-2708">Source</a><h4 class="code-header">fn <a href="#method.build_concat_labels_expr" class="fn">build_concat_labels_expr</a>(
|
||
other_input_exprs: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/vec_deque/struct.VecDeque.html" title="struct alloc::collections::vec_deque::VecDeque">VecDeque</a><DfExpr>,
|
||
ctx: &<a class="struct" href="struct.PromPlannerContext.html" title="struct query::promql::planner::PromPlannerContext">PromPlannerContext</a>,
|
||
query_engine_state: &<a class="struct" href="../../query_engine/struct.QueryEngineState.html" title="struct query::query_engine::QueryEngineState">QueryEngineState</a>,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><(DfExpr, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>)></h4></section></summary><div class="docblock"><p>Build expr for <code>label_join</code> function</p>
|
||
</div></details><section id="method.create_time_index_column_expr" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#2710-2717">Source</a><h4 class="code-header">fn <a href="#method.create_time_index_column_expr" class="fn">create_time_index_column_expr</a>(&self) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><DfExpr></h4></section><section id="method.create_tag_column_exprs" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#2719-2726">Source</a><h4 class="code-header">fn <a href="#method.create_tag_column_exprs" class="fn">create_tag_column_exprs</a>(&self) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><DfExpr>></h4></section><section id="method.create_field_column_exprs" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#2728-2735">Source</a><h4 class="code-header">fn <a href="#method.create_field_column_exprs" class="fn">create_field_column_exprs</a>(&self) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><DfExpr>></h4></section><section id="method.create_tag_and_time_index_column_sort_exprs" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#2737-2746">Source</a><h4 class="code-header">fn <a href="#method.create_tag_and_time_index_column_sort_exprs" class="fn">create_tag_and_time_index_column_sort_exprs</a>(&self) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><SortExpr>></h4></section><section id="method.create_field_columns_sort_exprs" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#2748-2754">Source</a><h4 class="code-header">fn <a href="#method.create_field_columns_sort_exprs" class="fn">create_field_columns_sort_exprs</a>(&self, asc: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><SortExpr></h4></section><section id="method.create_sort_exprs_by_tags" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#2756-2777">Source</a><h4 class="code-header">fn <a href="#method.create_sort_exprs_by_tags" class="fn">create_sort_exprs_by_tags</a>(
|
||
func: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>,
|
||
tags: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><DfExpr>,
|
||
asc: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><SortExpr>></h4></section><section id="method.create_empty_values_filter_expr" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#2779-2796">Source</a><h4 class="code-header">fn <a href="#method.create_empty_values_filter_expr" class="fn">create_empty_values_filter_expr</a>(&self) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><DfExpr></h4></section><details class="toggle method-toggle" open><summary><section id="method.create_aggregate_exprs" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#2813-2902">Source</a><h4 class="code-header">fn <a href="#method.create_aggregate_exprs" class="fn">create_aggregate_exprs</a>(
|
||
&mut self,
|
||
op: TokenType,
|
||
param: &<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><PromExpr>>,
|
||
input_plan: &LogicalPlan,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><(<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><DfExpr>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><DfExpr>)></h4></section></summary><div class="docblock"><p>Creates a set of DataFusion <code>DfExpr::AggregateFunction</code> expressions for each value column using the specified aggregate function.</p>
|
||
<h5 id="side-effects-2"><a class="doc-anchor" href="#side-effects-2">§</a>Side Effects</h5>
|
||
<p>This method modifies the value columns in the context by replacing them with the new columns
|
||
created by the aggregate function application.</p>
|
||
<h5 id="returns-1"><a class="doc-anchor" href="#returns-1">§</a>Returns</h5>
|
||
<p>Returns a tuple of <code>(aggregate_expressions, previous_field_expressions)</code> where:</p>
|
||
<ul>
|
||
<li><code>aggregate_expressions</code>: Expressions that apply the aggregate function to the original fields</li>
|
||
<li><code>previous_field_expressions</code>: Original field expressions before aggregation. This is non-empty
|
||
only when the operation is <code>count_values</code>, as this operation requires preserving the original
|
||
values for grouping.</li>
|
||
</ul>
|
||
</div></details><section id="method.get_param_value_as_str" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#2904-2918">Source</a><h4 class="code-header">fn <a href="#method.get_param_value_as_str" class="fn">get_param_value_as_str</a>(
|
||
op: TokenType,
|
||
param: &<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><PromExpr>>,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><&<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>></h4></section><section id="method.get_param_as_literal_expr" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#2920-2964">Source</a><h4 class="code-header">fn <a href="#method.get_param_as_literal_expr" class="fn">get_param_as_literal_expr</a>(
|
||
param: &<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><PromExpr>>,
|
||
op: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><TokenType>,
|
||
expected_type: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><ArrowDataType>,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><DfExpr></h4></section><details class="toggle method-toggle" open><summary><section id="method.create_window_exprs" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#2968-3021">Source</a><h4 class="code-header">fn <a href="#method.create_window_exprs" class="fn">create_window_exprs</a>(
|
||
&mut self,
|
||
op: TokenType,
|
||
group_exprs: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><DfExpr>,
|
||
input_plan: &LogicalPlan,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><DfExpr>></h4></section></summary><div class="docblock"><p>Create [DfExpr::WindowFunction] expr for each value column with given window function.</p>
|
||
</div></details><details class="toggle method-toggle deprecated" open><summary><section id="method.try_build_float_literal" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#3027-3043">Source</a><h4 class="code-header">fn <a href="#method.try_build_float_literal" class="fn">try_build_float_literal</a>(expr: &PromExpr) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f64.html">f64</a>></h4></section><span class="item-info"><div class="stab deprecated"><span class="emoji">👎</span><span>Deprecated: <p>use <code>Self::get_param_as_literal_expr</code> instead. This is only for <code>create_histogram_plan</code></p>
|
||
</span></div></span></summary><div class="docblock"><p>Try to build a <a href="https://doc.rust-lang.org/nightly/std/primitive.f64.html" title="primitive f64">f64</a> from [PromExpr].</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.create_histogram_plan" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#3046-3113">Source</a><h4 class="code-header">async fn <a href="#method.create_histogram_plan" class="fn">create_histogram_plan</a>(
|
||
&mut self,
|
||
args: &PromFunctionArgs,
|
||
query_engine_state: &<a class="struct" href="../../query_engine/struct.QueryEngineState.html" title="struct query::query_engine::QueryEngineState">QueryEngineState</a>,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><LogicalPlan></h4></section></summary><div class="docblock"><p>Create a <a href="constant.SPECIAL_HISTOGRAM_QUANTILE.html" title="constant query::promql::planner::SPECIAL_HISTOGRAM_QUANTILE">SPECIAL_HISTOGRAM_QUANTILE</a> plan.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.create_vector_plan" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#3116-3143">Source</a><h4 class="code-header">async fn <a href="#method.create_vector_plan" class="fn">create_vector_plan</a>(
|
||
&mut self,
|
||
args: &PromFunctionArgs,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><LogicalPlan></h4></section></summary><div class="docblock"><p>Create a <a href="constant.SPECIAL_VECTOR_FUNCTION.html" title="constant query::promql::planner::SPECIAL_VECTOR_FUNCTION">SPECIAL_VECTOR_FUNCTION</a> plan</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.create_scalar_plan" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#3146-3188">Source</a><h4 class="code-header">async fn <a href="#method.create_scalar_plan" class="fn">create_scalar_plan</a>(
|
||
&mut self,
|
||
args: &PromFunctionArgs,
|
||
query_engine_state: &<a class="struct" href="../../query_engine/struct.QueryEngineState.html" title="struct query::query_engine::QueryEngineState">QueryEngineState</a>,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><LogicalPlan></h4></section></summary><div class="docblock"><p>Create a <a href="constant.SCALAR_FUNCTION.html" title="constant query::promql::planner::SCALAR_FUNCTION">SCALAR_FUNCTION</a> plan</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.create_absent_plan" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#3191-3253">Source</a><h4 class="code-header">async fn <a href="#method.create_absent_plan" class="fn">create_absent_plan</a>(
|
||
&mut self,
|
||
args: &PromFunctionArgs,
|
||
query_engine_state: &<a class="struct" href="../../query_engine/struct.QueryEngineState.html" title="struct query::query_engine::QueryEngineState">QueryEngineState</a>,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><LogicalPlan></h4></section></summary><div class="docblock"><p>Create a <a href="constant.SPECIAL_ABSENT_FUNCTION.html" title="constant query::promql::planner::SPECIAL_ABSENT_FUNCTION">SPECIAL_ABSENT_FUNCTION</a> plan</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.try_build_literal_expr" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#3257-3305">Source</a><h4 class="code-header">fn <a href="#method.try_build_literal_expr" class="fn">try_build_literal_expr</a>(expr: &PromExpr) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><DfExpr></h4></section></summary><div class="docblock"><p>Try to build a DataFusion Literal Expression from PromQL Expr, return
|
||
<code>None</code> if the input is not a literal expression.</p>
|
||
</div></details><section id="method.try_build_special_time_expr_with_context" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#3307-3320">Source</a><h4 class="code-header">fn <a href="#method.try_build_special_time_expr_with_context" class="fn">try_build_special_time_expr_with_context</a>(
|
||
&self,
|
||
expr: &PromExpr,
|
||
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><DfExpr></h4></section><details class="toggle method-toggle" open><summary><section id="method.prom_token_to_binary_expr_builder" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#3325-3381">Source</a><h4 class="code-header">fn <a href="#method.prom_token_to_binary_expr_builder" class="fn">prom_token_to_binary_expr_builder</a>(
|
||
token: TokenType,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(DfExpr, DfExpr) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><DfExpr>>></h4></section></summary><div class="docblock"><p>Return a lambda to build binary expression from token.
|
||
Because some binary operator are function in DataFusion like <code>atan2</code> or <code>^</code>.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_token_a_comparison_op" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#3384-3394">Source</a><h4 class="code-header">fn <a href="#method.is_token_a_comparison_op" class="fn">is_token_a_comparison_op</a>(token: TokenType) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Check if the given op is a <a href="https://prometheus.io/docs/prometheus/latest/querying/operators/#comparison-binary-operators">comparison operator</a>.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_token_a_set_op" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#3397-3404">Source</a><h4 class="code-header">fn <a href="#method.is_token_a_set_op" class="fn">is_token_a_set_op</a>(token: TokenType) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Check if the given op is a set operator (UNION, INTERSECT and EXCEPT in SQL).</p>
|
||
</div></details><section id="method.align_binary_field_columns" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#3406-3419">Source</a><h4 class="code-header">fn <a href="#method.align_binary_field_columns" class="fn">align_binary_field_columns</a><'a>(
|
||
left_field_columns: &'a [<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>],
|
||
right_field_columns: &'a [<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>],
|
||
) -> (<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><(&'a <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, &'a <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>)>)</h4></section><section id="method.plan_has_tsid_column" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#3421-3426">Source</a><h4 class="code-header">fn <a href="#method.plan_has_tsid_column" class="fn">plan_has_tsid_column</a>(plan: &LogicalPlan) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section><section id="method.optional_tsid_projection" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#3428-3439">Source</a><h4 class="code-header">fn <a href="#method.optional_tsid_projection" class="fn">optional_tsid_projection</a>(
|
||
schema: &DFSchemaRef,
|
||
table_ref: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&TableReference>,
|
||
keep_tsid: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
|
||
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><DfExpr></h4></section><section id="method.binary_join_key_columns" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#3441-3495">Source</a><h4 class="code-header">fn <a href="#method.binary_join_key_columns" class="fn">binary_join_key_columns</a>(
|
||
&self,
|
||
left: &LogicalPlan,
|
||
right: &LogicalPlan,
|
||
only_join_time_index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
|
||
modifier: &<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><BinModifier>,
|
||
) -> (<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/set/struct.BTreeSet.html" title="struct alloc::collections::btree::set::BTreeSet">BTreeSet</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/set/struct.BTreeSet.html" title="struct alloc::collections::btree::set::BTreeSet">BTreeSet</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>>)</h4></section><details class="toggle method-toggle" open><summary><section id="method.join_on_non_field_columns" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#3500-3551">Source</a><h4 class="code-header">fn <a href="#method.join_on_non_field_columns" class="fn">join_on_non_field_columns</a>(
|
||
&self,
|
||
left: LogicalPlan,
|
||
right: LogicalPlan,
|
||
left_table_ref: TableReference,
|
||
right_table_ref: TableReference,
|
||
left_time_index_column: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>>,
|
||
right_time_index_column: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>>,
|
||
only_join_time_index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
|
||
modifier: &<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><BinModifier>,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><LogicalPlan></h4></section></summary><div class="docblock"><p>Build a inner join on time index column and tag columns to concat two logical plans.
|
||
When <code>only_join_time_index == true</code> we only join on the time index, because these two plan may not have the same tag columns</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.set_op_on_non_field_columns" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#3554-3708">Source</a><h4 class="code-header">fn <a href="#method.set_op_on_non_field_columns" class="fn">set_op_on_non_field_columns</a>(
|
||
&mut self,
|
||
left: LogicalPlan,
|
||
right: LogicalPlan,
|
||
left_context: <a class="struct" href="struct.PromPlannerContext.html" title="struct query::promql::planner::PromPlannerContext">PromPlannerContext</a>,
|
||
right_context: <a class="struct" href="struct.PromPlannerContext.html" title="struct query::promql::planner::PromPlannerContext">PromPlannerContext</a>,
|
||
op: TokenType,
|
||
modifier: &<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><BinModifier>,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><LogicalPlan></h4></section></summary><div class="docblock"><p>Build a set operator (AND/OR/UNLESS)</p>
|
||
</div></details><section id="method.or_operator" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#3712-3911">Source</a><h4 class="code-header">fn <a href="#method.or_operator" class="fn">or_operator</a>(
|
||
&mut self,
|
||
left: LogicalPlan,
|
||
right: LogicalPlan,
|
||
left_tag_cols_set: <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/set/struct.HashSet.html" title="struct std::collections::hash::set::HashSet">HashSet</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>>,
|
||
right_tag_cols_set: <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/set/struct.HashSet.html" title="struct std::collections::hash::set::HashSet">HashSet</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>>,
|
||
left_context: <a class="struct" href="struct.PromPlannerContext.html" title="struct query::promql::planner::PromPlannerContext">PromPlannerContext</a>,
|
||
right_context: <a class="struct" href="struct.PromPlannerContext.html" title="struct query::promql::planner::PromPlannerContext">PromPlannerContext</a>,
|
||
modifier: &<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><BinModifier>,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><LogicalPlan></h4></section><details class="toggle method-toggle" open><summary><section id="method.projection_for_each_field_column" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#3920-3969">Source</a><h4 class="code-header">fn <a href="#method.projection_for_each_field_column" class="fn">projection_for_each_field_column</a><F>(
|
||
&mut self,
|
||
input: LogicalPlan,
|
||
name_to_expr: F,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><LogicalPlan><div class="where">where
|
||
F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><DfExpr>,</div></h4></section></summary><div class="docblock"><p>Build a projection that project and perform operation expr for every value columns.
|
||
Non-value columns (tag and timestamp) will be preserved in the projection.</p>
|
||
<h5 id="side-effect-1"><a class="doc-anchor" href="#side-effect-1">§</a>Side effect</h5>
|
||
<p>This function will update the value columns in the context. Those new column names
|
||
don’t contains qualifier.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.filter_on_field_column" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#3973-3995">Source</a><h4 class="code-header">fn <a href="#method.filter_on_field_column" class="fn">filter_on_field_column</a><F>(
|
||
&self,
|
||
input: LogicalPlan,
|
||
name_to_expr: F,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><LogicalPlan><div class="where">where
|
||
F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><DfExpr>,</div></h4></section></summary><div class="docblock"><p>Build a filter plan that filter on value column. Notice that only one value column
|
||
is expected.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.date_part_on_time_index" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#3999-4014">Source</a><h4 class="code-header">fn <a href="#method.date_part_on_time_index" class="fn">date_part_on_time_index</a>(&self, date_part: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><DfExpr></h4></section></summary><div class="docblock"><p>Generate an expr like <code>date_part("hour", <TIME_INDEX>)</code>. Caller should ensure the
|
||
time index column in context is set</p>
|
||
</div></details><section id="method.strip_tsid_column" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#4016-4038">Source</a><h4 class="code-header">fn <a href="#method.strip_tsid_column" class="fn">strip_tsid_column</a>(&self, plan: LogicalPlan) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><LogicalPlan></h4></section><details class="toggle method-toggle" open><summary><section id="method.apply_alias" class="method"><a class="src rightside" href="../../../src/query/promql/planner.rs.html#4041-4063">Source</a><h4 class="code-header">fn <a href="#method.apply_alias" class="fn">apply_alias</a>(
|
||
&mut self,
|
||
plan: LogicalPlan,
|
||
alias_name: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type query::promql::error::Result">Result</a><LogicalPlan></h4></section></summary><div class="docblock"><p>Apply an alias to the query result by adding a projection with the alias name</p>
|
||
</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-PromPlanner" class="impl"><a href="#impl-Freeze-for-PromPlanner" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.PromPlanner.html" title="struct query::promql::planner::PromPlanner">PromPlanner</a></h3></section><section id="impl-RefUnwindSafe-for-PromPlanner" class="impl"><a href="#impl-RefUnwindSafe-for-PromPlanner" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.PromPlanner.html" title="struct query::promql::planner::PromPlanner">PromPlanner</a></h3></section><section id="impl-Send-for-PromPlanner" class="impl"><a href="#impl-Send-for-PromPlanner" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.PromPlanner.html" title="struct query::promql::planner::PromPlanner">PromPlanner</a></h3></section><section id="impl-Sync-for-PromPlanner" class="impl"><a href="#impl-Sync-for-PromPlanner" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.PromPlanner.html" title="struct query::promql::planner::PromPlanner">PromPlanner</a></h3></section><section id="impl-Unpin-for-PromPlanner" class="impl"><a href="#impl-Unpin-for-PromPlanner" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.PromPlanner.html" title="struct query::promql::planner::PromPlanner">PromPlanner</a></h3></section><section id="impl-UnsafeUnpin-for-PromPlanner" class="impl"><a href="#impl-UnsafeUnpin-for-PromPlanner" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.UnsafeUnpin.html" title="trait core::marker::UnsafeUnpin">UnsafeUnpin</a> for <a class="struct" href="struct.PromPlanner.html" title="struct query::promql::planner::PromPlanner">PromPlanner</a></h3></section><section id="impl-UnwindSafe-for-PromPlanner" class="impl"><a href="#impl-UnwindSafe-for-PromPlanner" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.PromPlanner.html" title="struct query::promql::planner::PromPlanner">PromPlanner</a></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">Source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
|
||
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#142">Source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#212">Source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T<div class="where">where
|
||
T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#214">Source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#221">Source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<div class="where">where
|
||
T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#222">Source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Conv-for-T" class="impl"><a href="#impl-Conv-for-T" class="anchor">§</a><h3 class="code-header">impl<T> Conv for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.conv" class="method trait-impl"><a href="#method.conv" class="anchor">§</a><h4 class="code-header">fn <a class="fn">conv</a><T>(self) -> T<div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>,</div></h4></section></summary><div class='docblock'>Converts <code>self</code> into <code>T</code> using <code>Into<T></code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FmtForward-for-T" class="impl"><a href="#impl-FmtForward-for-T" class="anchor">§</a><h3 class="code-header">impl<T> FmtForward for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt_binary" class="method trait-impl"><a href="#method.fmt_binary" class="anchor">§</a><h4 class="code-header">fn <a class="fn">fmt_binary</a>(self) -> FmtBinary<Self><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Binary.html" title="trait core::fmt::Binary">Binary</a>,</div></h4></section></summary><div class='docblock'>Causes <code>self</code> to use its <code>Binary</code> implementation when <code>Debug</code>-formatted.</div></details><details class="toggle method-toggle" open><summary><section id="method.fmt_display" class="method trait-impl"><a href="#method.fmt_display" class="anchor">§</a><h4 class="code-header">fn <a class="fn">fmt_display</a>(self) -> FmtDisplay<Self><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a>,</div></h4></section></summary><div class='docblock'>Causes <code>self</code> to use its <code>Display</code> implementation when
|
||
<code>Debug</code>-formatted.</div></details><details class="toggle method-toggle" open><summary><section id="method.fmt_lower_exp" class="method trait-impl"><a href="#method.fmt_lower_exp" class="anchor">§</a><h4 class="code-header">fn <a class="fn">fmt_lower_exp</a>(self) -> FmtLowerExp<Self><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.LowerExp.html" title="trait core::fmt::LowerExp">LowerExp</a>,</div></h4></section></summary><div class='docblock'>Causes <code>self</code> to use its <code>LowerExp</code> implementation when
|
||
<code>Debug</code>-formatted.</div></details><details class="toggle method-toggle" open><summary><section id="method.fmt_lower_hex" class="method trait-impl"><a href="#method.fmt_lower_hex" class="anchor">§</a><h4 class="code-header">fn <a class="fn">fmt_lower_hex</a>(self) -> FmtLowerHex<Self><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.LowerHex.html" title="trait core::fmt::LowerHex">LowerHex</a>,</div></h4></section></summary><div class='docblock'>Causes <code>self</code> to use its <code>LowerHex</code> implementation when
|
||
<code>Debug</code>-formatted.</div></details><details class="toggle method-toggle" open><summary><section id="method.fmt_octal" class="method trait-impl"><a href="#method.fmt_octal" class="anchor">§</a><h4 class="code-header">fn <a class="fn">fmt_octal</a>(self) -> FmtOctal<Self><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Octal.html" title="trait core::fmt::Octal">Octal</a>,</div></h4></section></summary><div class='docblock'>Causes <code>self</code> to use its <code>Octal</code> implementation when <code>Debug</code>-formatted.</div></details><details class="toggle method-toggle" open><summary><section id="method.fmt_pointer" class="method trait-impl"><a href="#method.fmt_pointer" class="anchor">§</a><h4 class="code-header">fn <a class="fn">fmt_pointer</a>(self) -> FmtPointer<Self><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Pointer.html" title="trait core::fmt::Pointer">Pointer</a>,</div></h4></section></summary><div class='docblock'>Causes <code>self</code> to use its <code>Pointer</code> implementation when
|
||
<code>Debug</code>-formatted.</div></details><details class="toggle method-toggle" open><summary><section id="method.fmt_upper_exp" class="method trait-impl"><a href="#method.fmt_upper_exp" class="anchor">§</a><h4 class="code-header">fn <a class="fn">fmt_upper_exp</a>(self) -> FmtUpperExp<Self><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.UpperExp.html" title="trait core::fmt::UpperExp">UpperExp</a>,</div></h4></section></summary><div class='docblock'>Causes <code>self</code> to use its <code>UpperExp</code> implementation when
|
||
<code>Debug</code>-formatted.</div></details><details class="toggle method-toggle" open><summary><section id="method.fmt_upper_hex" class="method trait-impl"><a href="#method.fmt_upper_hex" class="anchor">§</a><h4 class="code-header">fn <a class="fn">fmt_upper_hex</a>(self) -> FmtUpperHex<Self><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.UpperHex.html" title="trait core::fmt::UpperHex">UpperHex</a>,</div></h4></section></summary><div class='docblock'>Causes <code>self</code> to use its <code>UpperHex</code> implementation when
|
||
<code>Debug</code>-formatted.</div></details><details class="toggle method-toggle" open><summary><section id="method.fmt_list" class="method trait-impl"><a href="#method.fmt_list" class="anchor">§</a><h4 class="code-header">fn <a class="fn">fmt_list</a>(self) -> FmtList<Self><div class="where">where
|
||
&'a Self: for<'a> <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>,</div></h4></section></summary><div class='docblock'>Formats each item in a sequence. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#785">Source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#788">Source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FutureExt-for-T" class="impl"><a href="#impl-FutureExt-for-T" class="anchor">§</a><h3 class="code-header">impl<T> FutureExt for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_context" class="method trait-impl"><a href="#method.with_context" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_context</a>(self, otel_cx: Context) -> WithContext<Self></h4></section></summary><div class='docblock'>Attaches the provided <a href="Context"><code>Context</code></a> to this type, returning a <code>WithContext</code>
|
||
wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_current_context" class="method trait-impl"><a href="#method.with_current_context" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_current_context</a>(self) -> WithContext<Self></h4></section></summary><div class='docblock'>Attaches the current <a href="Context"><code>Context</code></a> to this type, returning a <code>WithContext</code>
|
||
wrapper. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Instrument-for-T" class="impl"><a href="#impl-Instrument-for-T" class="anchor">§</a><h3 class="code-header">impl<T> Instrument for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.instrument" class="method trait-impl"><a href="#method.instrument" class="anchor">§</a><h4 class="code-header">fn <a class="fn">instrument</a>(self, span: Span) -> Instrumented<Self></h4></section></summary><div class='docblock'>Instruments this type with the provided [<code>Span</code>], returning an
|
||
<code>Instrumented</code> wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.in_current_span" class="method trait-impl"><a href="#method.in_current_span" class="anchor">§</a><h4 class="code-header">fn <a class="fn">in_current_span</a>(self) -> Instrumented<Self></h4></section></summary><div class='docblock'>Instruments this type with the <a href="super::Span::current()">current</a> <a href="crate::Span"><code>Span</code></a>, returning an
|
||
<code>Instrumented</code> wrapper. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#767-769">Source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T<div class="where">where
|
||
U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#777">Source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -> U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
|
||
<p>That is, this conversion is whatever the implementation of
|
||
<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for U</code> chooses to do.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-IntoEither-for-T" class="impl"><a class="src rightside" href="https://docs.rs/either/1/src/either/into_either.rs.html#64">Source</a><a href="#impl-IntoEither-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://docs.rs/either/1/either/into_either/trait.IntoEither.html" title="trait either::into_either::IntoEither">IntoEither</a> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_either" class="method trait-impl"><a class="src rightside" href="https://docs.rs/either/1/src/either/into_either.rs.html#29">Source</a><a href="#method.into_either" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/either/1/either/into_either/trait.IntoEither.html#method.into_either" class="fn">into_either</a>(self, into_left: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -> <a class="enum" href="https://docs.rs/either/1/either/enum.Either.html" title="enum either::Either">Either</a><Self, Self></h4></section></summary><div class='docblock'>Converts <code>self</code> into a <a href="https://docs.rs/either/1/either/enum.Either.html#variant.Left" title="variant either::Either::Left"><code>Left</code></a> variant of <a href="https://docs.rs/either/1/either/enum.Either.html" title="enum either::Either"><code>Either<Self, Self></code></a>
|
||
if <code>into_left</code> is <code>true</code>.
|
||
Converts <code>self</code> into a <a href="https://docs.rs/either/1/either/enum.Either.html#variant.Right" title="variant either::Either::Right"><code>Right</code></a> variant of <a href="https://docs.rs/either/1/either/enum.Either.html" title="enum either::Either"><code>Either<Self, Self></code></a>
|
||
otherwise. <a href="https://docs.rs/either/1/either/into_either/trait.IntoEither.html#method.into_either">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_either_with" class="method trait-impl"><a class="src rightside" href="https://docs.rs/either/1/src/either/into_either.rs.html#55-57">Source</a><a href="#method.into_either_with" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/either/1/either/into_either/trait.IntoEither.html#method.into_either_with" class="fn">into_either_with</a><F>(self, into_left: F) -> <a class="enum" href="https://docs.rs/either/1/either/enum.Either.html" title="enum either::Either">Either</a><Self, Self><div class="where">where
|
||
F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&Self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,</div></h4></section></summary><div class='docblock'>Converts <code>self</code> into a <a href="https://docs.rs/either/1/either/enum.Either.html#variant.Left" title="variant either::Either::Left"><code>Left</code></a> variant of <a href="https://docs.rs/either/1/either/enum.Either.html" title="enum either::Either"><code>Either<Self, Self></code></a>
|
||
if <code>into_left(&self)</code> returns <code>true</code>.
|
||
Converts <code>self</code> into a <a href="https://docs.rs/either/1/either/enum.Either.html#variant.Right" title="variant either::Either::Right"><code>Right</code></a> variant of <a href="https://docs.rs/either/1/either/enum.Either.html" title="enum either::Either"><code>Either<Self, Self></code></a>
|
||
otherwise. <a href="https://docs.rs/either/1/either/into_either/trait.IntoEither.html#method.into_either_with">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-IntoRequest%3CT%3E-for-T" class="impl"><a href="#impl-IntoRequest%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T> IntoRequest<T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_request" class="method trait-impl"><a href="#method.into_request" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_request</a>(self) -> Request<T></h4></section></summary><div class='docblock'>Wrap the input message <code>T</code> in a <code>tonic::Request</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-IntoRequest%3CT%3E-for-T-1" class="impl"><a href="#impl-IntoRequest%3CT%3E-for-T-1" class="anchor">§</a><h3 class="code-header">impl<T> IntoRequest<T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_request-1" class="method trait-impl"><a href="#method.into_request-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_request</a>(self) -> Request<T></h4></section></summary><div class='docblock'>Wrap the input message <code>T</code> in a <code>tonic::Request</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-LayerExt%3CL%3E-for-L" class="impl"><a href="#impl-LayerExt%3CL%3E-for-L" class="anchor">§</a><h3 class="code-header">impl<L> LayerExt<L> for L</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.named_layer" class="method trait-impl"><a href="#method.named_layer" class="anchor">§</a><h4 class="code-header">fn <a class="fn">named_layer</a><S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S><div class="where">where
|
||
L: Layer<S>,</div></h4></section></summary><div class='docblock'>Applies the layer to a service and wraps it in [<code>Layered</code>].</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-LayerExt%3CL%3E-for-L-1" class="impl"><a href="#impl-LayerExt%3CL%3E-for-L-1" class="anchor">§</a><h3 class="code-header">impl<L> LayerExt<L> for L</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.named_layer-1" class="method trait-impl"><a href="#method.named_layer-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">named_layer</a><S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S><div class="where">where
|
||
L: Layer<S>,</div></h4></section></summary><div class='docblock'>Applies the layer to a service and wraps it in [<code>Layered</code>].</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Pipe-for-T" class="impl"><a href="#impl-Pipe-for-T" class="anchor">§</a><h3 class="code-header">impl<T> Pipe for T<div class="where">where
|
||
T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.pipe" class="method trait-impl"><a href="#method.pipe" class="anchor">§</a><h4 class="code-header">fn <a class="fn">pipe</a><R>(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(Self) -> R) -> R<div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Pipes by value. This is generally the method you want to use. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.pipe_ref" class="method trait-impl"><a href="#method.pipe_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">pipe_ref</a><'a, R>(&'a self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&'a Self) -> R) -> R<div class="where">where
|
||
R: 'a,</div></h4></section></summary><div class='docblock'>Borrows <code>self</code> and passes that borrow into the pipe function. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.pipe_ref_mut" class="method trait-impl"><a href="#method.pipe_ref_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">pipe_ref_mut</a><'a, R>(&'a mut self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&'a mut Self) -> R) -> R<div class="where">where
|
||
R: 'a,</div></h4></section></summary><div class='docblock'>Mutably borrows <code>self</code> and passes that borrow into the pipe function. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.pipe_borrow" class="method trait-impl"><a href="#method.pipe_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">pipe_borrow</a><'a, B, R>(&'a self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a B</a>) -> R) -> R<div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><B>,
|
||
B: 'a + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
|
||
R: 'a,</div></h4></section></summary><div class='docblock'>Borrows <code>self</code>, then passes <code>self.borrow()</code> into the pipe function. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.pipe_borrow_mut" class="method trait-impl"><a href="#method.pipe_borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">pipe_borrow_mut</a><'a, B, R>(
|
||
&'a mut self,
|
||
func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut B</a>) -> R,
|
||
) -> R<div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><B>,
|
||
B: 'a + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
|
||
R: 'a,</div></h4></section></summary><div class='docblock'>Mutably borrows <code>self</code>, then passes <code>self.borrow_mut()</code> into the pipe
|
||
function. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.pipe_as_ref" class="method trait-impl"><a href="#method.pipe_as_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">pipe_as_ref</a><'a, U, R>(&'a self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a U</a>) -> R) -> R<div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><U>,
|
||
U: 'a + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
|
||
R: 'a,</div></h4></section></summary><div class='docblock'>Borrows <code>self</code>, then passes <code>self.as_ref()</code> into the pipe function.</div></details><details class="toggle method-toggle" open><summary><section id="method.pipe_as_mut" class="method trait-impl"><a href="#method.pipe_as_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">pipe_as_mut</a><'a, U, R>(&'a mut self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut U</a>) -> R) -> R<div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a><U>,
|
||
U: 'a + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
|
||
R: 'a,</div></h4></section></summary><div class='docblock'>Mutably borrows <code>self</code>, then passes <code>self.as_mut()</code> into the pipe
|
||
function.</div></details><details class="toggle method-toggle" open><summary><section id="method.pipe_deref" class="method trait-impl"><a href="#method.pipe_deref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">pipe_deref</a><'a, T, R>(&'a self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a T</a>) -> R) -> R<div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a><Target = T>,
|
||
T: 'a + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
|
||
R: 'a,</div></h4></section></summary><div class='docblock'>Borrows <code>self</code>, then passes <code>self.deref()</code> into the pipe function.</div></details><details class="toggle method-toggle" open><summary><section id="method.pipe_deref_mut" class="method trait-impl"><a href="#method.pipe_deref_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">pipe_deref_mut</a><'a, T, R>(
|
||
&'a mut self,
|
||
func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut T</a>) -> R,
|
||
) -> R<div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.DerefMut.html" title="trait core::ops::deref::DerefMut">DerefMut</a><Target = T> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>,
|
||
T: 'a + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
|
||
R: 'a,</div></h4></section></summary><div class='docblock'>Mutably borrows <code>self</code>, then passes <code>self.deref_mut()</code> into the pipe
|
||
function.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Pointable-for-T" class="impl"><a href="#impl-Pointable-for-T" class="anchor">§</a><h3 class="code-header">impl<T> Pointable for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.ALIGN" class="associatedconstant trait-impl"><a href="#associatedconstant.ALIGN" class="anchor">§</a><h4 class="code-header">const <a class="constant">ALIGN</a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class='docblock'>The alignment of pointer.</div></details><details class="toggle" open><summary><section id="associatedtype.Init" class="associatedtype trait-impl"><a href="#associatedtype.Init" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Init</a> = T</h4></section></summary><div class='docblock'>The type for initializers.</div></details><details class="toggle method-toggle" open><summary><section id="method.init" class="method trait-impl"><a href="#method.init" class="anchor">§</a><h4 class="code-header">unsafe fn <a class="fn">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class='docblock'>Initializes a with the given initializer. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.deref" class="method trait-impl"><a href="#method.deref" class="anchor">§</a><h4 class="code-header">unsafe fn <a class="fn">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a T</a></h4></section></summary><div class='docblock'>Dereferences the given pointer. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.deref_mut" class="method trait-impl"><a href="#method.deref_mut" class="anchor">§</a><h4 class="code-header">unsafe fn <a class="fn">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut T</a></h4></section></summary><div class='docblock'>Mutably dereferences the given pointer. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.drop" class="method trait-impl"><a href="#method.drop" class="anchor">§</a><h4 class="code-header">unsafe fn <a class="fn">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</h4></section></summary><div class='docblock'>Drops the object pointed to by the given pointer. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-PolicyExt-for-T" class="impl"><a href="#impl-PolicyExt-for-T" class="anchor">§</a><h3 class="code-header">impl<T> PolicyExt for T<div class="where">where
|
||
T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.and" class="method trait-impl"><a href="#method.and" class="anchor">§</a><h4 class="code-header">fn <a class="fn">and</a><P, B, E>(self, other: P) -> And<T, P><div class="where">where
|
||
T: Policy<B, E>,
|
||
P: Policy<B, E>,</div></h4></section></summary><div class='docblock'>Create a new <code>Policy</code> that returns [<code>Action::Follow</code>] only if <code>self</code> and <code>other</code> return
|
||
<code>Action::Follow</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.or" class="method trait-impl"><a href="#method.or" class="anchor">§</a><h4 class="code-header">fn <a class="fn">or</a><P, B, E>(self, other: P) -> Or<T, P><div class="where">where
|
||
T: Policy<B, E>,
|
||
P: Policy<B, E>,</div></h4></section></summary><div class='docblock'>Create a new <code>Policy</code> that returns [<code>Action::Follow</code>] if either <code>self</code> or <code>other</code> returns
|
||
<code>Action::Follow</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Same-for-T" class="impl"><a class="src rightside" href="https://docs.rs/typenum/1.18.0/src/typenum/type_operators.rs.html#34">Source</a><a href="#impl-Same-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://docs.rs/typenum/1.18.0/typenum/type_operators/trait.Same.html" title="trait typenum::type_operators::Same">Same</a> for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a class="src rightside" href="https://docs.rs/typenum/1.18.0/src/typenum/type_operators.rs.html#35">Source</a><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://docs.rs/typenum/1.18.0/typenum/type_operators/trait.Same.html#associatedtype.Output" class="associatedtype">Output</a> = T</h4></section></summary><div class='docblock'>Should always be <code>Self</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ServiceExt-for-T" class="impl"><a href="#impl-ServiceExt-for-T" class="anchor">§</a><h3 class="code-header">impl<T> ServiceExt for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.propagate_header" class="method trait-impl"><a href="#method.propagate_header" class="anchor">§</a><h4 class="code-header">fn <a class="fn">propagate_header</a>(self, header: HeaderName) -> PropagateHeader<Self><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Propagate a header from the request to the response. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.add_extension" class="method trait-impl"><a href="#method.add_extension" class="anchor">§</a><h4 class="code-header">fn <a class="fn">add_extension</a><T>(self, value: T) -> AddExtension<Self, T><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Add some shareable value to <a href="https://docs.rs/http/latest/http/struct.Extensions.html">request extensions</a>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.map_request_body" class="method trait-impl"><a href="#method.map_request_body" class="anchor">§</a><h4 class="code-header">fn <a class="fn">map_request_body</a><F>(self, f: F) -> MapRequestBody<Self, F><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Apply a transformation to the request body. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.map_response_body" class="method trait-impl"><a href="#method.map_response_body" class="anchor">§</a><h4 class="code-header">fn <a class="fn">map_response_body</a><F>(self, f: F) -> MapResponseBody<Self, F><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Apply a transformation to the response body. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.compression" class="method trait-impl"><a href="#method.compression" class="anchor">§</a><h4 class="code-header">fn <a class="fn">compression</a>(self) -> Compression<Self><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Compresses response bodies. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.decompression" class="method trait-impl"><a href="#method.decompression" class="anchor">§</a><h4 class="code-header">fn <a class="fn">decompression</a>(self) -> Decompression<Self><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Decompress response bodies. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.trace_for_http" class="method trait-impl"><a href="#method.trace_for_http" class="anchor">§</a><h4 class="code-header">fn <a class="fn">trace_for_http</a>(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>High level tracing that classifies responses using HTTP status codes. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.trace_for_grpc" class="method trait-impl"><a href="#method.trace_for_grpc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">trace_for_grpc</a>(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>High level tracing that classifies responses using gRPC headers. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.follow_redirects" class="method trait-impl"><a href="#method.follow_redirects" class="anchor">§</a><h4 class="code-header">fn <a class="fn">follow_redirects</a>(self) -> FollowRedirect<Self><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Follow redirect resposes using the <a href="crate::follow_redirect::policy::Standard"><code>Standard</code></a> policy. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.sensitive_headers" class="method trait-impl"><a href="#method.sensitive_headers" class="anchor">§</a><h4 class="code-header">fn <a class="fn">sensitive_headers</a>(
|
||
self,
|
||
headers: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = HeaderName>,
|
||
) -> SetSensitiveRequestHeaders<SetSensitiveResponseHeaders<Self>><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Mark headers as <a href="https://docs.rs/http/latest/http/header/struct.HeaderValue.html#method.set_sensitive">sensitive</a> on both requests and responses. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.sensitive_request_headers" class="method trait-impl"><a href="#method.sensitive_request_headers" class="anchor">§</a><h4 class="code-header">fn <a class="fn">sensitive_request_headers</a>(
|
||
self,
|
||
headers: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = HeaderName>,
|
||
) -> SetSensitiveRequestHeaders<Self><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Mark headers as <a href="https://docs.rs/http/latest/http/header/struct.HeaderValue.html#method.set_sensitive">sensitive</a> on requests. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.sensitive_response_headers" class="method trait-impl"><a href="#method.sensitive_response_headers" class="anchor">§</a><h4 class="code-header">fn <a class="fn">sensitive_response_headers</a>(
|
||
self,
|
||
headers: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = HeaderName>,
|
||
) -> SetSensitiveResponseHeaders<Self><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Mark headers as <a href="https://docs.rs/http/latest/http/header/struct.HeaderValue.html#method.set_sensitive">sensitive</a> on responses. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.override_request_header" class="method trait-impl"><a href="#method.override_request_header" class="anchor">§</a><h4 class="code-header">fn <a class="fn">override_request_header</a><M>(
|
||
self,
|
||
header_name: HeaderName,
|
||
make: M,
|
||
) -> SetRequestHeader<Self, M><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Insert a header into the request. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.append_request_header" class="method trait-impl"><a href="#method.append_request_header" class="anchor">§</a><h4 class="code-header">fn <a class="fn">append_request_header</a><M>(
|
||
self,
|
||
header_name: HeaderName,
|
||
make: M,
|
||
) -> SetRequestHeader<Self, M><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Append a header into the request. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.insert_request_header_if_not_present" class="method trait-impl"><a href="#method.insert_request_header_if_not_present" class="anchor">§</a><h4 class="code-header">fn <a class="fn">insert_request_header_if_not_present</a><M>(
|
||
self,
|
||
header_name: HeaderName,
|
||
make: M,
|
||
) -> SetRequestHeader<Self, M><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Insert a header into the request, if the header is not already present. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.override_response_header" class="method trait-impl"><a href="#method.override_response_header" class="anchor">§</a><h4 class="code-header">fn <a class="fn">override_response_header</a><M>(
|
||
self,
|
||
header_name: HeaderName,
|
||
make: M,
|
||
) -> SetResponseHeader<Self, M><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Insert a header into the response. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.append_response_header" class="method trait-impl"><a href="#method.append_response_header" class="anchor">§</a><h4 class="code-header">fn <a class="fn">append_response_header</a><M>(
|
||
self,
|
||
header_name: HeaderName,
|
||
make: M,
|
||
) -> SetResponseHeader<Self, M><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Append a header into the response. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.insert_response_header_if_not_present" class="method trait-impl"><a href="#method.insert_response_header_if_not_present" class="anchor">§</a><h4 class="code-header">fn <a class="fn">insert_response_header_if_not_present</a><M>(
|
||
self,
|
||
header_name: HeaderName,
|
||
make: M,
|
||
) -> SetResponseHeader<Self, M><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Insert a header into the response, if the header is not already present. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.set_request_id" class="method trait-impl"><a href="#method.set_request_id" class="anchor">§</a><h4 class="code-header">fn <a class="fn">set_request_id</a><M>(
|
||
self,
|
||
header_name: HeaderName,
|
||
make_request_id: M,
|
||
) -> SetRequestId<Self, M><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
|
||
M: MakeRequestId,</div></h4></section></summary><div class='docblock'>Add request id header and extension. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.set_x_request_id" class="method trait-impl"><a href="#method.set_x_request_id" class="anchor">§</a><h4 class="code-header">fn <a class="fn">set_x_request_id</a><M>(self, make_request_id: M) -> SetRequestId<Self, M><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
|
||
M: MakeRequestId,</div></h4></section></summary><div class='docblock'>Add request id header and extension, using <code>x-request-id</code> as the header name. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.propagate_request_id" class="method trait-impl"><a href="#method.propagate_request_id" class="anchor">§</a><h4 class="code-header">fn <a class="fn">propagate_request_id</a>(
|
||
self,
|
||
header_name: HeaderName,
|
||
) -> PropagateRequestId<Self><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Propgate request ids from requests to responses. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.propagate_x_request_id" class="method trait-impl"><a href="#method.propagate_x_request_id" class="anchor">§</a><h4 class="code-header">fn <a class="fn">propagate_x_request_id</a>(self) -> PropagateRequestId<Self><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Propgate request ids from requests to responses, using <code>x-request-id</code> as the header name. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.catch_panic" class="method trait-impl"><a href="#method.catch_panic" class="anchor">§</a><h4 class="code-header">fn <a class="fn">catch_panic</a>(self) -> CatchPanic<Self, DefaultResponseForPanic><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Catch panics and convert them into <code>500 Internal Server</code> responses. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.request_body_limit" class="method trait-impl"><a href="#method.request_body_limit" class="anchor">§</a><h4 class="code-header">fn <a class="fn">request_body_limit</a>(self, limit: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> RequestBodyLimit<Self><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Intercept requests with over-sized payloads and convert them into
|
||
<code>413 Payload Too Large</code> responses. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.trim_trailing_slash" class="method trait-impl"><a href="#method.trim_trailing_slash" class="anchor">§</a><h4 class="code-header">fn <a class="fn">trim_trailing_slash</a>(self) -> NormalizePath<Self><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Remove trailing slashes from paths. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.append_trailing_slash" class="method trait-impl"><a href="#method.append_trailing_slash" class="anchor">§</a><h4 class="code-header">fn <a class="fn">append_trailing_slash</a>(self) -> NormalizePath<Self><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Append trailing slash to paths. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-SupersetOf%3CSS%3E-for-SP" class="impl"><a href="#impl-SupersetOf%3CSS%3E-for-SP" class="anchor">§</a><h3 class="code-header">impl<SS, SP> SupersetOf<SS> for SP<div class="where">where
|
||
SS: SubsetOf<SP>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.to_subset" class="method trait-impl"><a href="#method.to_subset" class="anchor">§</a><h4 class="code-header">fn <a class="fn">to_subset</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><SS></h4></section></summary><div class='docblock'>The inverse inclusion map: attempts to construct <code>self</code> from the equivalent element of its
|
||
superset. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_in_subset" class="method trait-impl"><a href="#method.is_in_subset" class="anchor">§</a><h4 class="code-header">fn <a class="fn">is_in_subset</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Checks if <code>self</code> is actually part of its subset <code>T</code> (and can be converted to it).</div></details><details class="toggle method-toggle" open><summary><section id="method.to_subset_unchecked" class="method trait-impl"><a href="#method.to_subset_unchecked" class="anchor">§</a><h4 class="code-header">fn <a class="fn">to_subset_unchecked</a>(&self) -> SS</h4></section></summary><div class='docblock'>Use with care! Same as <code>self.to_subset</code> but without any property checks. Always succeeds.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_subset" class="method trait-impl"><a href="#method.from_subset" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_subset</a>(element: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&SS</a>) -> SP</h4></section></summary><div class='docblock'>The inclusion map: converts <code>self</code> to the equivalent element of its superset.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Tap-for-T" class="impl"><a href="#impl-Tap-for-T" class="anchor">§</a><h3 class="code-header">impl<T> Tap for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.tap" class="method trait-impl"><a href="#method.tap" class="anchor">§</a><h4 class="code-header">fn <a class="fn">tap</a>(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&Self)) -> Self</h4></section></summary><div class='docblock'>Immutable access to a value. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.tap_mut" class="method trait-impl"><a href="#method.tap_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">tap_mut</a>(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&mut Self)) -> Self</h4></section></summary><div class='docblock'>Mutable access to a value. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.tap_borrow" class="method trait-impl"><a href="#method.tap_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">tap_borrow</a><B>(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&B</a>)) -> Self<div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><B>,
|
||
B: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Immutable access to the <code>Borrow<B></code> of a value. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.tap_borrow_mut" class="method trait-impl"><a href="#method.tap_borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">tap_borrow_mut</a><B>(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut B</a>)) -> Self<div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><B>,
|
||
B: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Mutable access to the <code>BorrowMut<B></code> of a value. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.tap_ref" class="method trait-impl"><a href="#method.tap_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">tap_ref</a><R>(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&R</a>)) -> Self<div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><R>,
|
||
R: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Immutable access to the <code>AsRef<R></code> view of a value. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.tap_ref_mut" class="method trait-impl"><a href="#method.tap_ref_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">tap_ref_mut</a><R>(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut R</a>)) -> Self<div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a><R>,
|
||
R: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Mutable access to the <code>AsMut<R></code> view of a value. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.tap_deref" class="method trait-impl"><a href="#method.tap_deref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">tap_deref</a><T>(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&T</a>)) -> Self<div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a><Target = T>,
|
||
T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Immutable access to the <code>Deref::Target</code> of a value. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.tap_deref_mut" class="method trait-impl"><a href="#method.tap_deref_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">tap_deref_mut</a><T>(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut T</a>)) -> Self<div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.DerefMut.html" title="trait core::ops::deref::DerefMut">DerefMut</a><Target = T> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>,
|
||
T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Mutable access to the <code>Deref::Target</code> of a value. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.tap_dbg" class="method trait-impl"><a href="#method.tap_dbg" class="anchor">§</a><h4 class="code-header">fn <a class="fn">tap_dbg</a>(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&Self)) -> Self</h4></section></summary><div class='docblock'>Calls <code>.tap()</code> only in debug builds, and is erased in release builds.</div></details><details class="toggle method-toggle" open><summary><section id="method.tap_mut_dbg" class="method trait-impl"><a href="#method.tap_mut_dbg" class="anchor">§</a><h4 class="code-header">fn <a class="fn">tap_mut_dbg</a>(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&mut Self)) -> Self</h4></section></summary><div class='docblock'>Calls <code>.tap_mut()</code> only in debug builds, and is erased in release
|
||
builds.</div></details><details class="toggle method-toggle" open><summary><section id="method.tap_borrow_dbg" class="method trait-impl"><a href="#method.tap_borrow_dbg" class="anchor">§</a><h4 class="code-header">fn <a class="fn">tap_borrow_dbg</a><B>(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&B</a>)) -> Self<div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><B>,
|
||
B: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Calls <code>.tap_borrow()</code> only in debug builds, and is erased in release
|
||
builds.</div></details><details class="toggle method-toggle" open><summary><section id="method.tap_borrow_mut_dbg" class="method trait-impl"><a href="#method.tap_borrow_mut_dbg" class="anchor">§</a><h4 class="code-header">fn <a class="fn">tap_borrow_mut_dbg</a><B>(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut B</a>)) -> Self<div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><B>,
|
||
B: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Calls <code>.tap_borrow_mut()</code> only in debug builds, and is erased in release
|
||
builds.</div></details><details class="toggle method-toggle" open><summary><section id="method.tap_ref_dbg" class="method trait-impl"><a href="#method.tap_ref_dbg" class="anchor">§</a><h4 class="code-header">fn <a class="fn">tap_ref_dbg</a><R>(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&R</a>)) -> Self<div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><R>,
|
||
R: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Calls <code>.tap_ref()</code> only in debug builds, and is erased in release
|
||
builds.</div></details><details class="toggle method-toggle" open><summary><section id="method.tap_ref_mut_dbg" class="method trait-impl"><a href="#method.tap_ref_mut_dbg" class="anchor">§</a><h4 class="code-header">fn <a class="fn">tap_ref_mut_dbg</a><R>(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut R</a>)) -> Self<div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a><R>,
|
||
R: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Calls <code>.tap_ref_mut()</code> only in debug builds, and is erased in release
|
||
builds.</div></details><details class="toggle method-toggle" open><summary><section id="method.tap_deref_dbg" class="method trait-impl"><a href="#method.tap_deref_dbg" class="anchor">§</a><h4 class="code-header">fn <a class="fn">tap_deref_dbg</a><T>(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&T</a>)) -> Self<div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a><Target = T>,
|
||
T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Calls <code>.tap_deref()</code> only in debug builds, and is erased in release
|
||
builds.</div></details><details class="toggle method-toggle" open><summary><section id="method.tap_deref_mut_dbg" class="method trait-impl"><a href="#method.tap_deref_mut_dbg" class="anchor">§</a><h4 class="code-header">fn <a class="fn">tap_deref_mut_dbg</a><T>(self, func: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut T</a>)) -> Self<div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.DerefMut.html" title="trait core::ops::deref::DerefMut">DerefMut</a><Target = T> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>,
|
||
T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Calls <code>.tap_deref_mut()</code> only in debug builds, and is erased in release
|
||
builds.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryConv-for-T" class="impl"><a href="#impl-TryConv-for-T" class="anchor">§</a><h3 class="code-header">impl<T> TryConv for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.try_conv" class="method trait-impl"><a href="#method.try_conv" class="anchor">§</a><h4 class="code-header">fn <a class="fn">try_conv</a><T>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" title="type core::convert::TryInto::Error">Error</a>><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><T>,</div></h4></section></summary><div class='docblock'>Attempts to convert <code>self</code> into <code>T</code> using <code>TryInto<T></code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#827-829">Source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T<div class="where">where
|
||
U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#831">Source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#834">Source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#811-813">Source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T<div class="where">where
|
||
U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#815">Source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#818">Source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-VZip%3CV%3E-for-T" class="impl"><a href="#impl-VZip%3CV%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<V, T> VZip<V> for T<div class="where">where
|
||
V: MultiLane<T>,</div></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -> V</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-WithSubscriber-for-T" class="impl"><a href="#impl-WithSubscriber-for-T" class="anchor">§</a><h3 class="code-header">impl<T> WithSubscriber for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_subscriber" class="method trait-impl"><a href="#method.with_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_subscriber</a><S>(self, subscriber: S) -> WithDispatch<Self><div class="where">where
|
||
S: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><Dispatch>,</div></h4></section></summary><div class='docblock'>Attaches the provided <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
|
||
[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_current_subscriber" class="method trait-impl"><a href="#method.with_current_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_current_subscriber</a>(self) -> WithDispatch<Self></h4></section></summary><div class='docblock'>Attaches the current <a href="crate::dispatcher#setting-the-default-subscriber">default</a> <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
|
||
[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Within%3CG2%3E-for-G1" class="impl"><a href="#impl-Within%3CG2%3E-for-G1" class="anchor">§</a><h3 class="code-header">impl<G1, G2> Within<G2> for G1<div class="where">where
|
||
G2: Contains<G1>,</div></h3></section></summary><div class="impl-items"><section id="method.is_within" class="method trait-impl"><a href="#method.is_within" class="anchor">§</a><h4 class="code-header">fn <a class="fn">is_within</a>(&self, b: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&G2</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></div></details><section id="impl-Any-for-T-1" class="impl"><a href="#impl-Any-for-T-1" class="anchor">§</a><h3 class="code-header">impl<T> Any for T<div class="where">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a>,</div></h3></section><section id="impl-ErasedDestructor-for-T" class="impl"><a href="#impl-ErasedDestructor-for-T" class="anchor">§</a><h3 class="code-header">impl<T> ErasedDestructor for T<div class="where">where
|
||
T: 'static,</div></h3></section><section id="impl-MaybeSend-for-T" class="impl"><a href="#impl-MaybeSend-for-T" class="anchor">§</a><h3 class="code-header">impl<T> MaybeSend for T<div class="where">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-MaybeSend-for-T-1" class="impl"><a href="#impl-MaybeSend-for-T-1" class="anchor">§</a><h3 class="code-header">impl<T> MaybeSend for T<div class="where">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section></div></section></div></main></body></html> |