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};