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
//! # MockForge FTP
//!
//! FTP protocol support for MockForge.
//!
//! This crate provides FTP-specific functionality for creating mock FTP servers,
//! including virtual file systems, fixture-driven responses, and file transfer simulation.
//!
//! ## Overview
//!
//! MockForge FTP enables you to:
//!
//! - **Serve FTP servers**: Mock FTP protocol for file transfer testing
//! - **Virtual file system**: In-memory and template-based file generation
//! - **Fixture management**: Pre-configured file structures and content
//! - **Upload handling**: Configurable upload validation and storage
//! - **Protocol compliance**: Standard FTP commands and responses
//!
//! ## Quick Start
//!
//! ### Basic FTP Server
//!
//! ```rust,no_run
//! use mockforge_ftp::FtpServer;
//! use mockforge_core::config::FtpConfig;
//!
//! #[tokio::main]
//! async fn main() -> Result<(), Box<dyn std::error::Error>> {
//! let config = FtpConfig::default();
//! let server = FtpServer::new(config);
//!
//! server.start().await?;
//! Ok(())
//! }
//! ```
//!
//! ## Key Features
//!
//! ### Virtual File System
//! - In-memory file storage with metadata
//! - Template-based content generation
//! - Pattern-based file creation (random, zeros, incremental)
//!
//! ### Fixture System
//! - YAML-based fixture definitions
//! - Upload rules and validation
//! - Multiple storage options (memory, file, discard)
//!
//! ### FTP Protocol Support
//! - Standard FTP commands (LIST, RETR, STOR, DELE, etc.)
//! - Passive and active mode support
//! - Authentication and anonymous access
//!
//! ## Related Crates
//!
//! - [`mockforge-core`](https://docs.rs/mockforge-core): Core mocking functionality
//! - [`libunftp`](https://docs.rs/libunftp): Underlying FTP server library
/// Unified protocol server lifecycle implementation
// Re-export main types
pub use ;
pub use FtpServer;
pub use FtpSpecRegistry;
pub use ;