Skip to main content

qubit_lock/
lib.rs

1/*******************************************************************************
2 *
3 *    Copyright (c) 2025 - 2026.
4 *    Haixing Hu, Qubit Co. Ltd.
5 *
6 *    All rights reserved.
7 *
8 ******************************************************************************/
9//! # Qubit Lock
10//!
11//! Lock utilities for the Qubit Rust libraries.
12//!
13//! The crate provides:
14//!
15//! - Synchronous lock wrappers with `Arc` integrated internally.
16//! - Asynchronous Tokio-based lock wrappers.
17//! - Monitor-style coordination built on `Mutex` plus `Condvar`.
18//! - A reusable double-checked locking executor.
19//!
20//! # Author
21//!
22//! Haixing Hu
23
24pub mod double_checked;
25pub mod lock;
26
27pub use double_checked::{
28    DoubleCheckedLockExecutor,
29    ExecutionContext,
30    ExecutionLogger,
31    ExecutionResult,
32    ExecutorBuilder,
33    ExecutorError,
34    ExecutorLockBuilder,
35    ExecutorReadyBuilder,
36};
37pub use lock::{
38    ArcAsyncMutex,
39    ArcAsyncRwLock,
40    ArcMonitor,
41    ArcMutex,
42    ArcRwLock,
43    AsyncLock,
44    Lock,
45    Monitor,
46    MonitorGuard,
47    TryLockError,
48    WaitTimeoutResult,
49    WaitTimeoutStatus,
50};