[package]
edition = "2021"
rust-version = "1.77"
name = "rfuse3"
version = "0.0.7"
authors = ["rk8s-dev team"]
build = false
exclude = ["BUCK"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "FUSE user-space library async version implementation."
readme = "README.md"
keywords = [
"fuse",
"filesystem",
"system",
"bindings",
]
categories = [
"api-bindings",
"filesystem",
]
license = "MIT"
repository = "https://github.com/r2cn-dev/rk8s/tree/main/project/rfuse3"
[package.metadata.docs.rs]
rustdoc-args = [
"--cfg",
"docsrs",
]
features = [
"file-lock",
"unprivileged",
"tokio-runtime",
]
targets = [
"i686-unknown-freebsd",
"i686-unknown-linux-gnu",
"x86_64-unknown-freebsd",
"x86_64-unknown-linux-gnu",
]
[features]
async-io-runtime = [
"dep:async-fs",
"dep:async-global-executor",
"dep:async-lock",
"dep:async-io",
"dep:async-process",
"futures-util/io",
]
buffer-pool = []
default = [
"tokio-runtime",
"unprivileged",
]
file-lock = []
tokio-runtime = ["dep:tokio"]
unprivileged = [
"nix/socket",
"dep:which",
]
[lib]
name = "rfuse3"
path = "src/lib.rs"
[[example]]
name = "benchmark_filesystem"
path = "examples/benchmark_filesystem.rs"
[[example]]
name = "minimal_filesystem_example"
path = "examples/minimal_filesystem_example.rs"
[dependencies.aligned_box]
version = "0.3.0"
[dependencies.async-fs]
version = "2.1.1"
optional = true
[dependencies.async-global-executor]
version = "2.4.1"
optional = true
[dependencies.async-io]
version = "2.3.1"
optional = true
[dependencies.async-lock]
version = "3.3.0"
optional = true
[dependencies.async-notify]
version = "0.3.0"
[dependencies.async-process]
version = "2.1.0"
optional = true
[dependencies.async-trait]
version = "0.1.89"
[dependencies.bincode]
version = "1.3.3"
[dependencies.bytes]
version = "1.10.1"
[dependencies.dashmap]
version = "6.1.0"
[dependencies.futures-channel]
version = "0.3.31"
features = ["sink"]
[dependencies.futures-util]
version = "0.3.31"
features = ["sink"]
[dependencies.libc]
version = "0.2.175"
[dependencies.nix]
version = "0.29.0"
features = [
"signal",
"user",
"fs",
"socket",
"sched",
"mount",
"mman",
"resource",
"dir",
"term",
"hostname",
"process",
]
[dependencies.serde]
version = "1.0.228"
features = [
"derive",
"derive",
]
[dependencies.slab]
version = "0.4.9"
[dependencies.tokio]
version = "1.48.0"
features = [
"full",
"full",
]
optional = true
[dependencies.tracing]
version = "0.1.41"
features = ["attributes"]
[dependencies.trait-make]
version = "0.1.0"
[dependencies.which]
version = "4.4.2"
optional = true
[dev-dependencies.clap]
version = "4.5.49"
features = [
"derive",
"derive",
]
[dev-dependencies.tracing-subscriber]
version = "0.3.20"