[package] name = "fmmap" version = "0.3.3" edition = "2021" repository = "https://github.com/al8n/fmmap/tree/main/fmmap-rs" description = "A flexible and convenient high-level mmap for zero-copy file I/O." license = "MIT OR Apache-2.0" authors = ["Al Liu "] documentation = "https://docs.rs/fmmap" keywords = ["file", "memmapix", "mmap", "memory-map", "io"] categories = ["filesystem", "external-ffi-bindings", "asynchronous"] rust-version = "1.60.0" [lib] doctest = true [features] default = ["sync"] nightly = [] sync = ["dep:fs4", "fs4?/sync"] tokio-async = ["dep:fs4", "fs4?/tokio-async", "async-trait", "dep:async-trait", "dep:pin-project-lite", "tokio", "dep:tokio", "tokio?/io-std", "tokio?/io-util", "tokio?/fs"] smol-async = ["dep:fs4", "fs4?/smol-async", "async-trait", "dep:async-trait", "dep:pin-project-lite", "dep:smol"] std-async = ["dep:fs4", "fs4?/std-async", "async-trait", "dep:async-trait", "dep:pin-project-lite", "async-std", "dep:async-std", "async-std?/async-io", "async-std?/futures-lite", "dep:futures-util", "futures-util?/io"] # TODO: these features is for backward compatibility, but they were not explicitly declared before! # this crate's code usies them in varios `cfg!` checks, but they should probably be fixed tokio = ["dep:tokio"] async-std = ["dep:async-std"] async-trait = ["dep:async-trait"] [dependencies] async-std = { version = "1.12", optional = true } async-trait = { version = "0.1", optional = true } bytes = "1.5" byteorder = "1.4" enum_dispatch = "0.3" fs4 = { version = "0.6", optional = true } futures-util = { version = "0.3", optional = true } memmapix = "0.7" pin-project-lite = { version = "0.2", optional = true } parse-display = "0.8" smol = { version = "1.3", optional = true } tokio = { version = "1.32", optional = true } [dev-dependencies] async-std = { version = "1.12", features = ["attributes"] } ctor = "0.2" criterion = "0.5" rand = "0.8" smol-potat = "1.1" scopeguard = "1.2" tempdir = "0.3" tokio = { version = "1.31", features = ["full"] } tokio-test = "0.4" [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"]