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
74
75
76
77
78
79
80
81
82
83
84
//! # mmap-io: High-performance memory-mapped file I/O for Rust
//!
//! This crate provides a safe, efficient interface for memory-mapped file operations
//! with support for concurrent access, segmented views, and optional async operations.
//!
//! ## Features
//!
//! - **Zero-copy I/O**: Direct memory access without buffer copying
//! - **Thread-safe**: Concurrent read/write access with proper synchronization
//! - **Segmented access**: Work with file regions without loading entire files
//! - **Cross-platform**: Works on Windows, Linux, macOS via memmap2
//! - **Async support**: Optional Tokio integration for async file operations
//!
//! ## Quick Start
//!
//! ```no_run
//! use mmap_io::{create_mmap, update_region, flush};
//!
//! // Create a 1MB memory-mapped file
//! let mmap = create_mmap("data.bin", 1024 * 1024)?;
//!
//! // Write data at offset 100
//! update_region(&mmap, 100, b"Hello, mmap!")?;
//!
//! // Ensure data is persisted
//! flush(&mmap)?;
//! # Ok::<(), mmap_io::MmapIoError>(())
//! ```
//!
//! ## Modules
//!
//! - [`errors`]: Error types for all mmap operations
//! - [`utils`]: Utility functions for alignment and bounds checking
//! - [`mmap`]: Core `MemoryMappedFile` implementation
//! - [`segment`]: Segmented views for working with file regions
//! - [`manager`]: High-level convenience functions
//!
//! ## Feature Flags
//!
//! - `async`: Enables Tokio-based async file operations
/// Memory-mapped file support.
/// Provides functions for flushing memory-mapped file changes to disk.
pub use MmapIoError;
pub use ;
pub use ;
pub use MmapAdvice;
pub use ;
pub use ;