Skip to main content

qubit_executor/task/
mod.rs

1/*******************************************************************************
2 *
3 *    Copyright (c) 2025 - 2026 Haixing Hu.
4 *
5 *    SPDX-License-Identifier: Apache-2.0
6 *
7 *    Licensed under the Apache License, Version 2.0.
8 *
9 ******************************************************************************/
10//! Task handles and task-result types.
11
12mod atomic_task_status;
13mod cancel_result;
14pub(crate) mod task_admission_gate;
15mod task_endpoint_pair;
16mod task_execution_error;
17mod task_handle;
18mod task_handle_future;
19mod task_result_handle;
20mod task_runner;
21mod task_slot;
22mod task_state;
23mod task_status;
24mod tracked_task;
25mod tracked_task_handle;
26mod try_get;
27
28pub use cancel_result::CancelResult;
29pub use task_execution_error::{
30    TaskExecutionError,
31    TaskResult,
32};
33pub use task_handle::TaskHandle;
34pub use task_handle_future::TaskHandleFuture;
35pub use task_status::TaskStatus;
36pub use tracked_task::TrackedTask;
37pub use try_get::TryGet;
38
39/// Service-provider interfaces for custom executor implementations.
40///
41/// These low-level building blocks are intended for crates that implement
42/// executor services or execution strategies. Ordinary users should prefer
43/// [`TaskHandle`], [`TrackedTask`], and the executor/service traits.
44pub mod spi {
45    pub use super::task_endpoint_pair::TaskEndpointPair;
46    pub use super::task_result_handle::TaskResultHandle;
47    pub use super::task_runner::TaskRunner;
48    pub use super::task_slot::TaskSlot;
49    pub use super::tracked_task_handle::TrackedTaskHandle;
50}