shared-files 0.4.0

Single writer, multiple reader in-process file sharing
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.95.0"
name = "shared-files"
version = "0.4.0"
authors = ["Markus Mayer"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Single writer, multiple reader in-process file sharing"
documentation = "https://docs.rs/shared-files"
readme = "README.md"
keywords = [
    "file-access",
    "async",
]
categories = ["filesystem"]
license = "EUPL-1.2"
repository = "https://github.com/sunsided/shared-files-rs"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[features]
async-tempfile = ["dep:async-tempfile"]
default = ["async-tempfile"]

[lib]
name = "shared_files"
path = "src/lib.rs"

[[test]]
name = "nodelay"
path = "tests/nodelay.rs"
required-features = ["async-tempfile"]

[[test]]
name = "parallel_write_read"
path = "tests/parallel_write_read.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.8.0"
features = ["uuid"]
optional = true

[dependencies.async-trait]
version = "0.1.89"

[dependencies.crossbeam]
version = "0.8.4"

[dependencies.pin-project]
version = "1.1.13"

[dependencies.tokio]
version = "1.52.3"
features = ["fs"]

[dependencies.uuid]
version = "1.23.2"
features = [
    "rng",
    "v1",
]

[dev-dependencies.rand]
version = "0.10.1"

[dev-dependencies.tokio]
version = "1.52.3"
features = [
    "rt",
    "macros",
    "rt-multi-thread",
    "io-util",
    "time",
]