mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-01-07 22:02:56 +00:00
557 lines
196 KiB
HTML
557 lines
196 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="Background worker loop to handle requests."><title>RegionWorkerLoop in mito2::worker - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-e56847b5.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="mito2" data-themes="" data-resource-suffix="" data-rustdoc-version="1.92.0-nightly (fa3155a64 2025-09-30)" data-channel="nightly" data-search-js="search-e256b49e.js" data-stringdex-js="stringdex-828709d0.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-ce535bd0.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc struct"><!--[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="#">RegionWorkerLoop</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../mito2/index.html">mito2</a><span class="version">1.0.0-beta.4</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Region<wbr>Worker<wbr>Loop</a></h2><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.cache_manager" title="cache_manager">cache_manager</a></li><li><a href="#structfield.catchup_regions" title="catchup_regions">catchup_regions</a></li><li><a href="#structfield.compaction_scheduler" title="compaction_scheduler">compaction_scheduler</a></li><li><a href="#structfield.config" title="config">config</a></li><li><a href="#structfield.dropping_regions" title="dropping_regions">dropping_regions</a></li><li><a href="#structfield.file_ref_manager" title="file_ref_manager">file_ref_manager</a></li><li><a href="#structfield.flush_receiver" title="flush_receiver">flush_receiver</a></li><li><a href="#structfield.flush_scheduler" title="flush_scheduler">flush_scheduler</a></li><li><a href="#structfield.flush_semaphore" title="flush_semaphore">flush_semaphore</a></li><li><a href="#structfield.flush_sender" title="flush_sender">flush_sender</a></li><li><a href="#structfield.id" title="id">id</a></li><li><a href="#structfield.index_build_scheduler" title="index_build_scheduler">index_build_scheduler</a></li><li><a href="#structfield.intermediate_manager" title="intermediate_manager">intermediate_manager</a></li><li><a href="#structfield.last_periodical_check_millis" title="last_periodical_check_millis">last_periodical_check_millis</a></li><li><a href="#structfield.listener" title="listener">listener</a></li><li><a href="#structfield.memtable_builder_provider" title="memtable_builder_provider">memtable_builder_provider</a></li><li><a href="#structfield.object_store_manager" title="object_store_manager">object_store_manager</a></li><li><a href="#structfield.opening_regions" title="opening_regions">opening_regions</a></li><li><a href="#structfield.partition_expr_fetcher" title="partition_expr_fetcher">partition_expr_fetcher</a></li><li><a href="#structfield.puffin_manager_factory" title="puffin_manager_factory">puffin_manager_factory</a></li><li><a href="#structfield.purge_scheduler" title="purge_scheduler">purge_scheduler</a></li><li><a href="#structfield.receiver" title="receiver">receiver</a></li><li><a href="#structfield.region_count" title="region_count">region_count</a></li><li><a href="#structfield.region_edit_queues" title="region_edit_queues">region_edit_queues</a></li><li><a href="#structfield.regions" title="regions">regions</a></li><li><a href="#structfield.request_wait_time" title="request_wait_time">request_wait_time</a></li><li><a href="#structfield.running" title="running">running</a></li><li><a href="#structfield.schema_metadata_manager" title="schema_metadata_manager">schema_metadata_manager</a></li><li><a href="#structfield.sender" title="sender">sender</a></li><li><a href="#structfield.stalled_requests" title="stalled_requests">stalled_requests</a></li><li><a href="#structfield.stalling_count" title="stalling_count">stalling_count</a></li><li><a href="#structfield.time_provider" title="time_provider">time_provider</a></li><li><a href="#structfield.wal" title="wal">wal</a></li><li><a href="#structfield.write_buffer_manager" title="write_buffer_manager">write_buffer_manager</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.check_and_cleanup_region" title="check_and_cleanup_region">check_and_cleanup_region</a></li><li><a href="#method.clean" title="clean">clean</a></li><li><a href="#method.copy_region_from" title="copy_region_from">copy_region_from</a></li><li><a href="#method.enter_staging" title="enter_staging">enter_staging</a></li><li><a href="#method.fetch_and_remap_manifests" title="fetch_and_remap_manifests">fetch_and_remap_manifests</a></li><li><a href="#method.fetch_staging_manifest" title="fetch_staging_manifest">fetch_staging_manifest</a></li><li><a href="#method.flush_periodically" title="flush_periodically">flush_periodically</a></li><li><a href="#method.flush_regions_on_engine_full" title="flush_regions_on_engine_full">flush_regions_on_engine_full</a></li><li><a href="#method.handle_alter_region_options_fast" title="handle_alter_region_options_fast">handle_alter_region_options_fast</a></li><li><a href="#method.handle_alter_region_with_empty_memtable" title="handle_alter_region_with_empty_memtable">handle_alter_region_with_empty_memtable</a></li><li><a href="#method.handle_alter_request" title="handle_alter_request">handle_alter_request</a></li><li><a href="#method.handle_apply_staging_manifest_request" title="handle_apply_staging_manifest_request">handle_apply_staging_manifest_request</a></li><li><a href="#method.handle_background_notify" title="handle_background_notify">handle_background_notify</a></li><li><a href="#method.handle_build_index_request" title="handle_build_index_request">handle_build_index_request</a></li><li><a href="#method.handle_bulk_insert_batch" title="handle_bulk_insert_batch">handle_bulk_insert_batch</a></li><li><a href="#method.handle_catchup_request" title="handle_catchup_request">handle_catchup_request</a></li><li><a href="#method.handle_close_request" title="handle_close_request">handle_close_request</a></li><li><a href="#method.handle_compaction_failure" title="handle_compaction_failure">handle_compaction_failure</a></li><li><a href="#method.handle_compaction_finished" title="handle_compaction_finished">handle_compaction_finished</a></li><li><a href="#method.handle_compaction_request" title="handle_compaction_request">handle_compaction_request</a></li><li><a href="#method.handle_copy_region_from_finished" title="handle_copy_region_from_finished">handle_copy_region_from_finished</a></li><li><a href="#method.handle_copy_region_from_request" title="handle_copy_region_from_request">handle_copy_region_from_request</a></li><li><a href="#method.handle_create_request" title="handle_create_request">handle_create_request</a></li><li><a href="#method.handle_ddl_requests" title="handle_ddl_requests">handle_ddl_requests</a></li><li><a href="#method.handle_drop_request" title="handle_drop_request">handle_drop_request</a></li><li><a href="#method.handle_enter_staging" title="handle_enter_staging">handle_enter_staging</a></li><li><a href="#method.handle_enter_staging_request" title="handle_enter_staging_request">handle_enter_staging_request</a></li><li><a href="#method.handle_enter_staging_result" title="handle_enter_staging_result">handle_enter_staging_result</a></li><li><a href="#method.handle_flush_failed" title="handle_flush_failed">handle_flush_failed</a></li><li><a href="#method.handle_flush_finished" title="handle_flush_finished">handle_flush_finished</a></li><li><a href="#method.handle_flush_request" title="handle_flush_request">handle_flush_request</a></li><li><a href="#method.handle_index_build_failed" title="handle_index_build_failed">handle_index_build_failed</a></li><li><a href="#method.handle_index_build_finished" title="handle_index_build_finished">handle_index_build_finished</a></li><li><a href="#method.handle_index_build_stopped" title="handle_index_build_stopped">handle_index_build_stopped</a></li><li><a href="#method.handle_manifest_region_change" title="handle_manifest_region_change">handle_manifest_region_change</a></li><li><a href="#method.handle_manifest_region_change_result" title="handle_manifest_region_change_result">handle_manifest_region_change_result</a></li><li><a href="#method.handle_manifest_truncate_action" title="handle_manifest_truncate_action">handle_manifest_truncate_action</a></li><li><a href="#method.handle_open_request" title="handle_open_request">handle_open_request</a></li><li><a href="#method.handle_periodical_tasks" title="handle_periodical_tasks">handle_periodical_tasks</a></li><li><a href="#method.handle_rebuild_index" title="handle_rebuild_index">handle_rebuild_index</a></li><li><a href="#method.handle_region_edit" title="handle_region_edit">handle_region_edit</a></li><li><a href="#method.handle_region_edit_result" title="handle_region_edit_result">handle_region_edit_result</a></li><li><a href="#method.handle_region_stalled_requests" title="handle_region_stalled_requests">handle_region_stalled_requests</a></li><li><a href="#method.handle_region_sync" title="handle_region_sync">handle_region_sync</a></li><li><a href="#method.handle_remap_manifests_request" title="handle_remap_manifests_request">handle_remap_manifests_request</a></li><li><a href="#method.handle_requests" title="handle_requests">handle_requests</a></li><li><a href="#method.handle_stalled_requests" title="handle_stalled_requests">handle_stalled_requests</a></li><li><a href="#method.handle_truncate_request" title="handle_truncate_request">handle_truncate_request</a></li><li><a href="#method.handle_truncate_result" title="handle_truncate_result">handle_truncate_result</a></li><li><a href="#method.handle_write_requests" title="handle_write_requests">handle_write_requests</a></li><li><a href="#method.maybe_flush_worker" title="maybe_flush_worker">maybe_flush_worker</a></li><li><a href="#method.new_flush_task" title="new_flush_task">new_flush_task</a></li><li><a href="#method.new_index_build_task" title="new_index_build_task">new_index_build_task</a></li><li><a href="#method.notify_group" title="notify_group">notify_group</a></li><li><a href="#method.prepare_region_write_ctx" title="prepare_region_write_ctx">prepare_region_write_ctx</a></li><li><a href="#method.process_bulk_requests" title="process_bulk_requests">process_bulk_requests</a></li><li><a href="#method.process_write_requests" title="process_write_requests">process_write_requests</a></li><li><a href="#method.reject_region_stalled_requests" title="reject_region_stalled_requests">reject_region_stalled_requests</a></li><li><a href="#method.reject_stalled_requests" title="reject_stalled_requests">reject_stalled_requests</a></li><li><a href="#method.reopen_region" title="reopen_region">reopen_region</a></li><li><a href="#method.reopen_region_if_needed" title="reopen_region_if_needed">reopen_region_if_needed</a></li><li><a href="#method.run" title="run">run</a></li><li><a href="#method.schedule_compaction" title="schedule_compaction">schedule_compaction</a></li><li><a href="#method.set_role_state_gracefully" title="set_role_state_gracefully">set_role_state_gracefully</a></li><li><a href="#method.should_reject_write" title="should_reject_write">should_reject_write</a></li><li><a href="#method.update_region_staging_partition_expr" title="update_region_staging_partition_expr">update_region_staging_partition_expr</a></li><li><a href="#method.update_region_version" title="update_region_version">update_region_version</a></li><li><a href="#method.update_topic_latest_entry_id" title="update_topic_latest_entry_id">update_topic_latest_entry_id</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-RegionWorkerLoop%3CS%3E" title="!RefUnwindSafe">!RefUnwindSafe</a></li><li><a href="#impl-UnwindSafe-for-RegionWorkerLoop%3CS%3E" title="!UnwindSafe">!UnwindSafe</a></li><li><a href="#impl-Freeze-for-RegionWorkerLoop%3CS%3E" title="Freeze">Freeze</a></li><li><a href="#impl-Send-for-RegionWorkerLoop%3CS%3E" title="Send">Send</a></li><li><a href="#impl-Sync-for-RegionWorkerLoop%3CS%3E" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-RegionWorkerLoop%3CS%3E" title="Unpin">Unpin</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-Any-for-T-2" title="Any">Any</a></li><li><a href="#impl-AnySync-for-T" title="AnySync">AnySync</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-Convert%3CT%3E-for-V" title="Convert<T>">Convert<T></a></li><li><a href="#impl-Downcast-for-T" title="Downcast">Downcast</a></li><li><a href="#impl-DowncastSend-for-T" title="DowncastSend">DowncastSend</a></li><li><a href="#impl-DowncastSync-for-T" title="DowncastSync">DowncastSync</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-Fruit-for-T" title="Fruit">Fruit</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-LayerExt%3CL%3E-for-L" title="LayerExt<L>">LayerExt<L></a></li><li><a href="#impl-MaybeSend-for-T" 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 mito2::<wbr>worker</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"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">mito2</a>::<wbr><a href="index.html">worker</a></div><h1>Struct <span class="struct">Region<wbr>Worker<wbr>Loop</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/mito2/worker.rs.html#792-861">Source</a> </span></div><pre class="rust item-decl"><code>struct RegionWorkerLoop<S> {<details class="toggle type-contents-toggle"><summary class="hideme"><span>Show 34 fields</span></summary>
|
||
id: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>,
|
||
config: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../config/struct.MitoConfig.html" title="struct mito2::config::MitoConfig">MitoConfig</a>>,
|
||
regions: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../region/struct.RegionMap.html" title="struct mito2::region::RegionMap">RegionMap</a>>,
|
||
dropping_regions: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../region/struct.RegionMap.html" title="struct mito2::region::RegionMap">RegionMap</a>>,
|
||
opening_regions: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../region/struct.OpeningRegions.html" title="struct mito2::region::OpeningRegions">OpeningRegions</a>>,
|
||
catchup_regions: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../region/struct.CatchupRegions.html" title="struct mito2::region::CatchupRegions">CatchupRegions</a>>,
|
||
sender: Sender<<a class="struct" href="../request/struct.WorkerRequestWithTime.html" title="struct mito2::request::WorkerRequestWithTime">WorkerRequestWithTime</a>>,
|
||
receiver: Receiver<<a class="struct" href="../request/struct.WorkerRequestWithTime.html" title="struct mito2::request::WorkerRequestWithTime">WorkerRequestWithTime</a>>,
|
||
wal: <a class="struct" href="../wal/struct.Wal.html" title="struct mito2::wal::Wal">Wal</a><S>,
|
||
object_store_manager: ObjectStoreManagerRef,
|
||
running: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="https://doc.rust-lang.org/nightly/core/sync/atomic/struct.AtomicBool.html" title="struct core::sync::atomic::AtomicBool">AtomicBool</a>>,
|
||
memtable_builder_provider: <a class="struct" href="../memtable/struct.MemtableBuilderProvider.html" title="struct mito2::memtable::MemtableBuilderProvider">MemtableBuilderProvider</a>,
|
||
purge_scheduler: <a class="type" href="../schedule/scheduler/type.SchedulerRef.html" title="type mito2::schedule::scheduler::SchedulerRef">SchedulerRef</a>,
|
||
write_buffer_manager: <a class="type" href="../flush/type.WriteBufferManagerRef.html" title="type mito2::flush::WriteBufferManagerRef">WriteBufferManagerRef</a>,
|
||
index_build_scheduler: <a class="struct" href="../sst/index/struct.IndexBuildScheduler.html" title="struct mito2::sst::index::IndexBuildScheduler">IndexBuildScheduler</a>,
|
||
flush_scheduler: <a class="struct" href="../flush/struct.FlushScheduler.html" title="struct mito2::flush::FlushScheduler">FlushScheduler</a>,
|
||
compaction_scheduler: <a class="struct" href="../compaction/struct.CompactionScheduler.html" title="struct mito2::compaction::CompactionScheduler">CompactionScheduler</a>,
|
||
stalled_requests: <a class="struct" href="struct.StalledRequests.html" title="struct mito2::worker::StalledRequests">StalledRequests</a>,
|
||
listener: <a class="struct" href="struct.WorkerListener.html" title="struct mito2::worker::WorkerListener">WorkerListener</a>,
|
||
cache_manager: <a class="type" href="../cache/type.CacheManagerRef.html" title="type mito2::cache::CacheManagerRef">CacheManagerRef</a>,
|
||
puffin_manager_factory: <a class="struct" href="../sst/index/puffin_manager/struct.PuffinManagerFactory.html" title="struct mito2::sst::index::puffin_manager::PuffinManagerFactory">PuffinManagerFactory</a>,
|
||
intermediate_manager: <a class="struct" href="../sst/index/intermediate/struct.IntermediateManager.html" title="struct mito2::sst::index::intermediate::IntermediateManager">IntermediateManager</a>,
|
||
time_provider: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><dyn <a class="trait" href="../time_provider/trait.TimeProvider.html" title="trait mito2::time_provider::TimeProvider">TimeProvider</a>>,
|
||
last_periodical_check_millis: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a>,
|
||
flush_sender: Sender<<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>>,
|
||
flush_receiver: Receiver<<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>>,
|
||
stalling_count: IntGauge,
|
||
region_count: IntGauge,
|
||
request_wait_time: Histogram,
|
||
region_edit_queues: <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><RegionId, <a class="struct" href="handle_manifest/struct.RegionEditQueue.html" title="struct mito2::worker::handle_manifest::RegionEditQueue">RegionEditQueue</a>>,
|
||
schema_metadata_manager: SchemaMetadataManagerRef,
|
||
file_ref_manager: <a class="type" href="../sst/file_ref/type.FileReferenceManagerRef.html" title="type mito2::sst::file_ref::FileReferenceManagerRef">FileReferenceManagerRef</a>,
|
||
partition_expr_fetcher: <a class="type" href="../region/opener/type.PartitionExprFetcherRef.html" title="type mito2::region::opener::PartitionExprFetcherRef">PartitionExprFetcherRef</a>,
|
||
flush_semaphore: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><Semaphore>,
|
||
</details>}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Background worker loop to handle requests.</p>
|
||
</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.id" class="structfield section-header"><a href="#structfield.id" class="anchor field">§</a><code>id: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>Id of the worker.</p>
|
||
</div><span id="structfield.config" class="structfield section-header"><a href="#structfield.config" class="anchor field">§</a><code>config: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../config/struct.MitoConfig.html" title="struct mito2::config::MitoConfig">MitoConfig</a>></code></span><div class="docblock"><p>Engine config.</p>
|
||
</div><span id="structfield.regions" class="structfield section-header"><a href="#structfield.regions" class="anchor field">§</a><code>regions: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../region/struct.RegionMap.html" title="struct mito2::region::RegionMap">RegionMap</a>></code></span><div class="docblock"><p>Regions bound to the worker.</p>
|
||
</div><span id="structfield.dropping_regions" class="structfield section-header"><a href="#structfield.dropping_regions" class="anchor field">§</a><code>dropping_regions: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../region/struct.RegionMap.html" title="struct mito2::region::RegionMap">RegionMap</a>></code></span><div class="docblock"><p>Regions that are not yet fully dropped.</p>
|
||
</div><span id="structfield.opening_regions" class="structfield section-header"><a href="#structfield.opening_regions" class="anchor field">§</a><code>opening_regions: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../region/struct.OpeningRegions.html" title="struct mito2::region::OpeningRegions">OpeningRegions</a>></code></span><div class="docblock"><p>Regions that are opening.</p>
|
||
</div><span id="structfield.catchup_regions" class="structfield section-header"><a href="#structfield.catchup_regions" class="anchor field">§</a><code>catchup_regions: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../region/struct.CatchupRegions.html" title="struct mito2::region::CatchupRegions">CatchupRegions</a>></code></span><div class="docblock"><p>Regions that are catching up.</p>
|
||
</div><span id="structfield.sender" class="structfield section-header"><a href="#structfield.sender" class="anchor field">§</a><code>sender: Sender<<a class="struct" href="../request/struct.WorkerRequestWithTime.html" title="struct mito2::request::WorkerRequestWithTime">WorkerRequestWithTime</a>></code></span><div class="docblock"><p>Request sender.</p>
|
||
</div><span id="structfield.receiver" class="structfield section-header"><a href="#structfield.receiver" class="anchor field">§</a><code>receiver: Receiver<<a class="struct" href="../request/struct.WorkerRequestWithTime.html" title="struct mito2::request::WorkerRequestWithTime">WorkerRequestWithTime</a>></code></span><div class="docblock"><p>Request receiver.</p>
|
||
</div><span id="structfield.wal" class="structfield section-header"><a href="#structfield.wal" class="anchor field">§</a><code>wal: <a class="struct" href="../wal/struct.Wal.html" title="struct mito2::wal::Wal">Wal</a><S></code></span><div class="docblock"><p>WAL of the engine.</p>
|
||
</div><span id="structfield.object_store_manager" class="structfield section-header"><a href="#structfield.object_store_manager" class="anchor field">§</a><code>object_store_manager: ObjectStoreManagerRef</code></span><div class="docblock"><p>Manages object stores for manifest and SSTs.</p>
|
||
</div><span id="structfield.running" class="structfield section-header"><a href="#structfield.running" class="anchor field">§</a><code>running: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="https://doc.rust-lang.org/nightly/core/sync/atomic/struct.AtomicBool.html" title="struct core::sync::atomic::AtomicBool">AtomicBool</a>></code></span><div class="docblock"><p>Whether the worker thread is still running.</p>
|
||
</div><span id="structfield.memtable_builder_provider" class="structfield section-header"><a href="#structfield.memtable_builder_provider" class="anchor field">§</a><code>memtable_builder_provider: <a class="struct" href="../memtable/struct.MemtableBuilderProvider.html" title="struct mito2::memtable::MemtableBuilderProvider">MemtableBuilderProvider</a></code></span><div class="docblock"><p>Memtable builder provider for each region.</p>
|
||
</div><span id="structfield.purge_scheduler" class="structfield section-header"><a href="#structfield.purge_scheduler" class="anchor field">§</a><code>purge_scheduler: <a class="type" href="../schedule/scheduler/type.SchedulerRef.html" title="type mito2::schedule::scheduler::SchedulerRef">SchedulerRef</a></code></span><div class="docblock"><p>Background purge job scheduler.</p>
|
||
</div><span id="structfield.write_buffer_manager" class="structfield section-header"><a href="#structfield.write_buffer_manager" class="anchor field">§</a><code>write_buffer_manager: <a class="type" href="../flush/type.WriteBufferManagerRef.html" title="type mito2::flush::WriteBufferManagerRef">WriteBufferManagerRef</a></code></span><div class="docblock"><p>Engine write buffer manager.</p>
|
||
</div><span id="structfield.index_build_scheduler" class="structfield section-header"><a href="#structfield.index_build_scheduler" class="anchor field">§</a><code>index_build_scheduler: <a class="struct" href="../sst/index/struct.IndexBuildScheduler.html" title="struct mito2::sst::index::IndexBuildScheduler">IndexBuildScheduler</a></code></span><div class="docblock"><p>Scheduler for index build task.</p>
|
||
</div><span id="structfield.flush_scheduler" class="structfield section-header"><a href="#structfield.flush_scheduler" class="anchor field">§</a><code>flush_scheduler: <a class="struct" href="../flush/struct.FlushScheduler.html" title="struct mito2::flush::FlushScheduler">FlushScheduler</a></code></span><div class="docblock"><p>Schedules background flush requests.</p>
|
||
</div><span id="structfield.compaction_scheduler" class="structfield section-header"><a href="#structfield.compaction_scheduler" class="anchor field">§</a><code>compaction_scheduler: <a class="struct" href="../compaction/struct.CompactionScheduler.html" title="struct mito2::compaction::CompactionScheduler">CompactionScheduler</a></code></span><div class="docblock"><p>Scheduler for compaction tasks.</p>
|
||
</div><span id="structfield.stalled_requests" class="structfield section-header"><a href="#structfield.stalled_requests" class="anchor field">§</a><code>stalled_requests: <a class="struct" href="struct.StalledRequests.html" title="struct mito2::worker::StalledRequests">StalledRequests</a></code></span><div class="docblock"><p>Stalled write requests.</p>
|
||
</div><span id="structfield.listener" class="structfield section-header"><a href="#structfield.listener" class="anchor field">§</a><code>listener: <a class="struct" href="struct.WorkerListener.html" title="struct mito2::worker::WorkerListener">WorkerListener</a></code></span><div class="docblock"><p>Event listener for tests.</p>
|
||
</div><span id="structfield.cache_manager" class="structfield section-header"><a href="#structfield.cache_manager" class="anchor field">§</a><code>cache_manager: <a class="type" href="../cache/type.CacheManagerRef.html" title="type mito2::cache::CacheManagerRef">CacheManagerRef</a></code></span><div class="docblock"><p>Cache.</p>
|
||
</div><span id="structfield.puffin_manager_factory" class="structfield section-header"><a href="#structfield.puffin_manager_factory" class="anchor field">§</a><code>puffin_manager_factory: <a class="struct" href="../sst/index/puffin_manager/struct.PuffinManagerFactory.html" title="struct mito2::sst::index::puffin_manager::PuffinManagerFactory">PuffinManagerFactory</a></code></span><div class="docblock"><p>Puffin manager factory for index.</p>
|
||
</div><span id="structfield.intermediate_manager" class="structfield section-header"><a href="#structfield.intermediate_manager" class="anchor field">§</a><code>intermediate_manager: <a class="struct" href="../sst/index/intermediate/struct.IntermediateManager.html" title="struct mito2::sst::index::intermediate::IntermediateManager">IntermediateManager</a></code></span><div class="docblock"><p>Intermediate manager for inverted index.</p>
|
||
</div><span id="structfield.time_provider" class="structfield section-header"><a href="#structfield.time_provider" class="anchor field">§</a><code>time_provider: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><dyn <a class="trait" href="../time_provider/trait.TimeProvider.html" title="trait mito2::time_provider::TimeProvider">TimeProvider</a>></code></span><div class="docblock"><p>Provider to get current time.</p>
|
||
</div><span id="structfield.last_periodical_check_millis" class="structfield section-header"><a href="#structfield.last_periodical_check_millis" class="anchor field">§</a><code>last_periodical_check_millis: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i64.html">i64</a></code></span><div class="docblock"><p>Last time to check regions periodically.</p>
|
||
</div><span id="structfield.flush_sender" class="structfield section-header"><a href="#structfield.flush_sender" class="anchor field">§</a><code>flush_sender: Sender<<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>></code></span><div class="docblock"><p>Watch channel sender to notify workers to handle stalled requests.</p>
|
||
</div><span id="structfield.flush_receiver" class="structfield section-header"><a href="#structfield.flush_receiver" class="anchor field">§</a><code>flush_receiver: Receiver<<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>></code></span><div class="docblock"><p>Watch channel receiver to wait for background flush job.</p>
|
||
</div><span id="structfield.stalling_count" class="structfield section-header"><a href="#structfield.stalling_count" class="anchor field">§</a><code>stalling_count: IntGauge</code></span><div class="docblock"><p>Gauge of stalling request count.</p>
|
||
</div><span id="structfield.region_count" class="structfield section-header"><a href="#structfield.region_count" class="anchor field">§</a><code>region_count: IntGauge</code></span><div class="docblock"><p>Gauge of regions in the worker.</p>
|
||
</div><span id="structfield.request_wait_time" class="structfield section-header"><a href="#structfield.request_wait_time" class="anchor field">§</a><code>request_wait_time: Histogram</code></span><div class="docblock"><p>Histogram of request wait time for this worker.</p>
|
||
</div><span id="structfield.region_edit_queues" class="structfield section-header"><a href="#structfield.region_edit_queues" class="anchor field">§</a><code>region_edit_queues: <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><RegionId, <a class="struct" href="handle_manifest/struct.RegionEditQueue.html" title="struct mito2::worker::handle_manifest::RegionEditQueue">RegionEditQueue</a>></code></span><div class="docblock"><p>Queues for region edit requests.</p>
|
||
</div><span id="structfield.schema_metadata_manager" class="structfield section-header"><a href="#structfield.schema_metadata_manager" class="anchor field">§</a><code>schema_metadata_manager: SchemaMetadataManagerRef</code></span><div class="docblock"><p>Database level metadata manager.</p>
|
||
</div><span id="structfield.file_ref_manager" class="structfield section-header"><a href="#structfield.file_ref_manager" class="anchor field">§</a><code>file_ref_manager: <a class="type" href="../sst/file_ref/type.FileReferenceManagerRef.html" title="type mito2::sst::file_ref::FileReferenceManagerRef">FileReferenceManagerRef</a></code></span><div class="docblock"><p>Datanode level file references manager.</p>
|
||
</div><span id="structfield.partition_expr_fetcher" class="structfield section-header"><a href="#structfield.partition_expr_fetcher" class="anchor field">§</a><code>partition_expr_fetcher: <a class="type" href="../region/opener/type.PartitionExprFetcherRef.html" title="type mito2::region::opener::PartitionExprFetcherRef">PartitionExprFetcherRef</a></code></span><div class="docblock"><p>Partition expr fetcher used to backfill partition expr on open for compatibility.</p>
|
||
</div><span id="structfield.flush_semaphore" class="structfield section-header"><a href="#structfield.flush_semaphore" class="anchor field">§</a><code>flush_semaphore: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><Semaphore></code></span><div class="docblock"><p>Semaphore to control flush concurrency.</p>
|
||
</div><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-RegionWorkerLoop%3CS%3E" class="impl"><a class="src rightside" href="../../src/mito2/worker/handle_alter.rs.html#45-241">Source</a><a href="#impl-RegionWorkerLoop%3CS%3E" class="anchor">§</a><h3 class="code-header">impl<S: LogStore> <a class="struct" href="struct.RegionWorkerLoop.html" title="struct mito2::worker::RegionWorkerLoop">RegionWorkerLoop</a><S></h3></section></summary><div class="impl-items"><section id="method.handle_alter_request" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_alter.rs.html#46-143">Source</a><h4 class="code-header">pub(crate) async fn <a href="#method.handle_alter_request" class="fn">handle_alter_request</a>(
|
||
&mut self,
|
||
region_id: RegionId,
|
||
request: RegionAlterRequest,
|
||
sender: <a class="struct" href="../request/struct.OptionOutputTx.html" title="struct mito2::request::OptionOutputTx">OptionOutputTx</a>,
|
||
)</h4></section><details class="toggle method-toggle" open><summary><section id="method.handle_alter_region_with_empty_memtable" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_alter.rs.html#147-173">Source</a><h4 class="code-header">fn <a href="#method.handle_alter_region_with_empty_memtable" class="fn">handle_alter_region_with_empty_memtable</a>(
|
||
&mut self,
|
||
region: <a class="type" href="../region/type.MitoRegionRef.html" title="type mito2::region::MitoRegionRef">MitoRegionRef</a>,
|
||
version: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../region/version/struct.Version.html" title="struct mito2::region::version::Version">Version</a>>,
|
||
request: RegionAlterRequest,
|
||
sender: <a class="struct" href="../request/struct.OptionOutputTx.html" title="struct mito2::request::OptionOutputTx">OptionOutputTx</a>,
|
||
)</h4></section></summary><div class="docblock"><p>Handles region metadata and format changes when the region memtable is empty.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.handle_alter_region_options_fast" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_alter.rs.html#181-240">Source</a><h4 class="code-header">fn <a href="#method.handle_alter_region_options_fast" class="fn">handle_alter_region_options_fast</a>(
|
||
&mut self,
|
||
region: &<a class="type" href="../region/type.MitoRegionRef.html" title="type mito2::region::MitoRegionRef">MitoRegionRef</a>,
|
||
version: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../region/version/struct.Version.html" title="struct mito2::region::version::Version">Version</a>>,
|
||
options: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><SetRegionOption>,
|
||
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::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><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../region/version/struct.Version.html" title="struct mito2::region::version::Version">Version</a>>>, MetadataError></h4></section></summary><div class="docblock"><p>Handles requests that changes region options, like TTL. It only affects memory state
|
||
since changes are persisted in the <code>DatanodeTableValue</code> in metasrv.</p>
|
||
<p>If the options require empty memtable, it only does validation.</p>
|
||
<p>Returns a new version with the updated options if it needs further alteration.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RegionWorkerLoop%3CS%3E-1" class="impl"><a class="src rightside" href="../../src/mito2/worker/handle_apply_staging.rs.html#34-186">Source</a><a href="#impl-RegionWorkerLoop%3CS%3E-1" class="anchor">§</a><h3 class="code-header">impl<S: LogStore> <a class="struct" href="struct.RegionWorkerLoop.html" title="struct mito2::worker::RegionWorkerLoop">RegionWorkerLoop</a><S></h3></section></summary><div class="impl-items"><section id="method.handle_apply_staging_manifest_request" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_apply_staging.rs.html#35-164">Source</a><h4 class="code-header">pub(crate) async fn <a href="#method.handle_apply_staging_manifest_request" class="fn">handle_apply_staging_manifest_request</a>(
|
||
&mut self,
|
||
region_id: RegionId,
|
||
request: ApplyStagingManifestRequest,
|
||
sender: <a class="struct" href="../request/struct.OptionOutputTx.html" title="struct mito2::request::OptionOutputTx">OptionOutputTx</a>,
|
||
)</h4></section><details class="toggle method-toggle" open><summary><section id="method.fetch_staging_manifest" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_apply_staging.rs.html#170-185">Source</a><h4 class="code-header">async fn <a href="#method.fetch_staging_manifest" class="fn">fetch_staging_manifest</a>(
|
||
region: &<a class="type" href="../region/type.MitoRegionRef.html" title="type mito2::region::MitoRegionRef">MitoRegionRef</a>,
|
||
central_region_id: RegionId,
|
||
manifest_path: &<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 mito2::error::Result">Result</a><<a class="struct" href="../manifest/action/struct.RegionManifest.html" title="struct mito2::manifest::action::RegionManifest">RegionManifest</a>></h4></section></summary><div class="docblock"><p>Fetches the staging manifest from the central region’s staging blob storage.</p>
|
||
<p>The <code>central_region_id</code> is used to locate the staging directory because the staging
|
||
manifest was created by the central region during <code>remap_manifests</code> operation.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RegionWorkerLoop%3CS%3E-2" class="impl"><a class="src rightside" href="../../src/mito2/worker/handle_bulk_insert.rs.html#28-96">Source</a><a href="#impl-RegionWorkerLoop%3CS%3E-2" class="anchor">§</a><h3 class="code-header">impl<S: LogStore> <a class="struct" href="struct.RegionWorkerLoop.html" title="struct mito2::worker::RegionWorkerLoop">RegionWorkerLoop</a><S></h3></section></summary><div class="impl-items"><section id="method.handle_bulk_insert_batch" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_bulk_insert.rs.html#29-95">Source</a><h4 class="code-header">pub(crate) async fn <a href="#method.handle_bulk_insert_batch" class="fn">handle_bulk_insert_batch</a>(
|
||
&mut self,
|
||
region_metadata: RegionMetadataRef,
|
||
request: RegionBulkInsertsRequest,
|
||
pending_bulk_request: &mut <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="../request/struct.SenderBulkRequest.html" title="struct mito2::request::SenderBulkRequest">SenderBulkRequest</a>>,
|
||
sender: <a class="struct" href="../request/struct.OptionOutputTx.html" title="struct mito2::request::OptionOutputTx">OptionOutputTx</a>,
|
||
)</h4></section></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RegionWorkerLoop%3CS%3E-3" class="impl"><a class="src rightside" href="../../src/mito2/worker/handle_catchup.rs.html#34-164">Source</a><a href="#impl-RegionWorkerLoop%3CS%3E-3" class="anchor">§</a><h3 class="code-header">impl<S: LogStore> <a class="struct" href="struct.RegionWorkerLoop.html" title="struct mito2::worker::RegionWorkerLoop">RegionWorkerLoop</a><S></h3></section></summary><div class="impl-items"><section id="method.handle_catchup_request" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_catchup.rs.html#35-101">Source</a><h4 class="code-header">pub(crate) async fn <a href="#method.handle_catchup_request" class="fn">handle_catchup_request</a>(
|
||
&mut self,
|
||
region_id: RegionId,
|
||
request: RegionCatchupRequest,
|
||
entry_receiver: <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="../wal/entry_distributor/struct.WalEntryReceiver.html" title="struct mito2::wal::entry_distributor::WalEntryReceiver">WalEntryReceiver</a>>,
|
||
sender: <a class="struct" href="../request/struct.OptionOutputTx.html" title="struct mito2::request::OptionOutputTx">OptionOutputTx</a>,
|
||
)</h4></section><details class="toggle method-toggle" open><summary><section id="method.reopen_region" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_catchup.rs.html#104-136">Source</a><h4 class="code-header">pub(crate) async fn <a href="#method.reopen_region" class="fn">reopen_region</a>(
|
||
&mut self,
|
||
region: &<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../region/struct.MitoRegion.html" title="struct mito2::region::MitoRegion">MitoRegion</a>>,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type mito2::error::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../region/struct.MitoRegion.html" title="struct mito2::region::MitoRegion">MitoRegion</a>>></h4></section></summary><div class="docblock"><p>Reopens a region.</p>
|
||
</div></details><section id="method.reopen_region_if_needed" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_catchup.rs.html#138-163">Source</a><h4 class="code-header">async fn <a href="#method.reopen_region_if_needed" class="fn">reopen_region_if_needed</a>(
|
||
&mut self,
|
||
region: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../region/struct.MitoRegion.html" title="struct mito2::region::MitoRegion">MitoRegion</a>>,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type mito2::error::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../region/struct.MitoRegion.html" title="struct mito2::region::MitoRegion">MitoRegion</a>>></h4></section></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RegionWorkerLoop%3CS%3E-4" class="impl"><a class="src rightside" href="../../src/mito2/worker/handle_close.rs.html#24-50">Source</a><a href="#impl-RegionWorkerLoop%3CS%3E-4" class="anchor">§</a><h3 class="code-header">impl<S> <a class="struct" href="struct.RegionWorkerLoop.html" title="struct mito2::worker::RegionWorkerLoop">RegionWorkerLoop</a><S></h3></section></summary><div class="impl-items"><section id="method.handle_close_request" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_close.rs.html#25-49">Source</a><h4 class="code-header">pub(crate) async fn <a href="#method.handle_close_request" class="fn">handle_close_request</a>(
|
||
&mut self,
|
||
region_id: RegionId,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type mito2::error::Result">Result</a><AffectedRows></h4></section></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RegionWorkerLoop%3CS%3E-5" class="impl"><a class="src rightside" href="../../src/mito2/worker/handle_compaction.rs.html#30-150">Source</a><a href="#impl-RegionWorkerLoop%3CS%3E-5" class="anchor">§</a><h3 class="code-header">impl<S> <a class="struct" href="struct.RegionWorkerLoop.html" title="struct mito2::worker::RegionWorkerLoop">RegionWorkerLoop</a><S></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.handle_compaction_request" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_compaction.rs.html#32-64">Source</a><h4 class="code-header">pub(crate) async fn <a href="#method.handle_compaction_request" class="fn">handle_compaction_request</a>(
|
||
&mut self,
|
||
region_id: RegionId,
|
||
req: RegionCompactRequest,
|
||
sender: <a class="struct" href="../request/struct.OptionOutputTx.html" title="struct mito2::request::OptionOutputTx">OptionOutputTx</a>,
|
||
)</h4></section></summary><div class="docblock"><p>Handles compaction request submitted to region worker.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.handle_compaction_finished" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_compaction.rs.html#67-115">Source</a><h4 class="code-header">pub(crate) async fn <a href="#method.handle_compaction_finished" class="fn">handle_compaction_finished</a>(
|
||
&mut self,
|
||
region_id: RegionId,
|
||
request: <a class="struct" href="../request/struct.CompactionFinished.html" title="struct mito2::request::CompactionFinished">CompactionFinished</a>,
|
||
)</h4></section></summary><div class="docblock"><p>Handles compaction finished, update region version and manifest, deleted compacted files.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.handle_compaction_failure" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_compaction.rs.html#118-123">Source</a><h4 class="code-header">pub(crate) async fn <a href="#method.handle_compaction_failure" class="fn">handle_compaction_failure</a>(&mut self, req: <a class="struct" href="../request/struct.CompactionFailed.html" title="struct mito2::request::CompactionFailed">CompactionFailed</a>)</h4></section></summary><div class="docblock"><p>When compaction fails, we simply log the error.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.schedule_compaction" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_compaction.rs.html#126-149">Source</a><h4 class="code-header">pub(crate) async fn <a href="#method.schedule_compaction" class="fn">schedule_compaction</a>(&mut self, region: &<a class="type" href="../region/type.MitoRegionRef.html" title="type mito2::region::MitoRegionRef">MitoRegionRef</a>)</h4></section></summary><div class="docblock"><p>Schedule compaction for the region if necessary.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RegionWorkerLoop%3CS%3E-6" class="impl"><a class="src rightside" href="../../src/mito2/worker/handle_copy_region.rs.html#29-245">Source</a><a href="#impl-RegionWorkerLoop%3CS%3E-6" class="anchor">§</a><h3 class="code-header">impl<S> <a class="struct" href="struct.RegionWorkerLoop.html" title="struct mito2::worker::RegionWorkerLoop">RegionWorkerLoop</a><S></h3></section></summary><div class="impl-items"><section id="method.handle_copy_region_from_request" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_copy_region.rs.html#30-110">Source</a><h4 class="code-header">pub(crate) fn <a href="#method.handle_copy_region_from_request" class="fn">handle_copy_region_from_request</a>(
|
||
&mut self,
|
||
request: <a class="struct" href="../request/struct.CopyRegionFromRequest.html" title="struct mito2::request::CopyRegionFromRequest">CopyRegionFromRequest</a>,
|
||
)</h4></section><section id="method.handle_copy_region_from_finished" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_copy_region.rs.html#112-135">Source</a><h4 class="code-header">pub(crate) fn <a href="#method.handle_copy_region_from_finished" class="fn">handle_copy_region_from_finished</a>(
|
||
&mut self,
|
||
request: <a class="struct" href="../request/struct.CopyRegionFromFinished.html" title="struct mito2::request::CopyRegionFromFinished">CopyRegionFromFinished</a>,
|
||
)</h4></section><details class="toggle method-toggle" open><summary><section id="method.copy_region_from" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_copy_region.rs.html#140-244">Source</a><h4 class="code-header">async fn <a href="#method.copy_region_from" class="fn">copy_region_from</a>(
|
||
region: &<a class="type" href="../region/type.MitoRegionRef.html" title="type mito2::region::MitoRegionRef">MitoRegionRef</a>,
|
||
region_metadata_loader: <a class="struct" href="../region/utils/struct.RegionMetadataLoader.html" title="struct mito2::region::utils::RegionMetadataLoader">RegionMetadataLoader</a>,
|
||
source_region_id: RegionId,
|
||
target_region_id: RegionId,
|
||
parallelism: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type mito2::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><<a class="struct" href="../manifest/action/struct.RegionEdit.html" title="struct mito2::manifest::action::RegionEdit">RegionEdit</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><FileId>)></h4></section></summary><div class="docblock"><p>Returns the region edit and the file ids that were copied from the source region to the target region.</p>
|
||
<p>If no need to copy files, returns (None, file_ids).</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RegionWorkerLoop%3CS%3E-7" class="impl"><a class="src rightside" href="../../src/mito2/worker/handle_create.rs.html#27-89">Source</a><a href="#impl-RegionWorkerLoop%3CS%3E-7" class="anchor">§</a><h3 class="code-header">impl<S: LogStore> <a class="struct" href="struct.RegionWorkerLoop.html" title="struct mito2::worker::RegionWorkerLoop">RegionWorkerLoop</a><S></h3></section></summary><div class="impl-items"><section id="method.handle_create_request" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_create.rs.html#28-88">Source</a><h4 class="code-header">pub(crate) async fn <a href="#method.handle_create_request" class="fn">handle_create_request</a>(
|
||
&mut self,
|
||
region_id: RegionId,
|
||
request: RegionCreateRequest,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type mito2::error::Result">Result</a><AffectedRows></h4></section></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RegionWorkerLoop%3CS%3E-8" class="impl"><a class="src rightside" href="../../src/mito2/worker/handle_drop.rs.html#37-137">Source</a><a href="#impl-RegionWorkerLoop%3CS%3E-8" class="anchor">§</a><h3 class="code-header">impl<S> <a class="struct" href="struct.RegionWorkerLoop.html" title="struct mito2::worker::RegionWorkerLoop">RegionWorkerLoop</a><S><div class="where">where
|
||
S: LogStore,</div></h3></section></summary><div class="impl-items"><section id="method.handle_drop_request" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_drop.rs.html#41-136">Source</a><h4 class="code-header">pub(crate) async fn <a href="#method.handle_drop_request" class="fn">handle_drop_request</a>(
|
||
&mut self,
|
||
region_id: RegionId,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type mito2::error::Result">Result</a><AffectedRows></h4></section></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RegionWorkerLoop%3CS%3E-9" class="impl"><a class="src rightside" href="../../src/mito2/worker/handle_enter_staging.rs.html#33-248">Source</a><a href="#impl-RegionWorkerLoop%3CS%3E-9" class="anchor">§</a><h3 class="code-header">impl<S: LogStore> <a class="struct" href="struct.RegionWorkerLoop.html" title="struct mito2::worker::RegionWorkerLoop">RegionWorkerLoop</a><S></h3></section></summary><div class="impl-items"><section id="method.handle_enter_staging_request" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_enter_staging.rs.html#34-95">Source</a><h4 class="code-header">pub(crate) async fn <a href="#method.handle_enter_staging_request" class="fn">handle_enter_staging_request</a>(
|
||
&mut self,
|
||
region_id: RegionId,
|
||
partition_expr: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
|
||
sender: <a class="struct" href="../request/struct.OptionOutputTx.html" title="struct mito2::request::OptionOutputTx">OptionOutputTx</a>,
|
||
)</h4></section><section id="method.enter_staging" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_enter_staging.rs.html#97-135">Source</a><h4 class="code-header">async fn <a href="#method.enter_staging" class="fn">enter_staging</a>(
|
||
region: &<a class="type" href="../region/type.MitoRegionRef.html" title="type mito2::region::MitoRegionRef">MitoRegionRef</a>,
|
||
partition_expr: <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 mito2::error::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>></h4></section><section id="method.handle_enter_staging" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_enter_staging.rs.html#137-201">Source</a><h4 class="code-header">fn <a href="#method.handle_enter_staging" class="fn">handle_enter_staging</a>(
|
||
&self,
|
||
region: <a class="type" href="../region/type.MitoRegionRef.html" title="type mito2::region::MitoRegionRef">MitoRegionRef</a>,
|
||
partition_expr: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
|
||
sender: <a class="struct" href="../request/struct.OptionOutputTx.html" title="struct mito2::request::OptionOutputTx">OptionOutputTx</a>,
|
||
)</h4></section><details class="toggle method-toggle" open><summary><section id="method.handle_enter_staging_result" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_enter_staging.rs.html#204-241">Source</a><h4 class="code-header">pub(crate) async fn <a href="#method.handle_enter_staging_result" class="fn">handle_enter_staging_result</a>(
|
||
&mut self,
|
||
enter_staging_result: <a class="struct" href="../request/struct.EnterStagingResult.html" title="struct mito2::request::EnterStagingResult">EnterStagingResult</a>,
|
||
)</h4></section></summary><div class="docblock"><p>Handles enter staging result.</p>
|
||
</div></details><section id="method.update_region_staging_partition_expr" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_enter_staging.rs.html#243-247">Source</a><h4 class="code-header">fn <a href="#method.update_region_staging_partition_expr" class="fn">update_region_staging_partition_expr</a>(
|
||
region: &<a class="type" href="../region/type.MitoRegionRef.html" title="type mito2::region::MitoRegionRef">MitoRegionRef</a>,
|
||
partition_expr: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
|
||
)</h4></section></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RegionWorkerLoop%3CS%3E-10" class="impl"><a class="src rightside" href="../../src/mito2/worker/handle_flush.rs.html#33-160">Source</a><a href="#impl-RegionWorkerLoop%3CS%3E-10" class="anchor">§</a><h3 class="code-header">impl<S: LogStore> <a class="struct" href="struct.RegionWorkerLoop.html" title="struct mito2::worker::RegionWorkerLoop">RegionWorkerLoop</a><S></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.handle_flush_failed" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_flush.rs.html#35-46">Source</a><h4 class="code-header">pub(crate) async fn <a href="#method.handle_flush_failed" class="fn">handle_flush_failed</a>(
|
||
&mut self,
|
||
region_id: RegionId,
|
||
request: <a class="struct" href="../request/struct.FlushFailed.html" title="struct mito2::request::FlushFailed">FlushFailed</a>,
|
||
)</h4></section></summary><div class="docblock"><p>On region flush job failed.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.maybe_flush_worker" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_flush.rs.html#50-62">Source</a><h4 class="code-header">pub(crate) fn <a href="#method.maybe_flush_worker" class="fn">maybe_flush_worker</a>(&mut self)</h4></section></summary><div class="docblock"><p>Checks whether the engine reaches flush threshold. If so, finds regions in this
|
||
worker to flush.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.flush_regions_on_engine_full" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_flush.rs.html#65-133">Source</a><h4 class="code-header">fn <a href="#method.flush_regions_on_engine_full" class="fn">flush_regions_on_engine_full</a>(&mut self) -> <a class="type" href="../error/type.Result.html" title="type mito2::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>Finds some regions to flush to reduce write buffer usage.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.new_flush_task" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_flush.rs.html#136-159">Source</a><h4 class="code-header">pub(crate) fn <a href="#method.new_flush_task" class="fn">new_flush_task</a>(
|
||
&self,
|
||
region: &<a class="type" href="../region/type.MitoRegionRef.html" title="type mito2::region::MitoRegionRef">MitoRegionRef</a>,
|
||
reason: <a class="enum" href="../flush/enum.FlushReason.html" title="enum mito2::flush::FlushReason">FlushReason</a>,
|
||
row_group_size: <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.usize.html">usize</a>>,
|
||
engine_config: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../config/struct.MitoConfig.html" title="struct mito2::config::MitoConfig">MitoConfig</a>>,
|
||
) -> <a class="struct" href="../flush/struct.RegionFlushTask.html" title="struct mito2::flush::RegionFlushTask">RegionFlushTask</a></h4></section></summary><div class="docblock"><p>Creates a flush task with specific <code>reason</code> for the <code>region</code>.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RegionWorkerLoop%3CS%3E-11" class="impl"><a class="src rightside" href="../../src/mito2/worker/handle_flush.rs.html#162-343">Source</a><a href="#impl-RegionWorkerLoop%3CS%3E-11" class="anchor">§</a><h3 class="code-header">impl<S: LogStore> <a class="struct" href="struct.RegionWorkerLoop.html" title="struct mito2::worker::RegionWorkerLoop">RegionWorkerLoop</a><S></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.handle_flush_request" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_flush.rs.html#164-192">Source</a><h4 class="code-header">pub(crate) fn <a href="#method.handle_flush_request" class="fn">handle_flush_request</a>(
|
||
&mut self,
|
||
region_id: RegionId,
|
||
request: RegionFlushRequest,
|
||
sender: <a class="struct" href="../request/struct.OptionOutputTx.html" title="struct mito2::request::OptionOutputTx">OptionOutputTx</a>,
|
||
)</h4></section></summary><div class="docblock"><p>Handles manual flush request.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.flush_periodically" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_flush.rs.html#195-224">Source</a><h4 class="code-header">pub(crate) fn <a href="#method.flush_periodically" class="fn">flush_periodically</a>(&mut self) -> <a class="type" href="../error/type.Result.html" title="type mito2::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>Flushes regions periodically.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.handle_flush_finished" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_flush.rs.html#227-319">Source</a><h4 class="code-header">pub(crate) async fn <a href="#method.handle_flush_finished" class="fn">handle_flush_finished</a>(
|
||
&mut self,
|
||
region_id: RegionId,
|
||
request: <a class="struct" href="../request/struct.FlushFinished.html" title="struct mito2::request::FlushFinished">FlushFinished</a>,
|
||
)</h4></section></summary><div class="docblock"><p>On region flush job finished.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.update_topic_latest_entry_id" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_flush.rs.html#323-342">Source</a><h4 class="code-header">pub(crate) fn <a href="#method.update_topic_latest_entry_id" class="fn">update_topic_latest_entry_id</a>(&mut self, region: &<a class="type" href="../region/type.MitoRegionRef.html" title="type mito2::region::MitoRegionRef">MitoRegionRef</a>)</h4></section></summary><div class="docblock"><p>Updates the latest entry id since flush of the region.
|
||
<strong>This is only used for remote WAL pruning.</strong></p>
|
||
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RegionWorkerLoop%3CS%3E-12" class="impl"><a class="src rightside" href="../../src/mito2/worker/handle_manifest.rs.html#88-213">Source</a><a href="#impl-RegionWorkerLoop%3CS%3E-12" class="anchor">§</a><h3 class="code-header">impl<S: LogStore> <a class="struct" href="struct.RegionWorkerLoop.html" title="struct mito2::worker::RegionWorkerLoop">RegionWorkerLoop</a><S></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.handle_manifest_region_change_result" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_manifest.rs.html#90-138">Source</a><h4 class="code-header">pub(crate) async fn <a href="#method.handle_manifest_region_change_result" class="fn">handle_manifest_region_change_result</a>(
|
||
&mut self,
|
||
change_result: <a class="struct" href="../request/struct.RegionChangeResult.html" title="struct mito2::request::RegionChangeResult">RegionChangeResult</a>,
|
||
)</h4></section></summary><div class="docblock"><p>Handles region change result.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.handle_region_sync" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_manifest.rs.html#144-212">Source</a><h4 class="code-header">pub(crate) async fn <a href="#method.handle_region_sync" class="fn">handle_region_sync</a>(&mut self, request: <a class="struct" href="../request/struct.RegionSyncRequest.html" title="struct mito2::request::RegionSyncRequest">RegionSyncRequest</a>)</h4></section></summary><div class="docblock"><p>Handles region sync request.</p>
|
||
<p>Updates the manifest to at least the given version.
|
||
<strong>Note</strong>: The installed version may be greater than the given version.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RegionWorkerLoop%3CS%3E-13" class="impl"><a class="src rightside" href="../../src/mito2/worker/handle_manifest.rs.html#215-477">Source</a><a href="#impl-RegionWorkerLoop%3CS%3E-13" class="anchor">§</a><h3 class="code-header">impl<S> <a class="struct" href="struct.RegionWorkerLoop.html" title="struct mito2::worker::RegionWorkerLoop">RegionWorkerLoop</a><S></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.handle_region_edit" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_manifest.rs.html#217-294">Source</a><h4 class="code-header">pub(crate) fn <a href="#method.handle_region_edit" class="fn">handle_region_edit</a>(&mut self, request: <a class="struct" href="../request/struct.RegionEditRequest.html" title="struct mito2::request::RegionEditRequest">RegionEditRequest</a>)</h4></section></summary><div class="docblock"><p>Handles region edit request.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.handle_region_edit_result" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_manifest.rs.html#297-349">Source</a><h4 class="code-header">pub(crate) async fn <a href="#method.handle_region_edit_result" class="fn">handle_region_edit_result</a>(
|
||
&mut self,
|
||
edit_result: <a class="struct" href="../request/struct.RegionEditResult.html" title="struct mito2::request::RegionEditResult">RegionEditResult</a>,
|
||
)</h4></section></summary><div class="docblock"><p>Handles region edit result.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.handle_manifest_truncate_action" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_manifest.rs.html#352-396">Source</a><h4 class="code-header">pub(crate) fn <a href="#method.handle_manifest_truncate_action" class="fn">handle_manifest_truncate_action</a>(
|
||
&self,
|
||
region: <a class="type" href="../region/type.MitoRegionRef.html" title="type mito2::region::MitoRegionRef">MitoRegionRef</a>,
|
||
truncate: <a class="struct" href="../manifest/action/struct.RegionTruncate.html" title="struct mito2::manifest::action::RegionTruncate">RegionTruncate</a>,
|
||
sender: <a class="struct" href="../request/struct.OptionOutputTx.html" title="struct mito2::request::OptionOutputTx">OptionOutputTx</a>,
|
||
)</h4></section></summary><div class="docblock"><p>Writes truncate action to the manifest and then applies it to the region in background.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.handle_manifest_region_change" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_manifest.rs.html#399-450">Source</a><h4 class="code-header">pub(crate) fn <a href="#method.handle_manifest_region_change" class="fn">handle_manifest_region_change</a>(
|
||
&self,
|
||
region: <a class="type" href="../region/type.MitoRegionRef.html" title="type mito2::region::MitoRegionRef">MitoRegionRef</a>,
|
||
change: <a class="struct" href="../manifest/action/struct.RegionChange.html" title="struct mito2::manifest::action::RegionChange">RegionChange</a>,
|
||
need_index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
|
||
new_options: <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="../region/options/struct.RegionOptions.html" title="struct mito2::region::options::RegionOptions">RegionOptions</a>>,
|
||
sender: <a class="struct" href="../request/struct.OptionOutputTx.html" title="struct mito2::request::OptionOutputTx">OptionOutputTx</a>,
|
||
)</h4></section></summary><div class="docblock"><p>Writes region change action to the manifest and then applies it to the region in background.</p>
|
||
</div></details><section id="method.update_region_version" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_manifest.rs.html#452-476">Source</a><h4 class="code-header">fn <a href="#method.update_region_version" class="fn">update_region_version</a>(
|
||
version_control: &<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../region/version/struct.VersionControl.html" title="struct mito2::region::version::VersionControl">VersionControl</a>>,
|
||
new_meta: RegionMetadataRef,
|
||
new_options: <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="../region/options/struct.RegionOptions.html" title="struct mito2::region::options::RegionOptions">RegionOptions</a>>,
|
||
memtable_builder_provider: &<a class="struct" href="../memtable/struct.MemtableBuilderProvider.html" title="struct mito2::memtable::MemtableBuilderProvider">MemtableBuilderProvider</a>,
|
||
)</h4></section></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RegionWorkerLoop%3CS%3E-14" class="impl"><a class="src rightside" href="../../src/mito2/worker/handle_open.rs.html#38-160">Source</a><a href="#impl-RegionWorkerLoop%3CS%3E-14" class="anchor">§</a><h3 class="code-header">impl<S: LogStore> <a class="struct" href="struct.RegionWorkerLoop.html" title="struct mito2::worker::RegionWorkerLoop">RegionWorkerLoop</a><S></h3></section></summary><div class="impl-items"><section id="method.check_and_cleanup_region" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_open.rs.html#39-71">Source</a><h4 class="code-header">async fn <a href="#method.check_and_cleanup_region" class="fn">check_and_cleanup_region</a>(
|
||
&self,
|
||
region_id: RegionId,
|
||
request: &RegionOpenRequest,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type mito2::error::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>></h4></section><section id="method.handle_open_request" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_open.rs.html#73-159">Source</a><h4 class="code-header">pub(crate) async fn <a href="#method.handle_open_request" class="fn">handle_open_request</a>(
|
||
&mut self,
|
||
region_id: RegionId,
|
||
request: RegionOpenRequest,
|
||
wal_entry_receiver: <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="../wal/entry_distributor/struct.WalEntryReceiver.html" title="struct mito2::wal::entry_distributor::WalEntryReceiver">WalEntryReceiver</a>>,
|
||
sender: <a class="struct" href="../request/struct.OptionOutputTx.html" title="struct mito2::request::OptionOutputTx">OptionOutputTx</a>,
|
||
)</h4></section></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RegionWorkerLoop%3CS%3E-15" class="impl"><a class="src rightside" href="../../src/mito2/worker/handle_rebuild_index.rs.html#38-269">Source</a><a href="#impl-RegionWorkerLoop%3CS%3E-15" class="anchor">§</a><h3 class="code-header">impl<S> <a class="struct" href="struct.RegionWorkerLoop.html" title="struct mito2::worker::RegionWorkerLoop">RegionWorkerLoop</a><S></h3></section></summary><div class="impl-items"><section id="method.new_index_build_task" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_rebuild_index.rs.html#39-89">Source</a><h4 class="code-header">pub(crate) fn <a href="#method.new_index_build_task" class="fn">new_index_build_task</a>(
|
||
&self,
|
||
region: &<a class="type" href="../region/type.MitoRegionRef.html" title="type mito2::region::MitoRegionRef">MitoRegionRef</a>,
|
||
file: <a class="struct" href="../sst/file/struct.FileHandle.html" title="struct mito2::sst::file::FileHandle">FileHandle</a>,
|
||
build_type: <a class="enum" href="../sst/index/enum.IndexBuildType.html" title="enum mito2::sst::index::IndexBuildType">IndexBuildType</a>,
|
||
result_sender: <a class="type" href="../sst/index/type.ResultMpscSender.html" title="type mito2::sst::index::ResultMpscSender">ResultMpscSender</a>,
|
||
) -> <a class="struct" href="../sst/index/struct.IndexBuildTask.html" title="struct mito2::sst::index::IndexBuildTask">IndexBuildTask</a></h4></section><details class="toggle method-toggle" open><summary><section id="method.handle_build_index_request" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_rebuild_index.rs.html#92-107">Source</a><h4 class="code-header">pub(crate) async fn <a href="#method.handle_build_index_request" class="fn">handle_build_index_request</a>(
|
||
&mut self,
|
||
region_id: RegionId,
|
||
_req: RegionBuildIndexRequest,
|
||
sender: <a class="struct" href="../request/struct.OptionOutputTx.html" title="struct mito2::request::OptionOutputTx">OptionOutputTx</a>,
|
||
)</h4></section></summary><div class="docblock"><p>Handles manual build index requests.</p>
|
||
</div></details><section id="method.handle_rebuild_index" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_rebuild_index.rs.html#109-201">Source</a><h4 class="code-header">pub(crate) async fn <a href="#method.handle_rebuild_index" class="fn">handle_rebuild_index</a>(
|
||
&mut self,
|
||
request: <a class="struct" href="../request/struct.BuildIndexRequest.html" title="struct mito2::request::BuildIndexRequest">BuildIndexRequest</a>,
|
||
sender: <a class="struct" href="../request/struct.OptionOutputTx.html" title="struct mito2::request::OptionOutputTx">OptionOutputTx</a>,
|
||
)</h4></section><section id="method.handle_index_build_finished" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_rebuild_index.rs.html#203-238">Source</a><h4 class="code-header">pub(crate) async fn <a href="#method.handle_index_build_finished" class="fn">handle_index_build_finished</a>(
|
||
&mut self,
|
||
region_id: RegionId,
|
||
request: <a class="struct" href="../request/struct.IndexBuildFinished.html" title="struct mito2::request::IndexBuildFinished">IndexBuildFinished</a>,
|
||
)</h4></section><section id="method.handle_index_build_failed" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_rebuild_index.rs.html#240-249">Source</a><h4 class="code-header">pub(crate) async fn <a href="#method.handle_index_build_failed" class="fn">handle_index_build_failed</a>(
|
||
&mut self,
|
||
region_id: RegionId,
|
||
request: <a class="struct" href="../request/struct.IndexBuildFailed.html" title="struct mito2::request::IndexBuildFailed">IndexBuildFailed</a>,
|
||
)</h4></section><section id="method.handle_index_build_stopped" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_rebuild_index.rs.html#251-268">Source</a><h4 class="code-header">pub(crate) async fn <a href="#method.handle_index_build_stopped" class="fn">handle_index_build_stopped</a>(
|
||
&mut self,
|
||
region_id: RegionId,
|
||
request: <a class="struct" href="../request/struct.IndexBuildStopped.html" title="struct mito2::request::IndexBuildStopped">IndexBuildStopped</a>,
|
||
)</h4></section></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RegionWorkerLoop%3CS%3E-16" class="impl"><a class="src rightside" href="../../src/mito2/worker/handle_remap.rs.html#32-147">Source</a><a href="#impl-RegionWorkerLoop%3CS%3E-16" class="anchor">§</a><h3 class="code-header">impl<S> <a class="struct" href="struct.RegionWorkerLoop.html" title="struct mito2::worker::RegionWorkerLoop">RegionWorkerLoop</a><S></h3></section></summary><div class="impl-items"><section id="method.handle_remap_manifests_request" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_remap.rs.html#33-75">Source</a><h4 class="code-header">pub(crate) fn <a href="#method.handle_remap_manifests_request" class="fn">handle_remap_manifests_request</a>(
|
||
&mut self,
|
||
request: <a class="struct" href="../request/struct.RemapManifestsRequest.html" title="struct mito2::request::RemapManifestsRequest">RemapManifestsRequest</a>,
|
||
)</h4></section><section id="method.fetch_and_remap_manifests" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_remap.rs.html#81-146">Source</a><h4 class="code-header">async fn <a href="#method.fetch_and_remap_manifests" class="fn">fetch_and_remap_manifests</a>(
|
||
region: <a class="type" href="../region/type.MitoRegionRef.html" title="type mito2::region::MitoRegionRef">MitoRegionRef</a>,
|
||
region_metadata_loader: <a class="struct" href="../region/utils/struct.RegionMetadataLoader.html" title="struct mito2::region::utils::RegionMetadataLoader">RegionMetadataLoader</a>,
|
||
input_regions: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><RegionId>,
|
||
new_partition_exprs: <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><RegionId, PartitionExpr>,
|
||
region_mapping: <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><RegionId, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><RegionId>>,
|
||
) -> <a class="type" href="../error/type.Result.html" title="type mito2::error::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><RegionId, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>>></h4></section></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RegionWorkerLoop%3CS%3E-17" class="impl"><a class="src rightside" href="../../src/mito2/worker/handle_truncate.rs.html#28-173">Source</a><a href="#impl-RegionWorkerLoop%3CS%3E-17" class="anchor">§</a><h3 class="code-header">impl<S: LogStore> <a class="struct" href="struct.RegionWorkerLoop.html" title="struct mito2::worker::RegionWorkerLoop">RegionWorkerLoop</a><S></h3></section></summary><div class="impl-items"><section id="method.handle_truncate_request" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_truncate.rs.html#29-109">Source</a><h4 class="code-header">pub(crate) async fn <a href="#method.handle_truncate_request" class="fn">handle_truncate_request</a>(
|
||
&mut self,
|
||
region_id: RegionId,
|
||
req: RegionTruncateRequest,
|
||
sender: <a class="struct" href="../request/struct.OptionOutputTx.html" title="struct mito2::request::OptionOutputTx">OptionOutputTx</a>,
|
||
)</h4></section><details class="toggle method-toggle" open><summary><section id="method.handle_truncate_result" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_truncate.rs.html#112-172">Source</a><h4 class="code-header">pub(crate) async fn <a href="#method.handle_truncate_result" class="fn">handle_truncate_result</a>(
|
||
&mut self,
|
||
truncate_result: <a class="struct" href="../request/struct.TruncateResult.html" title="struct mito2::request::TruncateResult">TruncateResult</a>,
|
||
)</h4></section></summary><div class="docblock"><p>Handles truncate result.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RegionWorkerLoop%3CS%3E-18" class="impl"><a class="src rightside" href="../../src/mito2/worker/handle_write.rs.html#38-202">Source</a><a href="#impl-RegionWorkerLoop%3CS%3E-18" class="anchor">§</a><h3 class="code-header">impl<S: LogStore> <a class="struct" href="struct.RegionWorkerLoop.html" title="struct mito2::worker::RegionWorkerLoop">RegionWorkerLoop</a><S></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.handle_write_requests" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_write.rs.html#40-161">Source</a><h4 class="code-header">pub(crate) async fn <a href="#method.handle_write_requests" class="fn">handle_write_requests</a>(
|
||
&mut self,
|
||
write_requests: &mut <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="../request/struct.SenderWriteRequest.html" title="struct mito2::request::SenderWriteRequest">SenderWriteRequest</a>>,
|
||
bulk_requests: &mut <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="../request/struct.SenderBulkRequest.html" title="struct mito2::request::SenderBulkRequest">SenderBulkRequest</a>>,
|
||
allow_stall: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
|
||
)</h4></section></summary><div class="docblock"><p>Takes and handles all write requests.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.handle_stalled_requests" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_write.rs.html#164-173">Source</a><h4 class="code-header">pub(crate) async fn <a href="#method.handle_stalled_requests" class="fn">handle_stalled_requests</a>(&mut self)</h4></section></summary><div class="docblock"><p>Handles all stalled write requests.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.reject_stalled_requests" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_write.rs.html#176-182">Source</a><h4 class="code-header">pub(crate) fn <a href="#method.reject_stalled_requests" class="fn">reject_stalled_requests</a>(&mut self)</h4></section></summary><div class="docblock"><p>Rejects all stalled requests.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.reject_region_stalled_requests" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_write.rs.html#185-191">Source</a><h4 class="code-header">pub(crate) fn <a href="#method.reject_region_stalled_requests" class="fn">reject_region_stalled_requests</a>(&mut self, region_id: &RegionId)</h4></section></summary><div class="docblock"><p>Rejects a specific region’s stalled requests.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.handle_region_stalled_requests" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_write.rs.html#194-201">Source</a><h4 class="code-header">pub(crate) async fn <a href="#method.handle_region_stalled_requests" class="fn">handle_region_stalled_requests</a>(
|
||
&mut self,
|
||
region_id: &RegionId,
|
||
)</h4></section></summary><div class="docblock"><p>Handles a specific region’s stalled requests.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RegionWorkerLoop%3CS%3E-19" class="impl"><a class="src rightside" href="../../src/mito2/worker/handle_write.rs.html#204-430">Source</a><a href="#impl-RegionWorkerLoop%3CS%3E-19" class="anchor">§</a><h3 class="code-header">impl<S> <a class="struct" href="struct.RegionWorkerLoop.html" title="struct mito2::worker::RegionWorkerLoop">RegionWorkerLoop</a><S></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.prepare_region_write_ctx" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_write.rs.html#206-216">Source</a><h4 class="code-header">fn <a href="#method.prepare_region_write_ctx" class="fn">prepare_region_write_ctx</a>(
|
||
&mut self,
|
||
write_requests: &mut <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="../request/struct.SenderWriteRequest.html" title="struct mito2::request::SenderWriteRequest">SenderWriteRequest</a>>,
|
||
bulk_requests: &mut <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="../request/struct.SenderBulkRequest.html" title="struct mito2::request::SenderBulkRequest">SenderBulkRequest</a>>,
|
||
) -> <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><RegionId, <a class="struct" href="../region_write_ctx/struct.RegionWriteCtx.html" title="struct mito2::region_write_ctx::RegionWriteCtx">RegionWriteCtx</a>></h4></section></summary><div class="docblock"><p>Validates and groups requests by region.</p>
|
||
</div></details><section id="method.process_write_requests" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_write.rs.html#218-338">Source</a><h4 class="code-header">fn <a href="#method.process_write_requests" class="fn">process_write_requests</a>(
|
||
&mut self,
|
||
region_ctxs: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><RegionId, <a class="struct" href="../region_write_ctx/struct.RegionWriteCtx.html" title="struct mito2::region_write_ctx::RegionWriteCtx">RegionWriteCtx</a>>,
|
||
write_requests: &mut <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="../request/struct.SenderWriteRequest.html" title="struct mito2::request::SenderWriteRequest">SenderWriteRequest</a>>,
|
||
)</h4></section><details class="toggle method-toggle" open><summary><section id="method.process_bulk_requests" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_write.rs.html#341-422">Source</a><h4 class="code-header">fn <a href="#method.process_bulk_requests" class="fn">process_bulk_requests</a>(
|
||
&mut self,
|
||
region_ctxs: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><RegionId, <a class="struct" href="../region_write_ctx/struct.RegionWriteCtx.html" title="struct mito2::region_write_ctx::RegionWriteCtx">RegionWriteCtx</a>>,
|
||
requests: &mut <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="../request/struct.SenderBulkRequest.html" title="struct mito2::request::SenderBulkRequest">SenderBulkRequest</a>>,
|
||
)</h4></section></summary><div class="docblock"><p>Processes bulk insert requests.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.should_reject_write" class="method"><a class="src rightside" href="../../src/mito2/worker/handle_write.rs.html#425-429">Source</a><h4 class="code-header">pub(crate) fn <a href="#method.should_reject_write" class="fn">should_reject_write</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the engine needs to reject some write requests.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RegionWorkerLoop%3CS%3E-20" class="impl"><a class="src rightside" href="../../src/mito2/worker.rs.html#863-1201">Source</a><a href="#impl-RegionWorkerLoop%3CS%3E-20" class="anchor">§</a><h3 class="code-header">impl<S: LogStore> <a class="struct" href="struct.RegionWorkerLoop.html" title="struct mito2::worker::RegionWorkerLoop">RegionWorkerLoop</a><S></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.run" class="method"><a class="src rightside" href="../../src/mito2/worker.rs.html#865-978">Source</a><h4 class="code-header">async fn <a href="#method.run" class="fn">run</a>(&mut self)</h4></section></summary><div class="docblock"><p>Starts the worker loop.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.handle_requests" class="method"><a class="src rightside" href="../../src/mito2/worker.rs.html#983-1055">Source</a><h4 class="code-header">async fn <a href="#method.handle_requests" class="fn">handle_requests</a>(
|
||
&mut self,
|
||
write_requests: &mut <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="../request/struct.SenderWriteRequest.html" title="struct mito2::request::SenderWriteRequest">SenderWriteRequest</a>>,
|
||
ddl_requests: &mut <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="../request/struct.SenderDdlRequest.html" title="struct mito2::request::SenderDdlRequest">SenderDdlRequest</a>>,
|
||
general_requests: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="enum" href="../request/enum.WorkerRequest.html" title="enum mito2::request::WorkerRequest">WorkerRequest</a>>,
|
||
bulk_requests: &mut <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="../request/struct.SenderBulkRequest.html" title="struct mito2::request::SenderBulkRequest">SenderBulkRequest</a>>,
|
||
)</h4></section></summary><div class="docblock"><p>Dispatches and processes requests.</p>
|
||
<p><code>buffer</code> should be empty.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.handle_ddl_requests" class="method"><a class="src rightside" href="../../src/mito2/worker.rs.html#1058-1120">Source</a><h4 class="code-header">async fn <a href="#method.handle_ddl_requests" class="fn">handle_ddl_requests</a>(
|
||
&mut self,
|
||
ddl_requests: &mut <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="../request/struct.SenderDdlRequest.html" title="struct mito2::request::SenderDdlRequest">SenderDdlRequest</a>>,
|
||
)</h4></section></summary><div class="docblock"><p>Takes and handles all ddl requests.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.handle_periodical_tasks" class="method"><a class="src rightside" href="../../src/mito2/worker.rs.html#1123-1138">Source</a><h4 class="code-header">fn <a href="#method.handle_periodical_tasks" class="fn">handle_periodical_tasks</a>(&mut self)</h4></section></summary><div class="docblock"><p>Handle periodical tasks such as region auto flush.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.handle_background_notify" class="method"><a class="src rightside" href="../../src/mito2/worker.rs.html#1141-1170">Source</a><h4 class="code-header">async fn <a href="#method.handle_background_notify" class="fn">handle_background_notify</a>(
|
||
&mut self,
|
||
region_id: RegionId,
|
||
notify: <a class="enum" href="../request/enum.BackgroundNotify.html" title="enum mito2::request::BackgroundNotify">BackgroundNotify</a>,
|
||
)</h4></section></summary><div class="docblock"><p>Handles region background request</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.set_role_state_gracefully" class="method"><a class="src rightside" href="../../src/mito2/worker.rs.html#1173-1200">Source</a><h4 class="code-header">async fn <a href="#method.set_role_state_gracefully" class="fn">set_role_state_gracefully</a>(
|
||
&mut self,
|
||
region_id: RegionId,
|
||
region_role_state: SettableRegionRoleState,
|
||
sender: Sender<SetRegionRoleStateResponse>,
|
||
)</h4></section></summary><div class="docblock"><p>Handles <code>set_region_role_gracefully</code>.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-RegionWorkerLoop%3CS%3E-21" class="impl"><a class="src rightside" href="../../src/mito2/worker.rs.html#1203-1223">Source</a><a href="#impl-RegionWorkerLoop%3CS%3E-21" class="anchor">§</a><h3 class="code-header">impl<S> <a class="struct" href="struct.RegionWorkerLoop.html" title="struct mito2::worker::RegionWorkerLoop">RegionWorkerLoop</a><S></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clean" class="method"><a class="src rightside" href="../../src/mito2/worker.rs.html#1205-1213">Source</a><h4 class="code-header">async fn <a href="#method.clean" class="fn">clean</a>(&self)</h4></section></summary><div class="docblock"><p>Cleans up the worker.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.notify_group" class="method"><a class="src rightside" href="../../src/mito2/worker.rs.html#1217-1222">Source</a><h4 class="code-header">fn <a href="#method.notify_group" class="fn">notify_group</a>(&mut self)</h4></section></summary><div class="docblock"><p>Notifies the whole group that a flush job is finished so other
|
||
workers can handle stalled requests.</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-RegionWorkerLoop%3CS%3E" class="impl"><a href="#impl-Freeze-for-RegionWorkerLoop%3CS%3E" class="anchor">§</a><h3 class="code-header">impl<S> <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.RegionWorkerLoop.html" title="struct mito2::worker::RegionWorkerLoop">RegionWorkerLoop</a><S></h3></section><section id="impl-RefUnwindSafe-for-RegionWorkerLoop%3CS%3E" class="impl"><a href="#impl-RefUnwindSafe-for-RegionWorkerLoop%3CS%3E" class="anchor">§</a><h3 class="code-header">impl<S> !<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.RegionWorkerLoop.html" title="struct mito2::worker::RegionWorkerLoop">RegionWorkerLoop</a><S></h3></section><section id="impl-Send-for-RegionWorkerLoop%3CS%3E" class="impl"><a href="#impl-Send-for-RegionWorkerLoop%3CS%3E" class="anchor">§</a><h3 class="code-header">impl<S> <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.RegionWorkerLoop.html" title="struct mito2::worker::RegionWorkerLoop">RegionWorkerLoop</a><S><div class="where">where
|
||
S: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-Sync-for-RegionWorkerLoop%3CS%3E" class="impl"><a href="#impl-Sync-for-RegionWorkerLoop%3CS%3E" class="anchor">§</a><h3 class="code-header">impl<S> <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.RegionWorkerLoop.html" title="struct mito2::worker::RegionWorkerLoop">RegionWorkerLoop</a><S><div class="where">where
|
||
S: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-Unpin-for-RegionWorkerLoop%3CS%3E" class="impl"><a href="#impl-Unpin-for-RegionWorkerLoop%3CS%3E" class="anchor">§</a><h3 class="code-header">impl<S> <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.RegionWorkerLoop.html" title="struct mito2::worker::RegionWorkerLoop">RegionWorkerLoop</a><S></h3></section><section id="impl-UnwindSafe-for-RegionWorkerLoop%3CS%3E" class="impl"><a href="#impl-UnwindSafe-for-RegionWorkerLoop%3CS%3E" class="anchor">§</a><h3 class="code-header">impl<S> !<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.RegionWorkerLoop.html" title="struct mito2::worker::RegionWorkerLoop">RegionWorkerLoop</a><S></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#138">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#139">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-Any-for-T-2" class="impl"><a href="#impl-Any-for-T-2" 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></summary><div class="impl-items"><section id="method.into_any-1" class="method trait-impl"><a href="#method.into_any-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_any</a>(self: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><T>) -> <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/any/trait.Any.html" title="trait core::any::Any">Any</a>></h4></section><section id="method.into_any_rc-1" class="method trait-impl"><a href="#method.into_any_rc-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_any_rc</a>(self: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a><T>) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a>></h4></section><section id="method.type_name" class="method trait-impl"><a href="#method.type_name" class="anchor">§</a><h4 class="code-header">fn <a class="fn">type_name</a>(&self) -> &'static <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-AnySync-for-T" class="impl"><a href="#impl-AnySync-for-T" class="anchor">§</a><h3 class="code-header">impl<T> AnySync for T<div class="where">where
|
||
T: Any + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section></summary><div class="impl-items"><section id="method.into_any_arc-1" class="method trait-impl"><a href="#method.into_any_arc-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_any_arc</a>(self: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><T>) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>></h4></section></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-Convert%3CT%3E-for-V" class="impl"><a href="#impl-Convert%3CT%3E-for-V" class="anchor">§</a><h3 class="code-header">impl<T, V> Convert<T> for V<div class="where">where
|
||
V: <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"><section id="method.convert" class="method trait-impl"><a href="#method.convert" class="anchor">§</a><h4 class="code-header">fn <a class="fn">convert</a>(value: Self) -> T</h4></section><section id="method.convert_box" class="method trait-impl"><a href="#method.convert_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">convert_box</a>(value: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><Self>) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><T></h4></section><section id="method.convert_vec" class="method trait-impl"><a href="#method.convert_vec" class="anchor">§</a><h4 class="code-header">fn <a class="fn">convert_vec</a>(value: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Self>) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><T></h4></section><section id="method.convert_vec_box" class="method trait-impl"><a href="#method.convert_vec_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">convert_vec_box</a>(value: <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/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><Self>>) -> <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/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><T>></h4></section><section id="method.convert_matrix" class="method trait-impl"><a href="#method.convert_matrix" class="anchor">§</a><h4 class="code-header">fn <a class="fn">convert_matrix</a>(value: <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/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Self>>) -> <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/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><T>></h4></section><section id="method.convert_option" class="method trait-impl"><a href="#method.convert_option" class="anchor">§</a><h4 class="code-header">fn <a class="fn">convert_option</a>(value: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Self>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><T></h4></section><section id="method.convert_option_box" class="method trait-impl"><a href="#method.convert_option_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">convert_option_box</a>(value: <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><Self>>) -> <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><T>></h4></section><section id="method.convert_option_vec" class="method trait-impl"><a href="#method.convert_option_vec" class="anchor">§</a><h4 class="code-header">fn <a class="fn">convert_option_vec</a>(value: <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/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Self>>) -> <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/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><T>></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Downcast-for-T" class="impl"><a href="#impl-Downcast-for-T" class="anchor">§</a><h3 class="code-header">impl<T> Downcast 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></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_any" class="method trait-impl"><a href="#method.into_any" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_any</a>(self: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><T>) -> <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/any/trait.Any.html" title="trait core::any::Any">Any</a>></h4></section></summary><div class='docblock'>Converts <code>Box<dyn Trait></code> (where <code>Trait: Downcast</code>) to <code>Box<dyn Any></code>, which can then be
|
||
<code>downcast</code> into <code>Box<dyn ConcreteType></code> where <code>ConcreteType</code> implements <code>Trait</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_any_rc" class="method trait-impl"><a href="#method.into_any_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_any_rc</a>(self: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a><T>) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a>></h4></section></summary><div class='docblock'>Converts <code>Rc<Trait></code> (where <code>Trait: Downcast</code>) to <code>Rc<Any></code>, which can then be further
|
||
<code>downcast</code> into <code>Rc<ConcreteType></code> where <code>ConcreteType</code> implements <code>Trait</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_any" class="method trait-impl"><a href="#method.as_any" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_any</a>(&self) -> &(dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static)</h4></section></summary><div class='docblock'>Converts <code>&Trait</code> (where <code>Trait: Downcast</code>) to <code>&Any</code>. This is needed since Rust cannot
|
||
generate <code>&Any</code>’s vtable from <code>&Trait</code>’s.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_any_mut" class="method trait-impl"><a href="#method.as_any_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_any_mut</a>(&mut self) -> &mut (dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static)</h4></section></summary><div class='docblock'>Converts <code>&mut Trait</code> (where <code>Trait: Downcast</code>) to <code>&Any</code>. This is needed since Rust cannot
|
||
generate <code>&mut Any</code>’s vtable from <code>&mut Trait</code>’s.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DowncastSend-for-T" class="impl"><a href="#impl-DowncastSend-for-T" class="anchor">§</a><h3 class="code-header">impl<T> DowncastSend 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> + <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></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_any_send" class="method trait-impl"><a href="#method.into_any_send" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_any_send</a>(self: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><T>) -> <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/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>></h4></section></summary><div class='docblock'>Converts <code>Box<Trait></code> (where <code>Trait: DowncastSend</code>) to <code>Box<dyn Any + Send></code>, which
|
||
can then be <code>downcast</code> into <code>Box<ConcreteType></code> where <code>ConcreteType</code> implements <code>Trait</code>.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DowncastSync-for-T" class="impl"><a href="#impl-DowncastSync-for-T" class="anchor">§</a><h3 class="code-header">impl<T> DowncastSync 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> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_any_sync" class="method trait-impl"><a href="#method.into_any_sync" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_any_sync</a>(self: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><T>) -> <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/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>></h4></section></summary><div class='docblock'>Converts <code>Box<Trait></code> (where <code>Trait: DowncastSync</code>) to <code>Box<dyn Any + Send + Sync></code>,
|
||
which can then be <code>downcast</code> into <code>Box<ConcreteType></code> where <code>ConcreteType</code> implements
|
||
<code>Trait</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_any_arc" class="method trait-impl"><a href="#method.into_any_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_any_arc</a>(self: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><T>) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>></h4></section></summary><div class='docblock'>Converts <code>Arc<Trait></code> (where <code>Trait: DowncastSync</code>) to <code>Arc<Any></code>, which can then be
|
||
<code>downcast</code> into <code>Arc<ConcreteType></code> where <code>ConcreteType</code> implements <code>Trait</code>.</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-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-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-Fruit-for-T" class="impl"><a href="#impl-Fruit-for-T" class="anchor">§</a><h3 class="code-header">impl<T> Fruit 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> + Downcast,</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></div></section></div></main></body></html> |