P1: AsyncS3Vfs native async implementation using reqwest
- Replace spawn_blocking + ureq with native async reqwest - AsyncS3Vfs uses reqwest::Client for HTTP operations - rusty-s3 for presigned URL generation + XML parsing - AsyncS3File with async read/write/seek/flush - reqwest dependency added under async-vfs feature Tests: 297 passed (293 + 4 new s3_auth tests)
This commit is contained in:
@@ -69,6 +69,7 @@ chacha20poly1305 = "0.10" # Phase 5: ChaCha20-Poly1305 AEAD(备用)
|
||||
nix = { version = "0.29", features = ["poll", "fs"] } # Phase 14: OpenSSH风格的poll()和非阻塞I/O(fs feature包含fcntl)
|
||||
rusty-s3 = "0.10" # S3 API 签名(AWS Signature V4)
|
||||
ureq = "2.12" # 輕量同步 HTTP 客戶端
|
||||
reqwest = { version = "0.12", optional = true } # Async HTTP client for AsyncS3Vfs
|
||||
rayon = "1.10" # Phase 4: 并行加密
|
||||
url = "2" # URL 解析(rusty-s3 依賴)
|
||||
|
||||
@@ -85,7 +86,7 @@ tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
|
||||
default = [] # 默认不启用可选格式
|
||||
optional-formats = ["unrar", "xz2", "sevenz-rust"] # 争议格式可选启用
|
||||
smb-server = ["dep:smb-server"] # SMB server feature flag
|
||||
async-vfs = [] # Async VfsBackend trait (Phase 1 - design only)
|
||||
async-vfs = ["dep:reqwest"] # Async VfsBackend trait + native async S3
|
||||
|
||||
[dev-dependencies]
|
||||
# tempfile moved to dependencies (needed for archive extraction)
|
||||
|
||||
Reference in New Issue
Block a user