1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
//! # DAOXIDE - Idiomatic DAOS API Wrapper
//!
//! This crate provides a safe, idiomatic Rust interface to the DAOS (Distributed
//! Asynchronous Object Storage) API through the `daos-rs` bindings.
//!
//! ## Architecture
//!
//! The crate is organized around DAOS API domains:
//!
//! - [`pool`] - Pool management and connectivity
//! - [`container`] - Container lifecycle and metadata
//! - [`object`] - Object operations and key-value storage
//! - [`tx`] - Transaction management for atomic operations
//! - [`io`] - I/O handles and data movement
//! - [`query`] - Query capabilities and aggregation
//! - [`iter`] - Iterator patterns for batch operations
//! - [`oit`] - Object instance tracking
//! - [`runtime`] - Runtime and event management
//! - [`error`] - Error types and handling
//!
//! ## Public API Design
//!
//! The public API exposes only safe, high-level abstractions. Internal
//! implementation details are hidden using `pub(crate)` visibility.
//!
//! Low-level `daos-rs` symbols are never exposed directly in the public API.
//!
//! ## Module Hierarchy
//!
//! ```text
//! daoxide
//! ├── error - Error types
//! ├── facade - High-level ergonomic API
//! ├── runtime - Runtime management
//! ├── pool - Pool operations
//! ├── container - Container operations
//! ├── object - Object operations
//! ├── tx - Transaction management
//! ├── io - I/O operations
//! ├── query - Query operations
//! ├── iter - Iterator utilities
//! ├── oit - Object instance tracking
//! └── prelude - Common re-exports
//! ```
// Public API modules
// Prelude module for common imports
// Re-export error types for convenience
pub use ;
// Implementation details - hidden from public API
// (daos-rs bindings will be imported internally as needed)
// Unsafe inner module containing all FFI boundaries
// This module is pub(crate) to keep unsafe code isolated from public API
pub