[package]
name = "easy_fuser"
version = "0.4.3"
edition = "2024"
description = "A flexible and idiomatic Fuse implementation for Rust"
license = "MIT"
documentation = "https://docs.rs/easy_fuser"
homepage = "https://github.com/Alogani/easy_fuser"
repository = "https://github.com/Alogani/easy_fuser"

[features]
default = []
serial = []
parallel = ["dep:threadpool"]
async = ["dep:async-trait", "dep:tokio"]
deadlock_detection = ["parallel", "dep:parking_lot"]


[dependencies]
# Core dependencies
log = "0.4"
libc = "0.2"
fuser = "0.16"
bitflags = "2.10"

# Parallel dependencies
threadpool = { version = "1.8", optional = true }
# Parking lot is only used for deadlock_detection if feature set
parking_lot = { version = "0.12", features = ["deadlock_detection"], optional = true }

# Async dependencies
# easy_fuser_async_macro = { path = "./easy_fuser_async_macro", optional = true }
tokio = { version = "1.48", features = ["full"], optional = true }
async-trait = { version = "0.1.89", optional = true }

[dev-dependencies]
tempfile = "3.23"
env_logger = "0.11"

[package.metadata.docs.rs]
features = ["parallel"]
