[package]
name = "shared-files"
version = "0.3.0"
description = "Single writer, multiple reader in-process file sharing"
documentation = "https://docs.rs/shared-files"
repository = "https://github.com/sunsided/shared-files-rs"
license = "EUPL-1.2"
categories = ["filesystem"]
keywords = ["file-access", "async"]
readme = "README.md"
authors = ["Markus Mayer"]
edition = "2024"
rust-version = "1.95.0"
[features]
default = ["async-tempfile"]
async-tempfile = ["dep:async-tempfile"]
[[test]]
name = "parallel_write_read"
path = "tests/parallel_write_read.rs"
required-features = ["async-tempfile"]
[[test]]
name = "nodelay"
path = "tests/nodelay.rs"
required-features = ["async-tempfile"]
[[test]]
name = "read_exact"
path = "tests/read_exact.rs"
required-features = ["async-tempfile"]
[[test]]
name = "read_exact_partial"
path = "tests/read_exact_partial.rs"
required-features = ["async-tempfile"]
[[test]]
name = "shutdown_wakes_readers"
path = "tests/shutdown_wakes_readers.rs"
required-features = ["async-tempfile"]
[dependencies]
async-tempfile = { version = "0.7.0", optional = true, features = ["uuid"] }
async-trait = "0.1.89"
crossbeam = "0.8.4"
pin-project = "1.1.10"
tokio = { version = "1.38.2", features = ["fs"] }
uuid = { version = "1.20.0", features = ["rng", "v1"] }
[dev-dependencies]
rand = "0.9.4"
tokio = { version = "1.38.2", features = ["rt", "macros", "rt-multi-thread", "io-util", "time"] }
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]