Skip to main content

qubit_rayon_executor/
lib.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//! # Qubit Rayon Executor
11//!
12//! Rayon-backed CPU-bound executor service implementation.
13//!
14
15mod pending_cancel;
16mod rayon_executor_service;
17mod rayon_executor_service_build_error;
18mod rayon_executor_service_builder;
19mod rayon_executor_service_state;
20mod rayon_task_handle;
21
22pub use qubit_executor::service::{
23    ExecutorService,
24    ExecutorServiceLifecycle,
25    StopReport,
26    SubmissionError,
27};
28pub use qubit_executor::task::spi::{
29    TaskResultHandle,
30    TrackedTaskHandle,
31};
32pub use qubit_executor::{
33    CancelResult,
34    TaskHandle,
35    TaskResult,
36    TaskStatus,
37    TryGet,
38};
39pub use rayon_executor_service::RayonExecutorService;
40pub use rayon_executor_service_build_error::RayonExecutorServiceBuildError;
41pub use rayon_executor_service_builder::RayonExecutorServiceBuilder;
42pub use rayon_task_handle::RayonTaskHandle;
43
44/// Executor service compatibility exports for Rayon-backed users.
45pub mod service {
46    pub use crate::{
47        CancelResult,
48        ExecutorService,
49        ExecutorServiceLifecycle,
50        RayonExecutorService,
51        RayonExecutorServiceBuildError,
52        RayonExecutorServiceBuilder,
53        RayonTaskHandle,
54        StopReport,
55        SubmissionError,
56        TaskHandle,
57        TaskResult,
58        TaskResultHandle,
59        TaskStatus,
60        TrackedTaskHandle,
61        TryGet,
62    };
63}